On Wed, Sep 24, 2008 at 9:06 PM, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > What I don't understand, though, is why the original macro compiled and > ran without this problem (it was only during concatenation into a larger > binary when this error occurred).
In general, dumping a literal function object into a fasl file is not something you can rely on. See CLHS section 3.2.4.2.2, where it says for functions that they are "not externalizable objects". That means a macro should not expand into source code that includes a literal function object, but instead to its name (as you have found) or e.g. a lambda form. Similarly you can't just dump an instance of a class, so a macro expansion should not include a literal instance, unless there is a make-load-form method. - Willem (resent from address that is subscribed to the list, sorry for any duplicates)