From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Face realization (was: face-remapping patch) Date: Wed, 28 May 2008 15:25:02 -0400 Message-ID: References: <5CB5F5E5-9239-40A8-A3B2-5F49B94E27B7@gmail.com> <48ED0934-F46B-48C2-B664-E633554FF34A@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1212002733 6509 80.91.229.12 (28 May 2008 19:25:33 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 28 May 2008 19:25:33 +0000 (UTC) Cc: Emacs-Devel , Miles Bader To: David Reitter Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed May 28 21:26:01 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1K1RHa-0008Dy-Hg for ged-emacs-devel@m.gmane.org; Wed, 28 May 2008 21:25:58 +0200 Original-Received: from localhost ([127.0.0.1]:38269 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K1RGp-000770-1a for ged-emacs-devel@m.gmane.org; Wed, 28 May 2008 15:25:11 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1K1RGk-00076v-Rp for emacs-devel@gnu.org; Wed, 28 May 2008 15:25:06 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1K1RGi-00076c-5n for emacs-devel@gnu.org; Wed, 28 May 2008 15:25:06 -0400 Original-Received: from [199.232.76.173] (port=35599 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K1RGi-00076Z-2j for emacs-devel@gnu.org; Wed, 28 May 2008 15:25:04 -0400 Original-Received: from vpn-132-204-232-80.acd.umontreal.ca ([132.204.232.80]:33919 helo=ceviche.home) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1K1RGh-0007Bo-PJ for emacs-devel@gnu.org; Wed, 28 May 2008 15:25:03 -0400 Original-Received: by ceviche.home (Postfix, from userid 20848) id D3322B41E2; Wed, 28 May 2008 15:25:02 -0400 (EDT) In-Reply-To: <48ED0934-F46B-48C2-B664-E633554FF34A@gmail.com> (David Reitter's message of "Wed, 28 May 2008 10:33:18 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 3) X-Greylist: delayed 5074 seconds by postgrey-1.27 at monty-python; Wed, 28 May 2008 15:25:03 EDT X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:97926 Archived-At: > My experience with this infrastructure, using `color-themes' and > plenty of frames, has been less than stellar. When switching color > themes, more and more faces get defined during the session. This slows > the creation of frames down to the point where it takes 2+ seconds to > create one. I had to install a patch in my own version to keep it > from making frame-specific copies of all global faces for each > new frame. This is a separate problem (at least, given the current code). It would be good to try and realize faces lazily as they get encountered rather than realize them all everytime we create a new frame. Also, as you point out, there's a gross inefficiency in that most faces are really terminal-local rather than frame-local (after all, the defface spec does not allow per-frame customizations), so we should share the resulting realized faces. If you have a patch for it, maybe you should post it here, Stefan