From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/53719 Path: main.gmane.org!not-for-mail From: Alex Schroeder Newsgroups: gmane.emacs.gnus.general Subject: Re: defface/defcustom question Date: Fri, 15 Aug 2003 14:07:17 +0200 Sender: ding-owner@lists.math.uh.edu Message-ID: <87he4jt98q.fsf@emacswiki.org> References: <84fzkb88a4.fsf@slowfox.is.informatik.uni-duisburg.de> <84llu3ht35.fsf@slowfox.is.informatik.uni-duisburg.de> <847k5l2qym.fsf@slowfox.is.informatik.uni-duisburg.de> <84y8xwylvj.fsf@slowfox.is.informatik.uni-duisburg.de> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: sea.gmane.org 1060949454 32743 80.91.224.253 (15 Aug 2003 12:10:54 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 15 Aug 2003 12:10:54 +0000 (UTC) Original-X-From: ding-owner+M2263@lists.math.uh.edu Fri Aug 15 14:10:52 2003 Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19ndPw-0001yn-00 for ; Fri, 15 Aug 2003 14:10:52 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 19ndMh-0000fj-00; Fri, 15 Aug 2003 07:07:31 -0500 Original-Received: from sclp3.sclp.com ([64.157.176.121]) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 19ndMX-0000fb-00 for ding@lists.math.uh.edu; Fri, 15 Aug 2003 07:07:21 -0500 Original-Received: (qmail 45828 invoked by alias); 15 Aug 2003 12:07:20 -0000 Original-Received: (qmail 45823 invoked from network); 15 Aug 2003 12:07:20 -0000 Original-Received: from quimby.gnus.org (80.91.224.244) by sclp3.sclp.com with SMTP; 15 Aug 2003 12:07:20 -0000 Original-Received: from news by quimby.gnus.org with local (Exim 3.12 #1 (Debian)) id 19ndNT-0005DC-00 for ; Fri, 15 Aug 2003 14:08:19 +0200 Original-To: ding@gnus.org Original-Path: not-for-mail Original-Newsgroups: gnus.ding Original-Lines: 46 Original-NNTP-Posting-Host: dclient80-218-249-156.hispeed.ch Original-X-Trace: quimby.gnus.org 1060949299 19385 80.218.249.156 (15 Aug 2003 12:08:19 GMT) Original-X-Complaints-To: usenet@quimby.gnus.org Original-NNTP-Posting-Date: 15 Aug 2003 12:08:19 GMT Mail-Followup-To: ding@gnus.org Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACkElEQVR42s1a0bLsIAgzjv// y7kPd9pVKxKVdk6fzux2C4EAwR6QZBpcQEopIf3Fq3a52Lfh0Mjjk99zcWYBwA2ihEen9jVxfAf/ u0+Y2HQwNoVw4Dx34trRV6NSjiLPmfPt77jwiBxB/3PnZ3B2AGxzHnGu0wcBwAIAyQwZGvQhiFcy YLOFQcSB/MS82n3ec37vykNqRFTX9rVWR2U5+pZNIggll0CUOQN9BDdm1LfBmcZxIEqjL6r2JU/D galaB7Zg4jlY2ulnIx9OR4iMRl38CAFyKaA8jAxE7lNn650VKMULZ/54crqn0YQCJGQliebXkFIK hwqmGm28cgsSjz/hzRCMneQEwMjVoH3gWTtMPgIslJUV5uIluvUEkyzU+gUGQO62e9NuSdZCzNOM fDPC87iCqfE9gHinsIrSL16TPBfrYIeHzqKU90a50jCh54EcrgAUFo5ibzvebgr/I66USQ0CspQp IVSoBQK3WswDDIndIraHxoglqOjM1d044PQvu1NY0EHtqQR/XwJ+PeCs0x2dSlApZVw4MPER23PD 7JekoHxrqTRod/2Gx5nhx5dfAJhqPt7tDMIZxNN/7lOIaparPn7ZQ88drlORC2eLWXowxIq4gHTh VN1BSmsHoxYAbPWDTuGQuuecS+aYQUYpfr0YqPQOuuUk5tApK077+2xfOYP+XyWEIwPcE49lvT9N y2+wU2KylGGp4yxlALcm6fSlmgk62yfSsfNunDl5d6W91MBUoZw679YAJoMMkhijuXdFOL+khaL2 s+g3zy4APQuQvSc/BNAYnkl6E8ivYtEHJXa1dihE3zgnKMdNgN8DiIwgA17NykUMvFDQ+LALvXXI BuBLAHv/DvBmc/0HzR03PqXmLcQAAAAASUVORK5CYII= User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux) Cancel-Lock: sha1:q+lOp+hnifWZ2ZhHnqW8kMHK7PY= Precedence: bulk Xref: main.gmane.org gmane.emacs.gnus.general:53719 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:53719 kai.grossjohann@gmx.net (Kai Großjohann) writes: > Ah, I see. An extra level of indirection can be good, I see now. Well, it often feels like overengineering to me. People really understand face customization. Consider how I customize the look of things. I look at the buffer and notice an ugly piece of text. I try to discover the face used at that point. And then I customize it. Straightforward. Now, how would I find out about the variable used for the indirection we have? I believe I would have to read the source for that. Therefore I think that indirection via variables used to be a way to keep the number of faces small. Emacs Example: apropos-label-face's value is italic. In order to avoid creating a new apropos-label-face, the author decided to reuse an existing face. The same is true for dired. dired-font-lock-keywords contains lots of references to plain font-lock faces such as font-lock-type-face, font-lock-constant-face, etc. The alternative is to create many new faces for each "item". This is why XEmacs has lots of dired faces. So only one small unexplained item remains. Why are there also variables called font-lock-type-face and similar? I think they are useless. The reason is this: You cannot use M-x customize-option to change its value. You can use M-x customize-face to customize font-lock faces. Therefore, having a variable font-lock-type-face pointing to the face font-lock-type-face must be something old -- kept for backwards compatibility. For users, there should be only one thing to change. And based on how font-lock-type-face works, I suggest we allow users to customize faces, not set variables. This is also how I personally customize Emacs, as I said at the beginning. If at all, I therefore propose to remove the indirections via variables. Alex. -- http://www.emacswiki.org/alex/ There is no substitute for experience.