Why no error about undefined variable is raised in LISP while setq()?-Record and share programming errors
-
When a datum is quoted, nothing within is evaluated. For example:
foo
evaluates to the value bound to the identifier
foo
, whereas'foo
or
(quote foo)
evaluates to the symbol
foo
.Likewise,
(+ 1 2 3)
evaluates to 6, whereas
'(+ 1 2 3)
or
(quote (+ 1 2 3))
evaluate to a list with four elements: the symbol
+
, and the numbers 1, 2, and 3. In particular, the+
is not evaluated.Similarly, your
name
andmode
, both being within the quoted datum, are not treated as identifiers, but as symbols. They are not evaluated. -
Look at C-h v ibuffer-saved-filter-groups. It explains about this variables further. It is an alist variable. According to documents, it should look like ((“STRING” QUALIFIERS) (“STRING” QUALIFIERS) …) Now QUALIFIERS is a LIST of the same form as `ibuffer-filtering-qualifiers’. It is a LIST like (SYMBOL . QUALIFIER).
Originally posted 2013-08-31 05:20:15.