From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Miles Bader Newsgroups: gmane.emacs.devel Subject: Re: reducing defface redundancy Date: 22 Apr 2002 17:15:01 +0900 Sender: emacs-devel-admin@gnu.org Message-ID: References: <877kn3qczq.fsf@tc-1-100.kawasaki.gol.ne.jp> <871yd9q09b.fsf@tc-1-100.kawasaki.gol.ne.jp> <200204220747.g3M7lo301995@aztec.santafe.edu> Reply-To: Miles Bader NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1019463518 27303 127.0.0.1 (22 Apr 2002 08:18:38 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 22 Apr 2002 08:18:38 +0000 (UTC) Cc: abraham@dina.kvl.dk, emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 16zZ1x-00076G-00 for ; Mon, 22 Apr 2002 10:18:37 +0200 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 16zZ2Z-0006m8-00 for ; Mon, 22 Apr 2002 10:19:16 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 16zZ1a-0007Lb-00; Mon, 22 Apr 2002 04:18:14 -0400 Original-Received: from tyo202.gate.nec.co.jp ([210.143.35.52]) by fencepost.gnu.org with smtp (Exim 3.34 #1 (Debian)) id 16zYzJ-0007Er-00; Mon, 22 Apr 2002 04:15:53 -0400 Original-Received: from mailgate4.nec.co.jp ([10.7.69.195]) by TYO202.gate.nec.co.jp (8.11.6/3.7W01080315) with ESMTP id g3M8FlR04019; Mon, 22 Apr 2002 17:15:47 +0900 (JST) Original-Received: from mailsv4.nec.co.jp (mailgate51.nec.co.jp [10.7.69.190]) by mailgate4.nec.co.jp (8.11.6/3.7W-MAILGATE-NEC) with ESMTP id g3M8FkL11137; Mon, 22 Apr 2002 17:15:46 +0900 (JST) Original-Received: from mcsss2.ucom.lsi.nec.co.jp ([10.30.114.133]) by mailsv4.nec.co.jp (8.11.6/3.7W-MAILSV4-NEC) with ESMTP id g3M8F3r01540; Mon, 22 Apr 2002 17:15:15 +0900 (JST) Original-Received: from mcspd15.ucom.lsi.nec.co.jp (mcspd15 [10.30.114.174]) by mcsss2.ucom.lsi.nec.co.jp (8.10.2+Sun/3.7Wlsi_mx_6.0) with ESMTP id g3M8F2g08383; Mon, 22 Apr 2002 17:15:03 +0900 (JST) Original-Received: by mcspd15.ucom.lsi.nec.co.jp (Postfix, from userid 31295) id E9B793723; Mon, 22 Apr 2002 17:15:01 +0900 (JST) Original-To: rms@gnu.org System-Type: i686-pc-linux-gnu Blat: Foop In-Reply-To: <200204220747.g3M7lo301995@aztec.santafe.edu> Original-Lines: 29 Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.9 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:2998 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:2998 Richard Stallman writes: > Simple face customization is clean now because it affects just one > alternative, and it is easy and well-defined to select just the > alternative that applies. > > With your propose defface change, the attributes actually specified > would not come from a single alternative in a simple way. So the > customization of the active parts of the defface spec would raise > difficult issues. If the user adds a new attribute, where in the > structure does it go? I replied to Per's question about this in some detail, but here's the short version: You can think of the grammar I outlined as merely being a convenient shorthand for the defface user; it's not hard to convert it into exactly the same `simple but redundant' 2-level format that the UI uses now. In fact, this transformation can be done in defface (or rather, in the code the defface macro expands into), before any other part of emacs sees it; this would keep implementation simple. Of course, in order to support the display `capability querying' feature, a new type of test has to be added to the set that the UI and other parts of the face code recognize, but that's an orthogonal issue to the change in the defface grammar (and it's not hard to do either). -Miles -- .Numeric stability is probably not all that important when you're guessing.