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)))))
|