A variable is a Lisp symbol which has a value. Variable names can contain any characters, but by convention they are words separated by hyphens. A variable can also have a documentation string, which describes what kind of value it should have and how the value will be used.
Lisp allows any variable to have any kind of value, but most variables
that Emacs uses require a value of a certain type. Often the value has
to be a string or a number. Sometimes we say that a certain feature is
turned on if a variable is “non-
nil,” meaning that if the
variable’s value is
nil, the feature is off, but the feature is
on for any other value. The conventional value to turn on the
feature—since you have to pick one particular value when you set the
Emacs uses many Lisp variables for internal recordkeeping, as any Lisp program must, but the most interesting variables for you are the ones that exist for the sake of customization. Emacs does not (usually) change the values of these variables; instead, you set the values, and thereby alter and control the behavior of certain Emacs commands. These variables are called options. Most options are documented in this manual and appear in the Variable Index (see Variable Index).
One example of a variable which is an option is
specifies the position of the right margin (as a number of characters from
the left margin) to be used by the fill commands (see Filling).
|• Examining:||Examining or setting one variable’s value.|
|• Easy Customization:||Convenient and easy customization of variables.|
|• Edit Options:||Examining or editing list of all variables’ values.|
|• Locals:||Per-buffer values of variables.|
|• File Variables:||How files can specify variable values.|