[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#51465: 27.2; `face-all-attributes' doc or behavior (?)
From: |
Eli Zaretskii |
Subject: |
bug#51465: 27.2; `face-all-attributes' doc or behavior (?) |
Date: |
Thu, 28 Oct 2021 22:33:45 +0300 |
> From: Drew Adams <drew.adams@oracle.com>
> Date: Thu, 28 Oct 2021 19:08:53 +0000
>
> What does that mean - what are the default attributes? I was expecting
> that it meant the default settings for the face: default set of
> attributes with their default values for that face.
"Default attributes" and "default settings for the face" are one and
the same.
> (elisp) `Attribute Functions' says "the default attributes of FACE for
> newly created frames". I would expect to see :background as
> "LightGoldenrod", not as `unspecified'.
Why? because that's what you actually see in a new frame? Those
aren't the default attributes, those are the attributes specified by
defface.
> If arg FRAME is specified (as a frame) then the function returns the
> attributes of FACE on FRAME. Not sure what that means either - faces
> have different attributes on different frames?
Of course. Faces are, and always were, specific to frames. You can
change face attributes on one frame without affecting any other
frames.
> If I do `M-x customize-face region' from emacs -Q I see :background set
> as "LightGoldenrod".
Because that shows the face on the current frame.
> That command customizes the face for all frames,
> no?
Yes.
> So doesn't that mean that the face has that background for all
> frames (by default)?
No.
> Why would one want to get a list of the face's attributes with every
> attribute value as `unspecified'?
I don't know. I guess those defaults are not very interesting,
indeed.
> More importantly, how to get the actual (default) values "for all
> frames"
There's no such thing. You must supply a frame to answer that
question.