Next: Local Variables, Previous: Global Variables, Up: Variables
In Emacs Lisp, certain symbols normally evaluate to themselves. These
include nil and t, as well as any symbol whose name starts
with `:' (these are called keywords). These symbols cannot
be rebound, nor can their values be changed. Any attempt to set or bind
nil or t signals a setting-constant error. The
same is true for a keyword (a symbol whose name starts with `:'),
if it is interned in the standard obarray, except that setting such a
symbol to itself is not an error.
nil == 'nil
=> nil
(setq nil 500)
error--> Attempt to set constant symbol: nil