]> git.eshelyaron.com Git - emacs.git/commitdiff
mention :ignore-defface
authorChong Yidong <cyd@stupidchicken.com>
Fri, 18 Nov 2005 02:51:12 +0000 (02:51 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Fri, 18 Nov 2005 02:51:12 +0000 (02:51 +0000)
etc/NEWS
lispref/ChangeLog
lispref/display.texi

index 290777ca7a874b21bd09b7b09b6d7a99192e0e60..d19051d800234dee1d30942882c750fea4b885eb 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -4935,6 +4935,11 @@ was inconsistent with the face behavior under X.
 *** `set-fontset-font', `fontset-info', `fontset-font' now operate on
 the default fontset if the argument NAME is nil..
 
++++
+*** In `set-face-attribute', you can assign any attribute the value
+`:ignore-defface'.  This forces the attribute value to be acquired
+from some other face during face merging.
+
 ** Font-Lock changes:
 
 +++
index d8014b276131fcbeeac4dfa203f7c0f93997b066..3e07a51a007ea1102edcdc68b3d49329608de71f 100644 (file)
@@ -1,3 +1,7 @@
+2005-11-17  Chong Yidong  <cyd@stupidchicken.com>
+
+       * display.texi (Attribute Functions): Mention :ignore-defface.
+
 2005-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * modes.texi (Minor Mode Conventions): Use custom-set-minor-mode.
index 75a64924516b4db0612e91d803cbecec95cc16fa..00d9313aa244b6fa83d5b091e2be6074972b79ed 100644 (file)
@@ -1859,6 +1859,11 @@ the first face fails to specify a particular attribute, that means the
 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 @@ This function sets one or more attributes of face @var{face}
 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.