On Wed, Sep 22, 2004 at 05:56:43PM +0200, Albert Reiner wrote: > As you can see, a call to FOO prints the expansion twice, a call to > BAR only once. Moreover, when gensyms are involved, in those cases > where two versions are printed, the gensyms have different numbers, > the first version is the correct expansion, and the second one always > has the same gensym numbers (and presumably the same symbols).
(1) Macros are expanded before eval-time, not called. (2) There are no guarantees on when or how many times a macro will be expanded, except that it will happen before the form is compiled or evaluated. (3) Use MACROEXPAND-1 to debug macros. (macroexpand-1 '(foo)) -- ;;;; Matthew Danish -- user: mrd domain: cmu.edu ;;;; OpenPGP public key: C24B6010 on keyring.debian.org
