[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

macro-let and *macroexpand-hook*

Well, I've looked through the archives and I've read through the silver
book but I still can't tell whether or not expansion of macro-let'ed
macros is supposed to use *macroexpand-hook* or not.  It is clear that
the environment argument passed to macroexpand-1 must contain those
lexically-defined macros, but should *macroexpand-hook* be prepared to
deal with them?

It seems like the right thing is that *macroexpand-hook* should, indeed,
be called, but it makes it harder to write a portable memoization
facility; at least one such facility, in the Spice Lisp code, assumes
that macro-function will retrieve the expansion function for any macro
it is asked to deal with.