aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2022-09-01 11:42:33 +0300
committerEli Zaretskii2022-09-01 11:42:33 +0300
commit89695bce3e4f3716cdb2d322cf3efd0fe5454bec (patch)
treee7e801e386edd343efdbe92e992c05376386d626
parentf44c4e49b72398ba0433637b01f2c431d0ac7f2b (diff)
downloademacs-89695bce3e4f3716cdb2d322cf3efd0fe5454bec.tar.gz
emacs-89695bce3e4f3716cdb2d322cf3efd0fe5454bec.zip
Clarify the doc string of 'set-face-attribute'
* lisp/faces.el (set-face-attribute): Clarify the issue with resetting attribute values to 'unspecified' for future frames. (Bug#57499)
-rw-r--r--lisp/faces.el37
1 files changed, 22 insertions, 15 deletions
diff --git a/lisp/faces.el b/lisp/faces.el
index 59287ffbbd1..ba33bec70da 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -668,21 +668,28 @@ If FACE is a face-alias, get the documentation for the target face."
668 668
669(defun set-face-attribute (face frame &rest args) 669(defun set-face-attribute (face frame &rest args)
670 "Set attributes of FACE on FRAME from ARGS. 670 "Set attributes of FACE on FRAME from ARGS.
671This function overrides the face attributes specified by FACE's 671This function overrides the face attributes specified by FACE's face spec.
672face spec. It is mostly intended for internal use only. 672It is mostly intended for internal use.
673 673
674If FRAME is nil, set the attributes for all existing frames, as 674If FRAME is a frame, set the FACE's attributes only for that frame. If
675well as the default for new frames. If FRAME is t, change the 675FRAME is nil, set attribute values for all existing frames, as well as
676default for new frames only. As an exception, to reset the value 676the default for new frames. If FRAME is t, change the default values
677of some attribute to `unspecified' in a way that overrides the 677of attributes for new frames.
678non-`unspecified' value defined by the face's spec in `defface', 678
679for new frames, you must explicitly call this function with FRAME 679ARGS must come in pairs ATTRIBUTE VALUE. ATTRIBUTE must be a valid face
680set to t and the attribute's value set to `unspecified'; just 680attribute name and VALUE must be a value that is valid for ATTRIBUTE,
681using FRAME of nil will not affect new frames in this case. 681as described below for each attribute.
682 682
683ARGS must come in pairs ATTRIBUTE VALUE. ATTRIBUTE must be a 683In addition to the attribute values listed below, all attributes can
684valid face attribute name. All attributes can be set to 684also be set to the special value `unspecified', which means the face
685`unspecified'; this fact is not further mentioned below. 685doesn't by itself specify a value for the attribute.
686
687When a new frame is created, attribute values in the FACE's `defface'
688spec normally override the `unspecified' values in the FACE's
689default attributes. To avoid that, i.e. to cause ATTRIBUTE's value
690be reset to `unspecified' when creating new frames, disregarding
691what the FACE's face spec says, call this function with FRAME set to
692t and the ATTRIBUTE's value set to `unspecified'.
686 693
687The following attributes are recognized: 694The following attributes are recognized:
688 695