Go to the first, previous, next, last section, table of contents.


Variables That Never Change

In Emacs Lisp, certain symbols normally evaluate to themselves. These include nil and t, as well as any symbol whose name starts with `:'. 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 symbol whose name starts with `:', except that you are allowed to set such a symbol to itself.

nil == 'nil
     => nil
(setq nil 500)
error--> Attempt to set constant symbol: nil

Variable: keyword-symbols-constant-flag
If this variable is nil, you are allowed to set and bind symbols whose names start with `:' as you wish. This is to make it possible to run old Lisp programs which do that.


Go to the first, previous, next, last section, table of contents.