diff options
author | Nicolas Petton <nicolas@petton.fr> | 2016-12-15 10:24:57 +0100 |
---|---|---|
committer | Nicolas Petton <nicolas@petton.fr> | 2016-12-15 10:26:11 +0100 |
commit | 09a66ceb5e906e704be58d5f40c45096307f0b9e (patch) | |
tree | 38c6d80e6ff84430cf16511ba8e7edb40cb0e4cc /lisp/emacs-lisp/seq.el | |
parent | acbe32abddd9740acd756419f068cb4bc345567c (diff) | |
download | emacs-09a66ceb5e906e704be58d5f40c45096307f0b9e.tar.gz emacs-09a66ceb5e906e704be58d5f40c45096307f0b9e.tar.bz2 emacs-09a66ceb5e906e704be58d5f40c45096307f0b9e.zip |
Fix circular list handling in seq-mapn
* lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
* test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
Add a regression test.
Diffstat (limited to 'lisp/emacs-lisp/seq.el')
-rw-r--r-- | lisp/emacs-lisp/seq.el | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el index 5ddc5a53a32..9890e60614e 100644 --- a/lisp/emacs-lisp/seq.el +++ b/lisp/emacs-lisp/seq.el @@ -178,7 +178,10 @@ Return a list of the results. \(fn FUNCTION SEQUENCES...)" (let ((result nil) - (sequences (seq-map (lambda (s) (seq-into s 'list)) + (sequences (seq-map (lambda (s) + (if (listp s) + s + (seq-into s 'list))) (cons sequence sequences)))) (while (not (memq nil sequences)) (push (apply function (seq-map #'car sequences)) result) |