;;; If a macro, expand one level and try again. If not, go for the
;;; SETF function.
-(declaim (ftype (function (t sb!c::lexenv)) expand-or-get-setf-inverse))
+(declaim (ftype (function (t (or null sb!c::lexenv)))
+ expand-or-get-setf-inverse))
(defun expand-or-get-setf-inverse (form environment)
(multiple-value-bind (expansion expanded)
(sb!xc:macroexpand-1 form environment)
(defmacro-mundanely pushnew (obj place &rest keys &environment env)
#!+sb-doc
- "Takes an object and a location holding a list. If the object is already
- in the list, does nothing. Else, conses the object onto the list. Returns
- NIL. If there is a :TEST keyword, this is used for the comparison."
+ "Takes an object and a location holding a list. If the object is
+ already in the list, does nothing; otherwise, conses the object onto
+ the list. Returns the modified list. If there is a :TEST keyword, this
+ is used for the comparison."
(multiple-value-bind (dummies vals newval setter getter)
(get-setf-method place env)
(let ((g (gensym)))