all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Phil Sainty <psainty@orcon.net.nz>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 2034@debbugs.gnu.org,
	bug-gnu-emacs
	<bug-gnu-emacs-bounces+psainty=orcon.net.nz@gnu.org>
Subject: bug#2034: [PATCH] 27.0.50; Support mode line constructs for `mode-name' in c-mode
Date: Tue, 03 Jul 2018 10:53:30 +1200	[thread overview]
Message-ID: <870f8e5df67e29f9070abd858a98a037@webmail.orcon.net.nz> (raw)
In-Reply-To: <83sh51k65l.fsf@gnu.org>

On 2018-07-03 03:29, Eli Zaretskii wrote:
> I've just skimmed the patch, so apologies in advance if what I'm
> saying makes no sense.  That said, did you try to compare the old and
> the new code when the flag strings have text properties, like faces or
> colors?  The mode-line formatting code is tricky when text properties
> are involved.

I haven't, but I don't *think* that's going to be a concern here.

The code which formats the string of flags hasn't changed, and the
substrings (individual flags) which are passed to `format' are string
literals with no properties, so AFAICS the formatted string of flags
will not have any text properties when it is generated (which happens
afresh each time `c-update-modeline' is called).

If I'm missing something here, I think I'll need some guidance on
how to test for potential problems.


> Please always provide a :version tag for new/modified defcustoms.

Right, I knew I'd missed something there.


> Finally, I think this needs a NEWS entry, if not a suitable change to
> the manual.

Agreed.


My current approach may need more work.  At present it still assumes 
that
`mode-name' will *start out* as a string, and it tests `stringp' to 
decide
whether to wrap the additional constructs around it.

That is still an improvement on the pre-existing situation which throws
errors, but does mean that if a mode was itself defined to set a 
non-string
`mode-name' then the new code would not add the minor mode flags at all;
so it might be desirable to support that case as well.

To do this I think I'd need an additional buffer-local variable to 
indicate
(in place of that `stringp' test) whether or not `mode-name' had been
processed by `c-update-modeline', as otherwise it seems like it would be
awkward to decide whether or not to add the new constructs.

Although as I have added the buffer-local `c-modeline-flags', I guess I
can make that nil by default, and use that state as the indicator I 
need.

I'll write a revised patch to address these points.


-Phil






  reply	other threads:[~2018-07-02 22:53 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <8cbpgkqwkt.fsf@fencepost.gnu.org>
2009-01-25  2:10 ` bug#2034: 23.0.60; c-subword-mode incompatible with xml-mode me
2009-01-25 15:44   ` Stefan Monnier
2009-01-25 18:48     ` Ross Patterson
2010-01-23 22:36   ` bug#2034: marked as done (23.0.60; c-subword-mode incompatible with xml-mode) Emacs bug Tracking System
2018-07-02 12:40   ` bug#2034: [PATCH] 27.0.50; Support mode line constructs for `mode-name' in c-mode Phil Sainty
2018-07-02 15:29     ` Eli Zaretskii
2018-07-02 22:53       ` Phil Sainty [this message]
2018-07-03 13:37         ` Phil Sainty
2018-07-04  2:41         ` Eli Zaretskii
     [not found]   ` <mailman.3006.1530625089.1292.bug-gnu-emacs@gnu.org>
2018-07-04 20:11     ` Alan Mackenzie
2018-07-04 21:13       ` Phil Sainty
2018-07-08  2:46         ` Phil Sainty
2018-07-08 20:08         ` Alan Mackenzie
2018-07-09 14:47           ` Phil Sainty

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=870f8e5df67e29f9070abd858a98a037@webmail.orcon.net.nz \
    --to=psainty@orcon.net.nz \
    --cc=2034@debbugs.gnu.org \
    --cc=bug-gnu-emacs-bounces+psainty=orcon.net.nz@gnu.org \
    --cc=eliz@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.