(setq SYM EXPR)
(setq "foo"
bar)
will not work. Likewise (setq (bar STUFF) foo)
will also
not work, even if (bar ...)
would evaluate to an unqualified
symbol: varible names must be literals. Note that calling (setq
SYM ...)
will alter the value of SYM within the current
name-space: if SYM, e.g., is bound as local variable by a lambda,
let or defun expression, then (setq SYM ...)
will change the
value of the local variable, the global binding will remain unchanged.
It is NOT possible to un-bind a symbol. However, subsequent (setq
SYM ...)
invocations will re-bind SYM to another value and free
the lisp-object previously bound to SYM.
See (lambda ...)
.
See (defun ...)
.
See (let ...)
.