(compile nil `(lambda (x) (cmacro-with-tricky-key x 42)))
(assert (and (not warn) (not fail)))
(assert (string= "fun=42" (funcall fun 'tricky-key)))))
+
+(defun test-function-983 (x) x)
+(define-compiler-macro test-function-983 (x) x)
+
+(with-test (:name :funcall-compiler-macro)
+ (assert
+ (handler-case
+ (and (compile nil
+ `(lambda ()
+ (funcall (function test-function-983 junk) 1)))
+ nil)
+ (sb-c:compiler-error () t))))
+
+(defsetf test-984 %test-984)
+
+(with-test (:name :setf-function-with-setf-expander)
+ (assert
+ (handler-case
+ (and
+ (defun (setf test-984) ())
+ nil)
+ (style-warning () t))))
+
+(with-test (:name :compile-setf-function)
+ (defun (setf compile-setf) ())
+ (assert (equal (compile '(setf compile-setf))
+ '(setf compile-setf))))
+
\f
;;;; tests not in the problem domain, but of the consistency of the
;;;; compiler machinery itself