elisp: Applying Customizations

 
 14.5 Applying Customizations
 ============================
 
 The following functions are responsible for installing the user’s
 customization settings for variables and faces, respectively.  When the
 user invokes ‘Save for future sessions’ in the Customize interface, that
 takes effect by writing a ‘custom-set-variables’ and/or a
 ‘custom-set-faces’ form into the custom file, to be evaluated the next
 time Emacs starts.
 
  -- Function: custom-set-variables &rest args
      This function installs the variable customizations specified by
      ARGS.  Each argument in ARGS should have the form
 
           (VAR EXPRESSION [NOW [REQUEST [COMMENT]]])
 
      VAR is a variable name (a symbol), and EXPRESSION is an expression
      which evaluates to the desired customized value.
 
      If the ‘defcustom’ form for VAR has been evaluated prior to this
      ‘custom-set-variables’ call, EXPRESSION is immediately evaluated,
      and the variable’s value is set to the result.  Otherwise,
      EXPRESSION is stored into the variable’s ‘saved-value’ property, to
      be evaluated when the relevant ‘defcustom’ is called (usually when
      the library defining that variable is loaded into Emacs).
 
      The NOW, REQUEST, and COMMENT entries are for internal use only,
      and may be omitted.  NOW, if non-‘nil’, means to set the variable’s
      value now, even if the variable’s ‘defcustom’ form has not been
      evaluated.  REQUEST is a list of features to be loaded immediately
      (SeeNamed Features).  COMMENT is a string describing the
      customization.
 
  -- Function: custom-set-faces &rest args
      This function installs the face customizations specified by ARGS.
      Each argument in ARGS should have the form
 
           (FACE SPEC [NOW [COMMENT]])
 
      FACE is a face name (a symbol), and SPEC is the customized face
      specification for that face (SeeDefining Faces).
 
      The NOW and COMMENT entries are for internal use only, and may be
      omitted.  NOW, if non-‘nil’, means to install the face
      specification now, even if the ‘defface’ form has not been
      evaluated.  COMMENT is a string describing the customization.