Next: append save-excursion, Previous: append interactive, Up: append-to-buffer [Contents][Index]
append-to-buffer
The body of the append-to-buffer
function begins with let
.
As we have seen before (see let
), the purpose of a
let
expression is to create and give initial values to one or more
variables that will only be used within the body of the let
. This
means that such a variable will not be confused with any variable of the
same name outside the let
expression.
We can see how the let
expression fits into the function as a whole
by showing a template for append-to-buffer
with the let
expression in outline:
(defun append-to-buffer (buffer start end) "documentation…" (interactive …) (let ((variable value)) body…)
The let
expression has three elements:
let
;
(variable value)
;
let
expression.
In the append-to-buffer
function, the varlist looks like this:
(oldbuf (current-buffer))
In this part of the let
expression, the one variable, oldbuf
,
is bound to the value returned by the (current-buffer)
expression.
The variable, oldbuf
, is used to keep track of the buffer in which
you are working and from which you will copy.
The element or elements of a varlist are surrounded by a set of parentheses
so the Lisp interpreter can distinguish the varlist from the body of the
let
. As a consequence, the two-element list within the varlist is
surrounded by a circumscribing set of parentheses. The line looks like
this:
(let ((oldbuf (current-buffer))) … )
The two parentheses before oldbuf
might surprise you if you did not
realize that the first parenthesis before oldbuf
marks the boundary
of the varlist and the second parenthesis marks the beginning of the
two-element list, (oldbuf (current-buffer))
.
Next: append save-excursion, Previous: append interactive, Up: append-to-buffer [Contents][Index]