X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fboot.lisp;h=2e558ff9548a2039a459b851cb237ce921f559c9;hb=adcb5a9772b488fce8d0b0195bc6b906a0e69e12;hp=e470eb41ce3b7a6d599642a54b0022af6100622f;hpb=062283b901155792f65775491aea51481c56faaa;p=sbcl.git diff --git a/src/pcl/boot.lisp b/src/pcl/boot.lisp index e470eb4..2e558ff 100644 --- a/src/pcl/boot.lisp +++ b/src/pcl/boot.lisp @@ -588,8 +588,13 @@ bootstrapping. ;; if there is are no non-standard prior MAKE-METHOD-LAMBDA methods -- or ;; unless they're fantastically unintrusive. (let* ((method-name *method-name*) + (method-lambda-list *method-lambda-list*) + ;; Macroexpansion caused by code-walking may call make-method-lambda and + ;; end up with wrong values + (*method-name* nil) + (*method-lambda-list* nil) (generic-function-name (when method-name (car method-name))) - (specialized-lambda-list (or *method-lambda-list* + (specialized-lambda-list (or method-lambda-list (ecase (car method-lambda) (lambda (second method-lambda)) (named-lambda (third method-lambda)))))