diff --git a/compiler/main.lisp b/compiler/main.lisp index fb04e72da9d479f79e301da4128bb061513f42e7..cdd910862d572909fd5e16442f5a5f7b65f52dcd 100644 --- a/compiler/main.lisp +++ b/compiler/main.lisp @@ -747,14 +747,15 @@ (defun preprocessor-macroexpand (form) (handler-case #+new-compiler (macroexpand-1 form *lexical-environment*) #-new-compiler - (if (consp form) - (let* ((name (car form)) - (exp (or (cddr (assoc name *fenv*)) - (info function macro-function name)))) - (if exp - (funcall exp form *fenv*) - form)) - form) + (let ((fenv (lexenv-functions *lexical-environment*))) + (if (consp form) + (let* ((name (car form)) + (exp (or (cddr (assoc name fenv)) + (info function macro-function name)))) + (if exp + (funcall exp form fenv) + form)) + form)) (error (condition) (compiler-error "(during macroexpansion)~%~A" condition))))