Previous: Symbol Plists, Up: Symbol Properties
Here, we list the symbol properties which are used for special purposes in Emacs. In the following table, whenever we say “the named function”, that means the function whose name is the relevant symbol; similarly for “the named variable” etc.
:advertised-bindingchar-table-extra-slotsnil, specifies the number of extra slots in
the named char-table type. See Char-Tables.
customized-faceface-defface-specsaved-facetheme-facedefface and related functions. See Defining Faces.
customized-valuesaved-valuestandard-valuetheme-valuedefcustom and
related functions. See Variable Definitions.
disablednil, the named function is disabled as a
command. See Disabling Commands.
face-documentationdefface. See Defining Faces.
history-lengthnil, specifies the maximum minibuffer history
length for the named history list variable. See Minibuffer History.
interactive-forminteractive special
form instead. See Interactive Call.
menu-enablemode-classspecial, the named major mode is special.
See Major Mode Conventions.
permanent-localnil, the named variable is a buffer-local
variable whose value should not be reset when changing major modes.
See Creating Buffer-Local.
permanent-local-hooknil, the named function should not be
deleted from the local value of a hook variable when changing major
modes. See Setting Hooks.
purenil, the named function is considered to be
pure (see What Is a Function). Calls with constant arguments can
be evaluated at compile time. This may shift run time errors to
compile time. Not to be confused with pure storage (see Pure Storage).
risky-local-variablenil, the named variable is considered risky
as a file-local variable. See File Local Variables.
safe-functionnil, the named function is considered
generally safe for evaluation. See Function Safety.
safe-local-eval-functionnil, the named function is safe to call in
file-local evaluation forms. See File Local Variables.
safe-local-variableside-effect-freenil value indicates that the named function is free of
side effects (see What Is a Function), so the byte compiler may
ignore a call whose value is unused. If the property's value is
error-free, the byte compiler may even delete such unused
calls. In addition to byte compiler optimizations, this property is
also used for determining function safety (see Function Safety).
variable-documentationnil, this specifies the named variable's documentation
string. This is set automatically by defvar and related
functions. See Defining Faces.