Don't warn when #'(setf fun) is used in the presence of a setf-macro.
authorStas Boukarev <stassats@gmail.com>
Fri, 8 Nov 2013 20:26:44 +0000 (00:26 +0400)
committerStas Boukarev <stassats@gmail.com>
Fri, 8 Nov 2013 20:26:44 +0000 (00:26 +0400)
Warn only when defining such a function, not when using it.

Reported by Douglas Katzman.

src/compiler/ir1tran.lisp
tests/compiler.impure.lisp

index b2bd2e7..10e2ddd 100644 (file)
                          context))
         ((:function nil)
          (check-fun-name name)
-         (note-if-setf-fun-and-macro name)
          (let ((expansion (fun-name-inline-expansion name))
                (inlinep (info :function :inlinep name)))
            (setf (gethash name *free-funs*)
index c0f5b0a..2fe23b1 100644 (file)
        (and
         (defun (setf test-984) ())
         nil)
-     (style-warning () t))))
+     (style-warning () t)))
+  (assert
+   (handler-case
+       (and
+        (compile nil `(lambda () #'(setf test-984)))
+        t)
+     (warning () nil))))
 
 (with-test (:name :compile-setf-function)
   (defun (setf compile-setf) ())