[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/seq 302c673617 13/20: Backport seq-mapn fix from Emacs
From: |
Stefan Monnier |
Subject: |
[elpa] externals/seq 302c673617 13/20: Backport seq-mapn fix from Emacs master |
Date: |
Thu, 1 Feb 2024 13:56:45 -0500 (EST) |
branch: externals/seq
commit 302c673617af68553fc8a7b7b897d982096f0c02
Author: Nicolas Petton <nicolas@petton.fr>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
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.
---
seq-24.el | 5 ++++-
seq-25.el | 5 ++++-
tests/seq-tests.el | 5 +++++
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/seq-24.el b/seq-24.el
index 3f9cd8887f..36a3f2b93d 100644
--- a/seq-24.el
+++ b/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/seq-25.el b/seq-25.el
index c2268dddff..ff79dc0a29 100644
--- a/seq-25.el
+++ b/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/tests/seq-tests.el b/tests/seq-tests.el
index 5d729b19be..b0d29318bb 100644
--- a/tests/seq-tests.el
+++ b/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
- [elpa] branch externals/seq created (now 27a90793a1), Stefan Monnier, 2024/02/01
- [elpa] externals/seq 5d15ffc526 03/20: * packages/seq/seq-25.el: Better declarations for seq--when-emacs-25-p, Stefan Monnier, 2024/02/01
- [elpa] externals/seq 0775a8abc8 06/20: * seq-24.el (seq-concatenate, seq-into, seq--make-bindings): Use _, Stefan Monnier, 2024/02/01
- [elpa] externals/seq 302c673617 13/20: Backport seq-mapn fix from Emacs master,
Stefan Monnier <=
- [elpa] externals/seq 27a90793a1 20/20: Sync seq.el with Emacs master and bump version to 2.24, Stefan Monnier, 2024/02/01
- [elpa] externals/seq 01c7d57eee 05/20: Update seq to version 2.15, Stefan Monnier, 2024/02/01
- [elpa] externals/seq d4b6e54a4f 04/20: Update seq.el to version 2.14, Stefan Monnier, 2024/02/01
- [elpa] externals/seq cccebf736e 09/20: ; Fix documentation of seq-subseq, Stefan Monnier, 2024/02/01
- [elpa] externals/seq 2e44da65b0 01/20: * packages/seq: Don't define it as a :core package, Stefan Monnier, 2024/02/01
- [elpa] externals/seq fcabc1452c 17/20: * .gitignore: New file, Stefan Monnier, 2024/02/01
- [elpa] externals/seq d5b52c85db 18/20: ; Sync seq.el with Emacs master and bump version to 2.23, Stefan Monnier, 2024/02/01
- [elpa] externals/seq 5df4175e2a 08/20: * packages/seq/seq-24.el: Rename seq-p to seqp, Stefan Monnier, 2024/02/01
- [elpa] externals/seq 158ec91aa4 10/20: Backport seq.el changes from Emacs master, Stefan Monnier, 2024/02/01
- [elpa] externals/seq 6beb2cd8d0 07/20: Update seq.el to 2.16, Stefan Monnier, 2024/02/01