The following results occur on my workstation: (defun fn () (mac)) ;==> FN (defmacro mac () `'foo) ;==> MAC (fn) ;==> ***Error*** It seems clear from CLtL, pg.143, second paragraph that (fn) should have evaluated to FOO. [The reference to "local definitions" indicates that the reference to "eval" really refers to evaluation in general.] Is the above ***Error*** indeed wrong? -------