X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcode%2Fsetf-funs.lisp;h=16c0878fac9f4e46c5de2358df84b371ecc26334;hb=63cef087068afc157283c0a05ae1f16b962303aa;hp=74d3f4e9212dc9af6020f51a192fdfabbccd72bb;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/code/setf-funs.lisp b/src/code/setf-funs.lisp index 74d3f4e..16c0878 100644 --- a/src/code/setf-funs.lisp +++ b/src/code/setf-funs.lisp @@ -12,9 +12,6 @@ (in-package "SB!KERNEL") -(file-comment - "$Header$") - (eval-when (:compile-toplevel :execute) (defun compute-one-setter (name type) @@ -22,12 +19,12 @@ (res (type-specifier (single-value-type (values-specifier-type (third type))))) - (arglist (loop repeat (1+ (length args)) collect (gensym)))) + (arglist (make-gensym-list (1+ (length args))))) (cond - ((null (intersection args lambda-list-keywords)) + ((null (intersection args sb!xc:lambda-list-keywords)) `(defun (setf ,name) ,arglist - (declare ,@(mapcar #'(lambda (arg type) - `(type ,type ,arg)) + (declare ,@(mapcar (lambda (arg type) + `(type ,type ,arg)) arglist (cons res args))) (setf (,name ,@(rest arglist)) ,(first arglist)))) @@ -46,7 +43,7 @@ (info :setf :expander sym)) (not (member sym ignore))) (let ((type (type-specifier (info :function :type sym)))) - (assert (consp type)) + (aver (consp type)) #!-sb-fluid (res `(declaim (inline (setf ,sym)))) (res (compute-one-setter sym type)))))) `(progn ,@(res))))