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