Christophe Rhodes wrote: > Your macro expands to source code which contains a literal function > object in it. Instead, you want to expand into source code which > contains something which will retrieve the function object. The usual > error is to provide a default for a parameter which ends up being > unquoted such as #'foo, where you should actually provide '#'foo. > (You could also provide ''foo as the default).
Thanks for the explanation; using '#'string-equal as the optional parameter default solved it. 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).