From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: James Clark Newsgroups: gmane.emacs.devel Subject: Propertizing the minor-mode-alist Date: Thu, 16 Sep 2004 18:57:46 +0700 Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Message-ID: <1095335866.7357.83.camel@pineapple.bkk.thaiopensource.com> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1095336302 5342 80.91.229.6 (16 Sep 2004 12:05:02 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 16 Sep 2004 12:05:02 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Sep 16 14:04:49 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1C7v0L-0005hX-00 for ; Thu, 16 Sep 2004 14:04:49 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1C7v1w-0001Oc-RK for ged-emacs-devel@m.gmane.org; Thu, 16 Sep 2004 08:06:28 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1C7uzZ-0000o4-R6 for emacs-devel@gnu.org; Thu, 16 Sep 2004 08:04:01 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1C7uzX-0000nc-PY for emacs-devel@gnu.org; Thu, 16 Sep 2004 08:04:01 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1C7uzV-0000nX-AW for emacs-devel@gnu.org; Thu, 16 Sep 2004 08:03:59 -0400 Original-Received: from [161.58.244.53] (helo=thaiopensource.com) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1C7utg-0003th-26 for emacs-devel@gnu.org; Thu, 16 Sep 2004 07:57:56 -0400 Original-Received: from dmz-1.bkk.thaiopensource.com ([203.130.150.188]) by thaiopensource.com (8.12.11/8.11.2) with ESMTP id i8GBvo5p005979 for ; Thu, 16 Sep 2004 18:57:51 +0700 (ICT) Original-Received: from [192.168.0.100] (home-gw.bkk.thaiopensource.com [203.130.150.187]) by dmz-1.bkk.thaiopensource.com (Postfix) with ESMTP id E48CAFA03 for ; Thu, 16 Sep 2004 18:57:41 +0700 (ICT) Original-To: "emacs-devel@gnu.org" X-Mailer: Ximian Evolution 1.4.6 (1.4.6-2.1thaiopen) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:27159 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:27159 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. James -- To send me mail, replace auth-only by public in the from address.