Previous: See variable current value, Up: defvar [Contents][Index]
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
it provides a path into the Customization commands. (See Specifying Variables using defcustom
.)
When you specified a variable using the defvar
special form, you
could distinguish a variable that a user might want to change 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. … ")
You could (and still can) use the set-variable
command to change the
value of shell-command-default-error-buffer
temporarily. However,
options set using set-variable
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 set-variable
command is to suggest
variables that I might want to set in my .emacs file. There are now
more than 700 such variables, far too many to remember readily.
Fortunately, you can press TAB after calling the M-x
set-variable
command to see the list of variables. (See Examining and Setting Variables in The GNU Emacs Manual.)
Previous: See variable current value, Up: defvar [Contents][Index]