0.8.10.54:
[sbcl.git] / src / code / defboot.lisp
index 625e979..a9cfbf7 100644 (file)
@@ -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)))
         (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
   (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))