diff tests/automated/lisp-tests.el @ 5355:70b15ac66ee5

Correct a bug with circularity checking in #'mapcar*, #'map, etc. src/ChangeLog addition: 2011-02-10 Aidan Kehoe <kehoea@parhasard.net> * fns.c (shortest_length_among_sequences): This was buggy, it always errored if the last argument was circular, even if other arguments were non-circular. Correct that. tests/ChangeLog addition: 2011-02-10 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: * automated/lisp-tests.el (mapcar*): If multiple SEQUENCE arguments are passed to #'mapcar*, and the last one is circular while the others aren't, make sure that #'mapcar* doesn't error.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 10 Feb 2011 08:46:10 +0000
parents 38e24b8be4ea
children 46b53e84ea7a 00e79bbbe48f
line wrap: on
line diff
--- a/tests/automated/lisp-tests.el	Wed Feb 09 20:15:50 2011 +0000
+++ b/tests/automated/lisp-tests.el	Thu Feb 10 08:46:10 2011 +0000
@@ -1046,6 +1046,12 @@
       (car y))
     x)))
 
+(Assert
+ (equal
+  (let ((list (list pi))) (mapcar* #'cons [1 2 3 4] (nconc list list)))
+  `((1 . ,pi) (2 . ,pi) (3 . ,pi) (4 . ,pi)))
+ "checking mapcar* behaves correctly when only one arg is circular")
+
 (Assert (eql
  (length (multiple-value-list
           (car (mapcar #'(lambda (argument) (floor argument)) (list pi e)))))