[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