custom-theme-set-faces
custom-theme-set-faces is a compiled Lisp function in `cus-face.el
'.
(custom-theme-set-faces THEME &rest ARGS)
Apply a list of face specs associated with theme THEME.
THEME should be a theme name (a symbol). The special theme named
`user' refers to user settings applied via Customize.
The remaining ARGS should be a list where each entry is a list of
the form:
(FACE SPEC [NOW [COMMENT]])
FACE should be a face name (a symbol). If FACE is a face alias,
the setting refers to the parent face.
SPEC should be a face spec. For details, see `defface'.
NOW, if present and non-nil, forces the face settings to take
immediate effect in the Emacs display; in particular, FACE is
initialized as a face if it is not yet one. If NOW is omitted or
nil, the caller is responsible for making the settings take
effect later, by calling `custom-theme-recalc-face' or
`face-spec-recalc'.
COMMENT is a string comment about FACE.
This function works by calling `custom-push-theme' to record each
SPEC in each FACE's `theme-face' property, and in THEME's
`theme-settings' property. If FACE has not already been
customized, it also stores SPEC in the `saved-face' property.
If THEME has a non-nil `theme-immediate' property, this is
equivalent to providing the NOW argument to all faces in the
argument list.