emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: c-update-modeline format for c-block-comment-flag


From: Andy Moreton
Subject: Re: c-update-modeline format for c-block-comment-flag
Date: Fri, 13 Oct 2017 16:20:48 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (windows-nt)

On Fri 13 Oct 2017, Alan Mackenzie wrote:

> Hello, Andy.
>
> On Fri, Oct 13, 2017 at 11:24:03 +0100, Andy Moreton wrote:
>> Hi,
>
>> The handling of c-block-comment-flag in c-update-modeline is
>> unfortunate:
>
>> (defun c-update-modeline ()
>>   (let ((fmt (format "/%s%s%s%s%s"
>>                   (if c-block-comment-flag "*" "/")
>>                   (if c-electric-flag "l" "")
>>                   (if (and c-electric-flag c-auto-newline)
>>                       "a" "")
>>                   (if c-hungry-delete-key "h" "")
>>                   (if (and
>>                        ;; (cc-)subword might not be loaded.
>>                        (boundp 'c-subword-mode)
>>                        (symbol-value 'c-subword-mode))
>>                          ;; FIXME: subword-mode already comes with its
>>                          ;; own lighter!
>>                       "w"
>>                     "")))
>
>> This fixed "/" in the modeline string forces this submode lighter to be
>> always present, .....
>
> How?  What mechanism do you mean?

The lighter for c-mode changed from "C" to "C//" or "C/*".
The lighter for c++-mode changed from "C++" to "C++//" or "C++/*".

Both of these changes do not allow me to omit the lighter, or to change
it to something else without replacing the implementation of
c-update-modeline.

>> .... and prevents the diminish or delight packages from being able to
>> remove or replace this lighter.
>
> I'm not familiar with either of these packages.  How does the fixed "/"
> prevent these packages from working?

I've not found a way to get them to work with varying strings. 

>> Can this be fixed for emacs-26 ?
>
> What do you mean by "fixed", here?  What do you want to do with this
> portion of the mode line, exactly?

Allow the "//" or "/*" to be omitted entirely, or replaced with a
different string as the lighter for those sub-modes.

    AndyM




reply via email to

[Prev in Thread] Current Thread [Next in Thread]