From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: storm@cua.dk (Kim F. Storm) Newsgroups: gmane.emacs.devel Subject: Re: Bold by moving pixels problem Date: 05 Jun 2003 01:30:53 +0200 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <5xr869o1xu.fsf@kfs2.cua.dk> References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1054763660 21987 80.91.224.249 (4 Jun 2003 21:54:20 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 4 Jun 2003 21:54:20 +0000 (UTC) Cc: Miles Bader Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Wed Jun 04 23:54:16 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 19NgD2-0005hy-00 for ; Wed, 04 Jun 2003 23:54:16 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 19NgUn-0008Pb-00 for ; Thu, 05 Jun 2003 00:12:37 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19NgCM-0008E3-TJ for emacs-devel@quimby.gnus.org; Wed, 04 Jun 2003 17:53:34 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.20) id 19Ng8j-000772-1c for emacs-devel@gnu.org; Wed, 04 Jun 2003 17:49:49 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19Nfy1-0003En-7h for emacs-devel@gnu.org; Wed, 04 Jun 2003 17:38:45 -0400 Original-Received: from mail.filanet.dk ([195.215.206.179]) by monty-python.gnu.org with esmtp (Exim 4.20) id 19NfsG-0000p8-U4; Wed, 04 Jun 2003 17:32:49 -0400 Original-Received: from kfs2.cua.dk.cua.dk (unknown [10.1.82.3]) by mail.filanet.dk (Postfix) with SMTP id B7A9B7C012; Wed, 4 Jun 2003 23:32:39 +0200 (CEST) Original-To: rms@gnu.org In-Reply-To: Original-Lines: 57 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 Original-cc: bob@rattlesnake.com 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:14715 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:14715 Before we accept Miles' patch, I would like to remind you that we talked about a much better aproach the last time the issue was raised (it probably has the same problems with signal handlers and GC): > Date: 19 Dec 2002 21:25:49 +0900 > From: Miles Bader > > A while back I toyed with the idea of using face-vectors as `anonymous' > faces, since it's often a pain to have to name a face. > > On reason I didn't really do anything was that I figured there are > probably places, in the redisplay code especially, which wouldn't work > well without a named face (though at the time I wanted to make > anonymous faces to inherit from, which should work fine). > > However, in many places, it's trival -- in particular > `internal-get-lisp-face-attribute' and `internal-set-lisp-face-attribute', > since they use vectors internally and just translate the face-symbol into a > vector at their start (the latter function would require a bit more tweaking, > but as far as I could see, it's still fair to call it `trivial'). > > Now if those two functions were changed to allow `anonymous' faces (face > vectors), then such functions as `face-attribute', `set-face-attribute', > `make-face-bold', etc., would all start working on face-vectors too! > > That way, functions in realize-face-filter-functions could still accept face- > vectors, avoiding the plist translation step, but also use the same familiar > face functions that users already know about; this seems like a huge win to > me... > > [p.s. I'd still like to also allow anonymous faces in more places, but that's > a separate issue] > Richard Stallman writes: > This patch makes it possible to GC inside a lot of places > that formerly could not. A list of them is below. > I would expect that some of them don't GCPRO what they need to, > but I have not checked them for that. > > It also looks like eval can in principle be called from a signal > handler. We could solve that problem if we move all X event > processing outside of the signal handler, as someone suggested. That > would mean that mouse highlighting doesn't update if you move the > mouse while a command is running, and the Emacs frame would not > rewrite itself if you move another window across it while a command is > running. I think that would be a very noticeable step backwards. > -- Kim F. Storm http://www.cua.dk