[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 545812c: Backport seq-mapn fix from Emacs master
From: |
Nicolas Petton |
Subject: |
[elpa] master 545812c: Backport seq-mapn fix from Emacs master |
Date: |
Thu, 15 Dec 2016 09:30:00 +0000 (UTC) |
branch: master
commit 545812cbfc795dc15b602f341827c5099e0eab3a
Author: Nicolas Petton <address@hidden>
Commit: Nicolas Petton <address@hidden>
Backport seq-mapn fix from Emacs master
* packages/seq/seq-24.el (seq-mapn):
* packages/seq/seq-25.el (seq-mapn): Fix for circular lists.
* packages/seq/tests/seq-tests.el: Add a regression test.
---
packages/seq/seq-24.el | 5 ++++-
packages/seq/seq-25.el | 5 ++++-
packages/seq/tests/seq-tests.el | 5 +++++
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/packages/seq/seq-24.el b/packages/seq/seq-24.el
index 3f9cd88..36a3f2b 100644
--- a/packages/seq/seq-24.el
+++ b/packages/seq/seq-24.el
@@ -286,7 +286,10 @@ Return a list of the results.
\(fn FUNCTION SEQS...)"
(let ((result nil)
- (seqs (seq-map (lambda (s) (seq-into s 'list))
+ (seqs (seq-map (lambda (s)
+ (if (listp s)
+ s
+ (seq-into s 'list)))
(cons sequence seqs))))
(while (not (memq nil seqs))
(push (apply function (seq-map #'car seqs)) result)
diff --git a/packages/seq/seq-25.el b/packages/seq/seq-25.el
index c2268dd..ff79dc0 100644
--- a/packages/seq/seq-25.el
+++ b/packages/seq/seq-25.el
@@ -171,7 +171,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)
diff --git a/packages/seq/tests/seq-tests.el b/packages/seq/tests/seq-tests.el
index 5d729b1..b0d2931 100644
--- a/packages/seq/tests/seq-tests.el
+++ b/packages/seq/tests/seq-tests.el
@@ -365,5 +365,10 @@ Evaluate BODY for each created sequence.
(should-error (seq-random-elt []))
(should-error (seq-random-elt "")))
+(ert-deftest test-seq-mapn-circular-lists ()
+ (let ((l1 '#1=(1 . #1#)))
+ (should (equal (seq-mapn #'+ '(3 4 5 7) l1)
+ '(4 5 6 8)))))
+
(provide 'seq-tests)
;;; seq-tests.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] master 545812c: Backport seq-mapn fix from Emacs master,
Nicolas Petton <=