Next: cons & search-fwd Review, Previous: Digression into C, Up: Cutting & Storing Text [Contents][Index]
defvarThe copy-region-as-kill function is written in Emacs Lisp. Two
functions within it, kill-append and kill-new, copy a region
in a buffer and save it in a variable called the kill-ring. This
section describes how the kill-ring variable is created and
initialized using the defvar special form.
(Again we note that the term kill-ring is a misnomer. The text that
is clipped out of the buffer can be brought back; it is not a ring of
corpses, but a ring of resurrectable text.)
In Emacs Lisp, a variable such as the kill-ring is created and given
an initial value by using the defvar special form. The name comes
from “define variable”.
The defvar special form is similar to setq in that it sets the
value of a variable. It is unlike setq in two ways: first, it only
sets the value of the variable if the variable does not already have a
value. If the variable already has a value, defvar does not override
the existing value. Second, defvar has a documentation string.
(There is a related macro, defcustom, designed for variables that
people customize. It has more features than defvar.
(See Setting Variables with defcustom.)
| • See variable current value | ||
| • defvar and asterisk |