In WALK-METHOD-LAMBDA use eval-with-env to get access to the macros that are defined in the compiler environment

This commit is contained in:
Juan Jose Garcia Ripoll 2010-07-11 15:10:20 +02:00
parent 905475f954
commit 4fb36efd04

View file

@ -164,7 +164,11 @@
in-closure-p t))))))
form))
(let ((si::*code-walker* #'code-walker))
(coerce method-lambda 'function)))
;; Instead of (coerce method-lambda 'function) we use
;; explicitely the bytecodes compiler with an environment, no
;; stepping, compiler-env-p = t and execute = nil, so that the
;; form does not get executed.
(si::eval-with-env method-lambda env nil t nil)))
(values call-next-method-p
next-method-p-p
in-closure-p)))