(in-package "SB!KERNEL")
-(file-comment
- "$Header$")
-
(eval-when (:compile-toplevel :execute)
(defun compute-one-setter (name type)
(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))))
(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))))
-); eval-when (compile eval)
+) ; EVAL-WHEN
(define-setters ("COMMON-LISP")
;; Semantically silly...