(assert (equal '((:b)) (funcall
(compile nil '(lambda (x y) (adjoin x y :key #'car :test #'string=)))
(list 'b) (list '(:b)))))
+#+sb-eval
(assert (equal '((:b))
(let ((sb-ext:*evaluator-mode* :interpret))
(eval '(adjoin (list 'b) (list '(:b)) :key #'car :test #'string=)))))
(test '((42)) '((42)) '((42)) :key #'car)
(test '((42)) '((42)) '((42)) :key #'car :test-not #'<))
+;;; FIND on lists should not call key outside the specified subsquence.
+(assert (not (find :a '(0 (:c) 1) :start 1 :end 2 :key #'car)))