From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Wedler, Christoph" Newsgroups: gmane.emacs.devel Subject: RE: [Feature request] face property `raise' Date: Thu, 10 Apr 2003 20:48:28 +0200 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <67B8CED503F3D511BB9F0008C75DAD660548557A@dewdfx17> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Trace: main.gmane.org 1050000887 31398 80.91.224.249 (10 Apr 2003 18:54:47 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 10 Apr 2003 18:54:47 +0000 (UTC) Cc: kai.grossjohann@gmx.net Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Thu Apr 10 20:54:42 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 193hC5-00089m-00 for ; Thu, 10 Apr 2003 20:54:41 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 193hHB-0002ii-00 for ; Thu, 10 Apr 2003 20:59:57 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 193hB2-0004Xf-00 for emacs-devel@quimby.gnus.org; Thu, 10 Apr 2003 14:53:36 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 193h98-00046i-00 for emacs-devel@gnu.org; Thu, 10 Apr 2003 14:51:38 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 193h90-0003v1-00 for emacs-devel@gnu.org; Thu, 10 Apr 2003 14:51:31 -0400 Original-Received: from smtpde02.sap-ag.de ([155.56.68.170]) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 193h6C-0002fA-00; Thu, 10 Apr 2003 14:48:36 -0400 Original-Received: from sap-ag.de (smtpde02) by smtpde02.sap-ag.de (out) with ESMTP id UAA15736; Thu, 10 Apr 2003 20:48:47 +0200 (MESZ) Original-To: "'rms@gnu.org'" X-Mailer: Internet Mail Service (5.5.2656.59) X-SAP: out X-SAP: out Original-cc: emacs-devel@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:13122 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:13122 rms@gnu.org writes: > It sounds like the main reason you would rather use a face > is so that you could specify a symbol and define the symbol's > meaning elsewhere. Currently that can be done for the face > property but not for the display property. > Is that ability to refer to a symbol whose meaning is > defined elsewhere the real issue? Exactly. (And we have this symbol already: the symbol naming a face.) What we like to have in Emacs is: 1. the ability to assign various properties (let's use the simple name for the moment) to text (parts) 2. the ability to define "abstract" properties and assign one ore more of them to text (parts). Each abstract property represents a list of (concrete) properties (with their values). If you read this you might think that the properties which can be assigned directly via 1 and those which can be assigned indirectly via 2 should be basically the same. I would agree. And this is how things work in HTML/CSS. In fact, there is already a property which can be assigned via 1 and 2 in Emacs: 1. the font-size can be assigned via the display property `height' 2. the font-size can be assigned via the font of a face (Emacs new font selection mechanism is already an important step in the right direction: the font is not a useful property, the font-size, font-family, etc are useful properties, a font is just used for the physical representation of a couple of properties.) Some properties might not be useful to assign indirectly => you provide them as display properties only. Some or indeed all properties which are currently just face properties are probably also useful for direct assignment => you could make them display properties, too (e.g., color, etc). In conclusion: Emacs already has abstraction mechanism, it is just called a bit strangely (face) and presented as standing beside the display properties. - Christoph