Mercurial > hg > xemacs-beta
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)))))