Go to the previous, next section.

Uninitialized Variables in a  let Statement

If you do not bind the variables in a  let statement to specific initial values, they will automatically be bound to an initial value of  nil , as in the following expression:

(let ((birch 3)
      pine 
      fir 
      (oak 'some))
  (message
   "Here are %d variables with %s, %s, and %s value."
   birch pine fir oak))

Here, the varlist is  ((birch 3) pine fir (oak 'some)) .

If you evaluate this expression in the usual way, the following will appear in your echo area:

"Here are 3 variables with nil, nil, and some value."

In this case, Emacs binds the symbol  birch to the number 3, binds the symbols  pine and  fir to  nil , and binds the symbol  oak to the value  some .

Note that in the first part of the  let , the variables  pine and  fir stand alone as atoms that are not surrounded by parentheses; this is because they are being bound to  nil , the empty list. But  oak is bound to  some and so is a part of the list  (oak 'some) . Similarly,  birch is bound to the number 3 and so is in a list with that number. (Since a number evaluates to itself, the number does not need to be quoted. Also, the number is printed in the message using a `%d' rather than a `%s'.) The four variables as a group are put into a list to delimit them from the body of the  let .

Go to the previous, next section.