elisp: Face Functions
37.12.6 Functions for Working with Faces
----------------------------------------
Here are additional functions for creating and working with faces.
-- Function: face-list
This function returns a list of all defined face names.
-- Function: face-id face
This function returns the “face number” of face FACE. This is a
number that uniquely identifies a face at low levels within Emacs.
It is seldom necessary to refer to a face by its face number.
-- Function: face-documentation face
This function returns the documentation string of face FACE, or
‘nil’ if none was specified for it.
-- Function: face-equal face1 face2 &optional frame
This returns ‘t’ if the faces FACE1 and FACE2 have the same
attributes for display.
-- Function: face-differs-from-default-p face &optional frame
This returns non-‘nil’ if the face FACE displays differently from
the default face.
A “face alias” provides an equivalent name for a face. You can
define a face alias by giving the alias symbol the ‘face-alias’
property, with a value of the target face name. The following example
makes ‘modeline’ an alias for the ‘mode-line’ face.
(put 'modeline 'face-alias 'mode-line)
-- Macro: define-obsolete-face-alias obsolete-face current-face when
This macro defines ‘obsolete-face’ as an alias for CURRENT-FACE,
and also marks it as obsolete, indicating that it may be removed in
future. WHEN should be a string indicating when ‘obsolete-face’
was made obsolete (usually a version number string).