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]