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:


    evaluates to the value bound to the identifier foo, whereas



    (quote foo)

    evaluates to the symbol foo.


    (+ 1 2 3)

    evaluates to 6, whereas

    '(+ 1 2 3)


    (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 and mode, 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.