X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdefboot.lisp;h=a9cfbf765110b38021e6f7bb3a3ce102616573b2;hb=cf3e11a77e89bc729595a08fc52ece7bc6b4430e;hp=625e979ff6a76bea5211f6afb9222681ba94a0f6;hpb=25422d88edd9bf712206aee5143a4f952981b4d5;p=sbcl.git diff --git a/src/code/defboot.lisp b/src/code/defboot.lisp index 625e979..a9cfbf7 100644 --- a/src/code/defboot.lisp +++ b/src/code/defboot.lisp @@ -40,7 +40,8 @@ `(let ((,(car vars) ,value-form)) ,@body) (let ((ignore (gensym))) - `(multiple-value-call #'(lambda (&optional ,@vars &rest ,ignore) + `(multiple-value-call #'(lambda (&optional ,@(mapcar #'list vars) + &rest ,ignore) (declare (ignore ,ignore)) ,@body) ,value-form))) @@ -183,7 +184,7 @@ (cold-fset ,name ,lambda) (eval-when (:compile-toplevel) - (sb!c:%compiler-defun ',name ',inline-lambda)) + (sb!c:%compiler-defun ',name ',inline-lambda t)) (eval-when (:load-toplevel :execute) (%defun ',name ;; In normal compilation (not for cold load) this is @@ -200,7 +201,7 @@ (declare (type function def)) (declare (type (or null simple-string) doc)) (aver (legal-fun-name-p name)) ; should've been checked by DEFMACRO DEFUN - (sb!c:%compiler-defun name inline-lambda) + (sb!c:%compiler-defun name inline-lambda nil) (when (fboundp name) (/show0 "redefining NAME in %DEFUN") (style-warn "redefining ~S in DEFUN" name))