From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chong Yidong Newsgroups: gmane.emacs.bugs Subject: bug#11059: 24.0.94; Please add `face-spec-set' to the elisp manual Date: Thu, 12 Apr 2012 23:13:48 +0800 Message-ID: <87ehrt56fn.fsf@gnu.org> References: <871uola5nq.fsf@web.de> <87k41mer74.fsf@gnu.org> <86bomyyzaf.fsf@web.de> <87aa2hwi2s.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1334243705 3776 80.91.229.3 (12 Apr 2012 15:15:05 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 12 Apr 2012 15:15:05 +0000 (UTC) Cc: Michael Heerdegen , 11059@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Apr 12 17:15:04 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SILjj-00072H-Gl for geb-bug-gnu-emacs@m.gmane.org; Thu, 12 Apr 2012 17:15:03 +0200 Original-Received: from localhost ([::1]:43804 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SILji-0005Xe-Py for geb-bug-gnu-emacs@m.gmane.org; Thu, 12 Apr 2012 11:15:02 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:46738) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SILja-0005Mv-SJ for bug-gnu-emacs@gnu.org; Thu, 12 Apr 2012 11:15:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SILjV-0005OP-Dj for bug-gnu-emacs@gnu.org; Thu, 12 Apr 2012 11:14:54 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:57927) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SILjV-0005OH-AL for bug-gnu-emacs@gnu.org; Thu, 12 Apr 2012 11:14:49 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1SILkg-0007dq-11 for bug-gnu-emacs@gnu.org; Thu, 12 Apr 2012 11:16:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Chong Yidong Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 12 Apr 2012 15:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 11059 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 11059-submit@debbugs.gnu.org id=B11059.133424371429294 (code B ref 11059); Thu, 12 Apr 2012 15:16:01 +0000 Original-Received: (at 11059) by debbugs.gnu.org; 12 Apr 2012 15:15:14 +0000 Original-Received: from localhost ([127.0.0.1]:54459 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SILju-0007cQ-3Z for submit@debbugs.gnu.org; Thu, 12 Apr 2012 11:15:14 -0400 Original-Received: from fencepost.gnu.org ([208.118.235.10]:47398) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SILjr-0007cE-AS for 11059@debbugs.gnu.org; Thu, 12 Apr 2012 11:15:12 -0400 Original-Received: from bb121-6-72-188.singnet.com.sg ([121.6.72.188]:43407 helo=ulysses) by fencepost.gnu.org with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1SILid-0006ZE-Ka; Thu, 12 Apr 2012 11:13:56 -0400 In-Reply-To: (Stefan Monnier's message of "Thu, 12 Apr 2012 09:10:18 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.95 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:58886 Archived-At: Stefan Monnier writes: > Indeed, but this has some downsides: Custom may decide to rewrite your > handwritten custom-set-faces. We should document an Elisp way to > configure faces, and I'd recommend a new function `custom-set-face' > which works just like custom-set-faces except it applies to a single > face and will be left alone by Custom. We already have a multitude of Elisp ways to configure faces: set-face-attribute, X resources, various frame parameters, default-frame-alist, face-new-frame-defaults... Throwing yet another function into the current mix is not a pleasing prospect. The issue is that, as you know, at a fundamental Emacs treats faces in terms of face attributes; face *specs* are a higher-level construct recognized only by the Custom system and the related frame creation code. So the equivalent of `setq-default' for faces is `set-face-attribute', which works on attributes not specs. I'd prefer reforming the system by changing the C code to understand and store face specs. Then the equivalent of `setq-default' for faces would be to change an entry in `face-new-frame-defaults'---which would store face specs rather than what vectors of attributes (almost all unspecified) as it currently does. Probably not difficult, but more suitable for Emacs 25 than 24.2.