unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
Cc: Per Abrahamsen <abraham@dina.kvl.dk>, emacs-devel@gnu.org
Subject: Re: Customizing faces with `defcustom'
Date: Sat, 12 Nov 2005 09:09:22 +0100	[thread overview]
Message-ID: <4375A332.6070000@gmx.at> (raw)
In-Reply-To: <E1EArNX-0000ep-IM@fencepost.gnu.org>

 >     Consider, for example, the customization buffer for `matching':
 >
 > [Made by M-x customize-group RET matching RET]
 >
 >     (1) `match' stands out in `custom-face-tag-face', by default scaled by
 > 	 1.2 and bold.
 >
 >     (2) `list-matching-lines-default-context-lines' is highlighted in
 > 	 `custom-variable-tag-face', by default scaled by 1.2 and bold.
 >
 >
 >     Then come the options
 >
 >     (3) `list-matching-lines-face' and
 > 	 `list-matching-lines-buffer-name-face' both in default face.
 >
 > That is a real bug.  These are variables, and their names should be
 > highlighted like all other variable names.
 >
 > I think this is a consequence of the following definition for
 > widget type `face'.
 >
 >     (define-widget 'face 'symbol
 >       "A Lisp face name (with sample)."
 >       :format "%t: (%{sample%}) %v"
 >       :tag "Face"
 >       :value 'default
 >       :sample-face-get 'widget-face-sample-face-get
 >
 > I think that this :sample-face-get definition is affecting the
 > appearance of the variable's name.  The code in the definition of the
 > `face' widget was adapted from the `color' widget.  I tried this
 > example
 >
 >     (defcustom foocolor "black"
 >       "Foo"
 >       :type 'color)
 >
 > and saw the same problem occur.
 >
 > I think it is a bug that the :sample-face-get of the type has an
 > effect on display of the variable name.  I would expect it to affect
 > only where the value is displayed.  But I have never understood the
 > widget code, so I have no idea how this happens.
 >
 > Can anyone figure out how to fix that?
 >


The solution appears deceptively simple:

*** cus-edit.el	Sat Nov  5 20:44:24 2005
--- cus-edit.el	Fri Nov 11 18:32:56 2005
***************
*** 3397,3403 ****

   (define-widget 'face 'symbol
     "A Lisp face name (with sample)."
!   :format "%t: (%{sample%}) %v"
     :tag "Face"
     :value 'default
     :sample-face-get 'widget-face-sample-face-get
--- 3397,3403 ----

   (define-widget 'face 'symbol
     "A Lisp face name (with sample)."
!   :format "%{%t%}: (%{sample%}) %v"
     :tag "Face"
     :value 'default
     :sample-face-get 'widget-face-sample-face-get

*** wid-edit.el	Sat Nov  5 20:44:42 2005
--- wid-edit.el	Fri Nov 11 18:34:24 2005
***************
*** 3575,3581 ****
   ;; Fixme: match
   (define-widget 'color 'editable-field
     "Choose a color name (with sample)."
!   :format "%t: %v (%{sample%})\n"
     :size 10
     :tag "Color"
     :value "black"
--- 3575,3581 ----
   ;; Fixme: match
   (define-widget 'color 'editable-field
     "Choose a color name (with sample)."
!   :format "%{%t%}: %v (%{sample%})\n"
     :size 10
     :tag "Color"
     :value "black"

  reply	other threads:[~2005-11-12  8:09 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-27 10:24 Customizing faces with `defcustom' martin rudalics
2005-08-28 15:11 ` Richard M. Stallman
2005-08-30  5:55   ` martin rudalics
2005-09-01 15:53     ` Richard M. Stallman
2005-11-12  8:09       ` martin rudalics [this message]
2005-11-13 20:54         ` Richard M. Stallman
2005-11-15  7:45           ` martin rudalics
2005-11-16 19:26           ` martin rudalics
2005-11-17 14:07             ` Richard M. Stallman
2005-11-30  2:44           ` Juri Linkov
2005-11-30  7:47             ` martin rudalics
2005-11-30 13:27               ` Per Abrahamsen
2005-11-30 15:33                 ` Juri Linkov
2005-12-23 13:23                 ` martin rudalics
2005-12-24 20:14                   ` Juri Linkov
2005-12-25 16:23                     ` martin rudalics
2005-12-26  2:20                       ` Richard M. Stallman
2005-12-27 19:05                         ` Juri Linkov
2005-12-28 17:01                           ` Richard M. Stallman
2005-12-25 19:07                     ` Richard M. Stallman
2005-12-25 19:07                     ` Richard M. Stallman
2005-12-26 16:37                       ` martin rudalics
2005-12-27  4:55                         ` Richard M. Stallman
2005-12-27 19:04                           ` Juri Linkov
2005-12-28 10:04                             ` martin rudalics
2005-12-28 15:57                               ` Juri Linkov
2005-12-28 22:48                               ` Richard M. Stallman
2005-12-29  9:47                                 ` martin rudalics
2005-12-30  2:18                                   ` Richard M. Stallman
2005-12-28 22:48                               ` Richard M. Stallman
2005-12-29  1:23                                 ` Juri Linkov
2005-12-30  2:17                                   ` Richard M. Stallman
2005-12-30  6:29                                     ` Juri Linkov
2005-12-30 14:15                                       ` martin rudalics
2005-12-31  0:48                                         ` Juri Linkov
2005-12-31 19:36                                           ` Richard M. Stallman
2005-12-30 22:10                                       ` Richard M. Stallman
2005-12-31  0:48                                         ` Juri Linkov
2005-12-31 19:36                                           ` Richard M. Stallman
2006-01-04  6:34                                             ` Juri Linkov
2006-01-05  3:46                                               ` Richard M. Stallman
2006-01-01 16:10                                           ` Richard M. Stallman
2005-12-31 17:40                                       ` Richard M. Stallman
2006-01-04  6:31                                         ` Juri Linkov
2006-01-05  3:46                                           ` Richard M. Stallman
2005-12-29 10:13                                 ` martin rudalics
2005-12-30  2:18                                   ` Richard M. Stallman
2005-12-28 17:01                             ` Richard M. Stallman
2005-12-27 19:04                       ` Juri Linkov
2005-12-28 17:01                         ` Richard M. Stallman
2005-11-30  9:15             ` Per Abrahamsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4375A332.6070000@gmx.at \
    --to=rudalics@gmx.at \
    --cc=abraham@dina.kvl.dk \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).