Next: sgi, Previous: setenv, Up: GCL Reference

#### 7.2.127 setq

`(setq SYM EXPR)`
  Bind the symbol SYM to the value of EXPR. SYM must be an unqualified symbol, i.e. not quoted, and literal: `(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 ...)`.