X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Flist.pure.lisp;h=702b89eaa021d51df8f4b1ad94524c0d22ef4af5;hb=b8f49ceae4a3b513de21f385bb784729d2ddff3f;hp=8f251d4f4cbaebaa6d36957b20af1f669fb99378;hpb=423d7e5434081f8813e5c2399e4da052bcd36b57;p=sbcl.git diff --git a/tests/list.pure.lisp b/tests/list.pure.lisp index 8f251d4..702b89e 100644 --- a/tests/list.pure.lisp +++ b/tests/list.pure.lisp @@ -186,15 +186,15 @@ (assert (equal ',expected (let ((numbers ',numbers) (tricky ',tricky)) (funcall fun ,@(cdr form))))) - (assert (equal ',expected (funcall (lambda () - (declare (optimize speed)) - (let ((numbers ',numbers) - (tricky ',tricky)) - ,form))))) - (assert (equal ',expected (funcall (lambda () - (declare (optimize space)) - (let ((numbers ',numbers) - (tricky ',tricky)) + (assert (equal ',expected (funcall (lambda () + (declare (optimize speed)) + (let ((numbers ',numbers) + (tricky ',tricky)) + ,form))))) + (assert (equal ',expected (funcall (lambda () + (declare (optimize space)) + (let ((numbers ',numbers) + (tricky ',tricky)) ,form))))))))) (let ((fun (car (list 'assoc)))) (test (1 a) (assoc 1 numbers)) @@ -221,3 +221,18 @@ ;; Bug reported by Paul Dietz: ASSOC should ignore NIL elements in a ;; alist (test (nil . c) (assoc nil tricky :test #'eq)))) + +;;; bug reported by Dan Corkill: *PRINT-CASE* affected the compiler transforms +;;; for ASSOC & MEMBER +(let ((*print-case* :downcase)) + (assert (eql 2 (cdr (funcall (compile nil '(lambda (i l) (assoc i l))) + :b '((:a . 1) (:b . 2)))))) + (assert (equal '(3 4 5) (funcall (compile nil '(lambda (i l) (member i l))) + 3 '(1 2 3 4 5))))) + +;;; bad bounding index pair to SUBSEQ on a list +(let ((list (list 0 1 2 3 4 5))) + (multiple-value-bind (res err) (ignore-errors (subseq list 4 2)) + (assert (not res)) + (assert (typep err 'sb-kernel:bounding-indices-bad-error)))) +