Node:defvar and asterisk, Previous:See variable current value, Up:defvar
defvar and an asteriskIn the past, Emacs used the defvar special form both for
internal variables that you would not expect a user to change and for
variables that you do expect a user to change. Although you can still
use defvar for user customizable variables, please use
defcustom instead, since that special form provides a path into
the Customization commands. (See Setting Variables with defcustom.)
When you specified a variable using the defvar special form,
you could distinguish a readily settable variable from others by
typing an asterisk, *, in the first column of its documentation
string. For example:
(defvar shell-command-default-error-buffer nil "*Buffer name for `shell-command' ... error output. ... ")
This means that you could (and still can) use the edit-options
command to change the value of
shell-command-default-error-buffer temporarily.
However, options set using edit-options are set only for the
duration of your editing session. The new values are not saved
between sessions. Each time Emacs starts, it reads the original
value, unless you change the value within your .emacs file,
either by setting it manually or by using customize.
See Your .emacs File.
For me, the major use of the edit-options command is to suggest
variables that I might want to set in my .emacs file. I urge
you to look through the list. (See Edit Options.)