In my Emacs config I have such a string:
(setq ibuffer-saved-filter-groups
(quote (("default"
("dired"
(mode . dired-mode))
("System"
(or (name . "\*scratch\*")
(name . "\*Messages\*")))
("SVN"
(name . "^\\*vc-.*\\*$"))))))
The variables name and mode are undefined but the code is evaluated correctly. When I try to make a such on my own:
(some-var . "some-value")
I receive an error about the undefined variable some-var.
When a datum is quoted, nothing within is evaluated. For example:
evaluates to the value bound to the identifier
foo, whereasor
evaluates to the symbol
foo.Likewise,
evaluates to 6, whereas
or
evaluate to a list with four elements: the symbol
+, and the numbers 1, 2, and 3. In particular, the+is not evaluated.Similarly, your
nameandmode, both being within the quoted datum, are not treated as identifiers, but as symbols. They are not evaluated.