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: [Feature request] face property `raise' Date: Wed, 14 May 2003 16:57:31 -0400 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <20030514205731.GA4567@gnu.org> References: <67B8CED503F3D511BB9F0008C75DAD6605485601@dewdfx17> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1052947185 26580 80.91.224.249 (14 May 2003 21:19:45 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 14 May 2003 21:19:45 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Wed May 14 23:19: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 19G3eQ-0006qK-00 for ; Wed, 14 May 2003 23:19:02 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 19G3ly-0006GX-00 for ; Wed, 14 May 2003 23:26:50 +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 19G3RJ-0007rd-00 for emacs-devel@quimby.gnus.org; Wed, 14 May 2003 17:05:29 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 19G3LU-0005un-00 for emacs-devel@gnu.org; Wed, 14 May 2003 16:59:28 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 19G3KU-0004m9-00 for emacs-devel@gnu.org; Wed, 14 May 2003 16:58:27 -0400 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 19G3Ji-0004Cd-00 for emacs-devel@gnu.org; Wed, 14 May 2003 16:57:38 -0400 Original-Received: from miles by fencepost.gnu.org with local (Exim 4.10) id 19G3Jb-0002KZ-00; Wed, 14 May 2003 16:57:31 -0400 Original-To: "Wedler, Christoph" Content-Disposition: inline In-Reply-To: <67B8CED503F3D511BB9F0008C75DAD6605485601@dewdfx17> User-Agent: Mutt/1.3.28i Blat: Foop Original-cc: "'rms@gnu.org'" Original-cc: ihs_4664@yahoo.com 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:13877 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:13877 On Wed, May 14, 2003 at 07:45:40PM +0200, Wedler, Christoph wrote: > > Your code is not a replacement for category -- category does much more. > > What does it more? > > > I'm not sure why it was suggested to be marked `obsolete' anyway -- > > `category' is a general abstraction mechanism for text properties > > (and overlays), not an ad-hoc display-related property. [...] > > Hmm, half my proposal was about using just one abstraction mechanism for > all properties: faces. (The other half was about not trying to group > properties into direct text/overlay props, display specs, face > attributes, etc...) [note that I didn't read earlier messages in this thread, as it took a while to notice that you had started proprosing sweeping changes to emacs internals; the message to which I first responded is the first one I noticed, so I don't have much sense of the actual implementation you're proposing, merely the effects of it that you were discussing with richard] `category' works with any property at all, so as a user, I can add a category text property called `foo' and then add a property `blargh' to the symbol `foo', and it will be inherited via the category property. It doesn't make much sense to call this a face, since has no connection whatsoever to faces or display, and isn't even anything emacs understands at all, it's purely for user use (perhaps for internal book-keeping). So you're suggesting that I never-the-less use the face property to inherit this? If I swallow my discomfort at using faces for something that's not face-related, where do I add my `blargh' property so that it will be inherited? [For reference, I'm talking about something like the following: (put-text-property BEG END 'category 'foo) (put 'foo 'blargh 'woggawoggawogga) where `blargh' is a random user property] > > Do you have any evidence or reasoning to support this conclusion? It > > sounds like your change would end up checking for many more > > properties... > > Yes. The "if the above answer is b" means that Emacs merges each > display spec individually, i.e., the same as the corresponding direct > properties would be merged with my approach. In other words, the number > of direct text/overlay props, display specs, face attributes, etc which > Emacs would have to check now are not less than the number of direct > properties to check with my approach. The thing is that, if I understand what's going on, you _add_ the possibility of many more direct properties that currently exist. E.g., individual face attributes are now possible direct properties. The result is that while checking for YOUR_NEW_PROPS+OLD_PROPS is surely more expensive than checking _just_ YOUR_NEW_PROPS, it's (1) decidely more expensive (in terms of number-of-checks; I don't know real terms) than just OLD_PROPS, and (2) really only marginally more expensive than just YOUR_NEW_PROPS. Please correct me if I'm misunderstanding what you're proposing. -Miles -- "I distrust a research person who is always obviously busy on a task." --Robert Frosch, VP, GM Research