Hello SLIME developers,
When slime-list-callees is attempted on symbol naming a macro,
swank-sbcl implementation (based on SB-INTROSPECT) generates the
following condition:
The value of sb-introspect::code is #<unknown pointer object,
widetag=#x5D {1003543DFF}>, which is not of type
sb-kernel:code-component.
Though (FDEFINITION)'s value for macros in SBCL _is_ FUNCTIONP,
it's apparently a wrong kind of function for SB-INTROSPECT.
After redefining LIST-CALLEES to use symbol's MACRO-FUNCTION in
preference to FDEFINITION, I've got a desired behavior (listing callees
of macrofunction seems to be a reasonable reaction, and that's what I
want, anyway). Just in case someone finds it useful -- patch is
attached.
One more thing that I found convenient is redirecting LIST-CALLERS for
symbols with macro-functions to WHO-MACROEXPANDS (also included in the
patch).
--
Regards, Anton Kovalenko
+7(916)345-34-02 | Elektrostal' MO, Russia