From 711f75f20284c41f53485fda882fc7cc9e8e930f Mon Sep 17 00:00:00 2001 From: Stas Boukarev Date: Sat, 9 Nov 2013 00:26:44 +0400 Subject: [PATCH] Don't warn when #'(setf fun) is used in the presence of a setf-macro. Warn only when defining such a function, not when using it. Reported by Douglas Katzman. --- src/compiler/ir1tran.lisp | 1 - tests/compiler.impure.lisp | 8 +++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/compiler/ir1tran.lisp b/src/compiler/ir1tran.lisp index b2bd2e7..10e2ddd 100644 --- a/src/compiler/ir1tran.lisp +++ b/src/compiler/ir1tran.lisp @@ -222,7 +222,6 @@ 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*) diff --git a/tests/compiler.impure.lisp b/tests/compiler.impure.lisp index c0f5b0a..2fe23b1 100644 --- a/tests/compiler.impure.lisp +++ b/tests/compiler.impure.lisp @@ -1430,7 +1430,13 @@ (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) ()) -- 1.7.10.4