Mercurial > emacs
diff lispref/display.texi @ 66979:05e8ff7121b4
mention :ignore-defface
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Fri, 18 Nov 2005 02:51:12 +0000 |
parents | 8ad92df59512 |
children | 1afb65446eaf |
line wrap: on
line diff
--- a/lispref/display.texi Fri Nov 18 02:48:58 2005 +0000 +++ b/lispref/display.texi Fri Nov 18 02:51:12 2005 +0000 @@ -1859,6 +1859,11 @@ next face gets a chance. However, the @code{default} face must specify all attributes. + Any attribute can have the value @code{:ignore-defface}. The effect +of this is identical to @code{unspecified}. It exists because of an +technical ambiguity in giving attributes the value @code{unspecified}. +@xref{Attribute Functions}. + Some of these font attributes are meaningful only on certain kinds of displays---if your display cannot handle a certain attribute, the attribute is ignored. (The attributes @code{:family}, @code{:width}, @@ -2051,6 +2056,14 @@ for frame @var{frame}. If @var{frame} is @code{nil}, it sets the attribute for all frames, and the defaults for new frames. +Unless you know what you're doing, don't set an attribute to +@code{unspecified}. This is ambiguous---it is unclear whether it +means to unspecify the value stored in the frame-local copies of the +face (which means reverting to the original face spec), or the value +in the face spec itself. What you probably want is to set the +attribute to @code{:ignore-defface}. This forces the attribute value +to be acquired from some other face during face merging. + The extra arguments @var{arguments} specify the attributes to set, and the values for them. They should consist of alternating attribute names (such as @code{:family} or @code{:underline}) and corresponding values.