not already one, and (re)calculates its attributes on existing frames.
@cindex override spec @r{(for a face)}
-The argument @var{spec-type} determines which spec to set. If it is
-@code{nil} or @code{face-override-spec}, this function sets the
-@dfn{override spec}, which overrides over all other face specs on
-@var{face}. If it is @code{customized-face} or @code{saved-face},
-this function sets the customized spec or the saved custom spec. If
-it is @code{face-defface-spec}, this function sets the default face
-spec (the same one set by @code{defface}). If it is @code{reset},
-this function clears out all customization specs and override specs
-from @var{face} (in this case, the value of @var{spec} is ignored).
-Any other value of @var{spec-type} is reserved for internal use.
+The optional argument @var{spec-type} determines which spec to set.
+If it is omitted or @code{nil} or @code{face-override-spec}, this
+function sets the @dfn{override spec}, which overrides face specs on
+@var{face} of all the other types mentioned below. This is useful
+when calling this function outside of Custom code. If @var{spec-type}
+is @code{customized-face} or @code{saved-face}, this function sets the
+customized spec or the saved custom spec, respectively. If it is
+@code{face-defface-spec}, this function sets the default face spec
+(the same one set by @code{defface}). If it is @code{reset}, this
+function clears out all customization specs and override specs from
+@var{face} (in this case, the value of @var{spec} is ignored). The
+effect of any other value of @var{spec-type} on the face specs is
+reserved for internal use, but the function will still define
+@var{face} itself and recalculate its attributes, as described above.
@end defun
@node Attribute Functions
face--attributes-unspecified)))
(defun face-spec-set (face spec &optional spec-type)
- "Set the face spec SPEC for FACE.
+ "Set the FACE's spec SPEC, define FACE, and recalculate its attributes.
See `defface' for the format of SPEC.
The appearance of each face is controlled by its specs (set via
already one, and (re)calculates its attributes on existing
frames.
-The argument SPEC-TYPE determines which spec to set:
- nil or `face-override-spec' means the override spec (which is
- usually what you want if calling this function outside of
- Custom code);
+The optional argument SPEC-TYPE determines which spec to set:
+ nil, omitted or `face-override-spec' means the override spec,
+ which overrides all the other types of spec mentioned below
+ (this is usually what you want if calling this function
+ outside of Custom code);
`customized-face' or `saved-face' means the customized spec or
the saved custom spec;
`face-defface-spec' means the default spec
`reset' means to ignore SPEC, but clear the `customized-face'
and `face-override-spec' specs;
Any other value means not to set any spec, but to run the
-function for its other effects."
+function for defining FACE and recalculating its attributes."
(if (get face 'face-alias)
(setq face (get face 'face-alias)))
;; Save SPEC to the relevant symbol property.