`(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))