all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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).



  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.