; Fix recently modified docs of 'set-face-attribute' (bug#52493)

* doc/lispref/display.texi (Attribute Functions): Clarify wording
and restore removed information about resetting attributes to
'unspecified' for future frames.

* lisp/faces.el (set-face-attribute): Minor copyedit of doc
string.
This commit is contained in:
Eli Zaretskii 2022-12-30 16:43:38 +02:00
parent 0248fc9e1a
commit 69b2aaaade
2 changed files with 17 additions and 10 deletions

View file

@ -3059,16 +3059,23 @@ values specified by @code{defface}. If @var{frame} is @code{nil},
this function sets the attributes for all existing frames, as well as this function sets the attributes for all existing frames, as well as
for newly created frames. for newly created frames.
To @emph{unset} the value of an attribute, that is, to indicate that To @emph{reset} the value of an attribute, that is, to indicate that
the face doesn't by itself specify a value for the attribute, the the face doesn't by itself specify a value for the attribute, use the
special value @code{unspecified} (@emph{not} @code{nil}!@:) must be special value @code{unspecified} (@emph{not} @code{nil}!@:) for the
used. attribute, and set the @var{frame} argument to @code{t}, in addition
to the call with @var{frame} set to @code{nil}. This is because the
default attributes for newly created frames are merged with the face's
spec in @code{defface} when a new frame is created, and so having
@code{unspecified} in the default attributes for new frames will be
unable to override @code{defface}; the special call to this function
as described above will arrange for @code{defface} to be overridden.
Note that the attribute-value pairs are evaluated in the order they Note that the attribute-value pairs are evaluated in the order they
are specified, except the @code{:family} and @code{:foundry} are specified, with the exception of the @code{:family} and
attributes, which are evaluated first. This means both that only the @code{:foundry} attributes, which are evaluated first. This means
last value of a given attribute will be used, and that in some cases a that if a certain attribute is specified more than once, only the last
different order will give different results. For example, when value will be used. It also means that in some cases a different
order of attributes will produce different results. For example, when
@code{:weight} is placed before @code{:font}, the weight value is @code{:weight} is placed before @code{:font}, the weight value is
applied to the current font of the face, and might be rounded to the applied to the current font of the face, and might be rounded to the
closest available weight of that font, whereas when @code{:font} is closest available weight of that font, whereas when @code{:font} is

View file

@ -691,8 +691,8 @@ what the FACE's face spec says, call this function with FRAME set to
t and the ATTRIBUTE's value set to `unspecified'. t and the ATTRIBUTE's value set to `unspecified'.
Note that the ATTRIBUTE VALUE pairs are evaluated in the order Note that the ATTRIBUTE VALUE pairs are evaluated in the order
they are specified, except the `:family' and `:foundry' they are specified, except that the `:family' and `:foundry'
attributes which are evaluated first. attributes are evaluated first.
The following attributes are recognized: The following attributes are recognized: