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

Reply via email to