From: Alan Mackenzie <acm@muc.de>
To: Andy Moreton <andrewjmoreton@gmail.com>
Cc: emacs-devel@gnu.org
Subject: Re: c-update-modeline format for c-block-comment-flag
Date: Fri, 13 Oct 2017 15:36:23 +0000 [thread overview]
Message-ID: <20171013153623.GB3881@ACM> (raw)
In-Reply-To: <vz1o9pb5b1r.fsf@gmail.com>
Hello again, Andy.
On Fri, Oct 13, 2017 at 16:20:48 +0100, Andy Moreton wrote:
> 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++/*".
The lighter for these modes has "always" included a "/" followed by
status letters, where "always" means for at least 15 years. The "*" or
second "/" is a recent innovation to indicate the current default form of
comments.
> 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.
The form of this section of the mode line matches the regexp
"/[/*]l?a?h?w?". Perhaps one of these packages could be enhanced to
handle regexps, if they can't already do so.
> >> .... 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.
How about enhancing one of them to do so?
> >> 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.
With the first of my questions, I was really asking you how you want CC
Mode to be fixed. I think I now understand that you want to replace the
string.
> AndyM
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2017-10-13 15:36 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-13 10:24 c-update-modeline format for c-block-comment-flag Andy Moreton
2017-10-13 12:24 ` Eli Zaretskii
2017-10-13 14:45 ` Alan Mackenzie
2017-10-13 15:20 ` Andy Moreton
2017-10-13 15:36 ` Alan Mackenzie [this message]
2017-10-13 16:25 ` Andy Moreton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171013153623.GB3881@ACM \
--to=acm@muc.de \
--cc=andrewjmoreton@gmail.com \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.