From mboxrd@z Thu Jan 1 00:00:00 1970 Path: quimby.gnus.org!not-for-mail From: "Stefan Monnier" Newsgroups: gmane.emacs.devel Subject: Re: mode-line-inactive and face inheritance Date: Tue, 19 Feb 2002 17:53:27 -0500 Message-ID: <200202192253.g1JMrRt18194@rum.cs.yale.edu> References: <9003-Sat16Feb2002095527+0200-eliz@is.elta.co.il> <200202181524.g1IFOe210109@rum.cs.yale.edu> <200202192130.g1JLU5s13034@aztec.santafe.edu> NNTP-Posting-Host: quimby2.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: quimby2.netfonds.no 1014159279 10926 195.204.10.66 (19 Feb 2002 22:54:39 GMT) X-Complaints-To: usenet@quimby2.netfonds.no NNTP-Posting-Date: 19 Feb 2002 22:54:39 GMT Cc: monnier+gnu/emacs@RUM.cs.yale.edu, eliz@is.elta.co.il, emacs-devel@gnu.org Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby2.netfonds.no with esmtp (Exim 3.12 #1 (Debian)) id 16dJ9i-0002q8-00 for ; Tue, 19 Feb 2002 23:54:38 +0100 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.33 #1 (Debian)) id 16dJ9N-0003x4-00; Tue, 19 Feb 2002 17:54:17 -0500 Original-Received: from rum.cs.yale.edu ([128.36.229.169]) by fencepost.gnu.org with esmtp (Exim 3.33 #1 (Debian)) id 16dJ8a-0003u5-00; Tue, 19 Feb 2002 17:53:28 -0500 Original-Received: (from monnier@localhost) by rum.cs.yale.edu (8.11.6/8.11.6) id g1JMrRt18194; Tue, 19 Feb 2002 17:53:27 -0500 X-Mailer: exmh version 2.4 06/23/2000 with nmh-1.0.4 Original-To: Richard Stallman Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.5 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: quimby.gnus.org gmane.emacs.devel:1350 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:1350 > More specifically, it adds an `all' entry which (just like `t') > always matches but doesn't prevent subsequent specs from being > considered. > That seems useful. `common' might be clearer than `all'. Actually, I think we can just reuse t instead of `all' or `common'. Currently t can only be meaningfully used for the last entry, so we can simply extend its meaning a little bit in a backward compatible way. > Also it allows nesting of display-specific specs > so you can extract the common part of the `light' and `'dark' > settings for `color' displays. > > That seems too complex; I think I would not want to document this > even if it worked. I'm ambivalent about it. I think it could also make things simpler. Currently defface accepts a SPEC of the form: SPEC ::= (CONDSPEC CONDSPEC ...) CONDSPEC ::= (COND PROPS) | (COND PROP PROP ...) Where (COND PROPS) is an obsolete form kept for backward compatibility only. The code I posted changes it to SPEC ::= (CONDSPEC CONDSPEC ...) CONDSPEC ::= (COND PROPS) | (COND PROP PROP ...) | (COND CONDSPEC CONDSPEC ...) But an alternative way to get a similar result would be to use SPEC ::= (CONDSPEC CONDSPEC ...) | (PROP PROP ...) CONDSPEC ::= (COND PROPS) | (COND . SPEC) which has the advantage that a simple defface that has no conditional part could now be written as (defface font-lock-doc-face '(:inherit font-lock-string-face) "Font Lock mode face used to highlight documentation." :group 'font-lock-highlighting-faces) instead of (defface font-lock-doc-face '((t :inherit font-lock-string-face)) "Font Lock mode face used to highlight documentation." :group 'font-lock-highlighting-faces) -- Stefan _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://mail.gnu.org/mailman/listinfo/emacs-devel