[Top][All Lists]

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

Propertizing the minor-mode-alist

From: James Clark
Subject: Propertizing the minor-mode-alist
Date: Thu, 16 Sep 2004 18:57:46 +0700

In the current CVS emacs, the default mode-line-format propertizes
minor-mode-alist like this:

     `(:propertize ("" minor-mode-alist)
                   help-echo "mouse-2: help for minor modes, mouse-3: minor 
mode menu"
                   local-map ,mode-line-minor-mode-keymap)

This causes a problem in nxml-mode.  One of the features of nxml-mode is
that it optionally does continuous background validation. The part of
nxml-mode that does this is implemented as minor-mode and it displays
the current validation status by adding an element using :eval to
minor-mode-alist.  When the status is invalid, it returns a propertized
string with local-map and help-echo properties, which allows the user to
click on the word Invalid in the mode-line and go to the first error
detected in the document.  This worked fine in 21.3 but no longer works
in the CVS version presumably because the properties nxml-mode that adds
are overridden by the :propertize in minor-mode-alist.

Perhaps there could be a new keyword :propertize-default that changes
the text properties of only those characters in the string that do not
already have a value for any of the specified properties. Or maybe this
should be the behavior of :propertize.   If you tell me how you would
like to fix this, I will be happy to have a go at implementing it.

To send me mail, replace auth-only by public in the from address. 

reply via email to

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