From: Nikodemus S. <de...@us...> - 2007-07-27 11:13:27
|
Update of /cvsroot/sbcl/sbcl/tests In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv3297/tests Modified Files: list.pure.lisp Log Message: 1.0.8.7: printer-control variables affecting MEMBER & ASSOC transforms Reported by Dan Corkill on sbcl-devel. * Use WRITE-STRING on SYMBOL-NAME instead of FORMAT %A to ironclad the specialized function name generation. * Tests. Index: list.pure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/list.pure.lisp,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- list.pure.lisp 19 Jul 2007 10:28:20 -0000 1.16 +++ list.pure.lisp 27 Jul 2007 11:13:22 -0000 1.17 @@ -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,11 @@ ;; 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))))) |