comparison 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
comparison
equal deleted inserted replaced
66978:40cc5f0fb379 66979:05e8ff7121b4
1857 means the face doesn't specify that attribute. In face merging, when 1857 means the face doesn't specify that attribute. In face merging, when
1858 the first face fails to specify a particular attribute, that means the 1858 the first face fails to specify a particular attribute, that means the
1859 next face gets a chance. However, the @code{default} face must 1859 next face gets a chance. However, the @code{default} face must
1860 specify all attributes. 1860 specify all attributes.
1861 1861
1862 Any attribute can have the value @code{:ignore-defface}. The effect
1863 of this is identical to @code{unspecified}. It exists because of an
1864 technical ambiguity in giving attributes the value @code{unspecified}.
1865 @xref{Attribute Functions}.
1866
1862 Some of these font attributes are meaningful only on certain kinds of 1867 Some of these font attributes are meaningful only on certain kinds of
1863 displays---if your display cannot handle a certain attribute, the 1868 displays---if your display cannot handle a certain attribute, the
1864 attribute is ignored. (The attributes @code{:family}, @code{:width}, 1869 attribute is ignored. (The attributes @code{:family}, @code{:width},
1865 @code{:height}, @code{:weight}, and @code{:slant} correspond to parts of 1870 @code{:height}, @code{:weight}, and @code{:slant} correspond to parts of
1866 an X Logical Font Descriptor.) 1871 an X Logical Font Descriptor.)
2048 @tindex set-face-attribute 2053 @tindex set-face-attribute
2049 @defun set-face-attribute face frame &rest arguments 2054 @defun set-face-attribute face frame &rest arguments
2050 This function sets one or more attributes of face @var{face} 2055 This function sets one or more attributes of face @var{face}
2051 for frame @var{frame}. If @var{frame} is @code{nil}, it sets 2056 for frame @var{frame}. If @var{frame} is @code{nil}, it sets
2052 the attribute for all frames, and the defaults for new frames. 2057 the attribute for all frames, and the defaults for new frames.
2058
2059 Unless you know what you're doing, don't set an attribute to
2060 @code{unspecified}. This is ambiguous---it is unclear whether it
2061 means to unspecify the value stored in the frame-local copies of the
2062 face (which means reverting to the original face spec), or the value
2063 in the face spec itself. What you probably want is to set the
2064 attribute to @code{:ignore-defface}. This forces the attribute value
2065 to be acquired from some other face during face merging.
2053 2066
2054 The extra arguments @var{arguments} specify the attributes to set, and 2067 The extra arguments @var{arguments} specify the attributes to set, and
2055 the values for them. They should consist of alternating attribute names 2068 the values for them. They should consist of alternating attribute names
2056 (such as @code{:family} or @code{:underline}) and corresponding values. 2069 (such as @code{:family} or @code{:underline}) and corresponding values.
2057 Thus, 2070 Thus,