Wrong macro lambda-list reported by function-lambda-list in interpreted mode

Bug #1387404 reported by Jonathan Braud on 2014-10-29
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

Looking up the lambda-list of a macro when *evaluator-mode* is :interpret
returns [what I guess is] the lambda-list of the macro expander:

    (setq *evaluator-mode* :interpret)
    (defmacro mac (x) x)
    (sb-introspect:function-lambda-list 'mac)

    => (#:.WHOLE. #:.ENVIRONMENT.)

In SLIME/Emacs, the same lambda-list is displayed in the echo area, which isn't
terribly helpful. Things work as expected in :compile mode:

    (setq *evaluator-mode* :compile)
    (defmacro mac (x) x)
    (sb-introspect:function-lambda-list 'mac)

    => (X)

The attached patch should fix this.

Jonathan Braud (jathd) wrote :
Stas Boukarev (stassats) wrote :

Applied in 5be7d686b782503d16d243135b46b7093b6769f2, thanks for the patch.

Changed in sbcl:
status: New → Fix Committed
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers