elisp: Simple Types

 
 14.4.1 Simple Types
 -------------------
 
 This section describes all the simple customization types.  For several
 of these customization types, the customization widget provides inline
 completion with ‘C-M-i’ or ‘M-<TAB>’.
 
 ‘sexp’
      The value may be any Lisp object that can be printed and read back.
      You can use ‘sexp’ as a fall-back for any option, if you don’t want
      to take the time to work out a more specific type to use.
 
 ‘integer’
      The value must be an integer.
 
 ‘number’
      The value must be a number (floating point or integer).
 
 ‘float’
      The value must be floating point.
 
 ‘string’
      The value must be a string.  The customization buffer shows the
      string without delimiting ‘"’ characters or ‘\’ quotes.
 
 ‘regexp’
      Like ‘string’ except that the string must be a valid regular
      expression.
 
 ‘character’
      The value must be a character code.  A character code is actually
      an integer, but this type shows the value by inserting the
      character in the buffer, rather than by showing the number.
 
 ‘file’
      The value must be a file name.  The widget provides completion.
 
 ‘(file :must-match t)’
      The value must be a file name for an existing file.  The widget
      provides completion.
 
 ‘directory’
      The value must be a directory name.  The widget provides
      completion.
 
 ‘hook’
      The value must be a list of functions.  This customization type is
      used for hook variables.  You can use the ‘:options’ keyword in a
      hook variable’s ‘defcustom’ to specify a list of functions
      recommended for use in the hook; SeeVariable Definitions.
 
 ‘symbol’
      The value must be a symbol.  It appears in the customization buffer
      as the symbol name.  The widget provides completion.
 
 ‘function’
      The value must be either a lambda expression or a function name.
      The widget provides completion for function names.
 
 ‘variable’
      The value must be a variable name.  The widget provides completion.
 
 ‘face’
      The value must be a symbol which is a face name.  The widget
      provides completion.
 
 ‘boolean’
      The value is boolean—either ‘nil’ or ‘t’.  Note that by using
      ‘choice’ and ‘const’ together (see the next section), you can
      specify that the value must be ‘nil’ or ‘t’, but also specify the
      text to describe each value in a way that fits the specific meaning
      of the alternative.
 
 ‘key-sequence’
      The value is a key sequence.  The customization buffer shows the
      key sequence using the same syntax as the ‘kbd’ function.  See
      Key Sequences.
 
 ‘coding-system’
      The value must be a coding-system name, and you can do completion
      with ‘M-<TAB>’.
 
 ‘color’
      The value must be a valid color name.  The widget provides
      completion for color names, as well as a sample and a button for
      selecting a color name from a list of color names shown in a
      ‘*Colors*’ buffer.