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 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

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.