Add new function `seq-split'
* doc/lispref/sequences.texi (Sequence Functions): Document it. * lisp/emacs-lisp/seq.el (seq-split): New function. * lisp/emacs-lisp/shortdoc.el (sequence): Mention it.
This commit is contained in:
parent
a2f956a1d6
commit
b31680ef04
5 changed files with 56 additions and 0 deletions
|
@ -511,5 +511,26 @@ Evaluate BODY for each created sequence.
|
|||
(should (equal (seq-difference '(1 nil) '(2 nil))
|
||||
'(1)))))
|
||||
|
||||
(ert-deftest test-seq-split ()
|
||||
(let ((seq [0 1 2 3 4 5 6 7 8 9 10]))
|
||||
(should (equal seq (car (seq-split seq 20))))
|
||||
(should (equal seq (car (seq-split seq 11))))
|
||||
(should (equal (seq-split seq 10)
|
||||
'([0 1 2 3 4 5 6 7 8 9] [10])))
|
||||
(should (equal (seq-split seq 5)
|
||||
'([0 1 2 3 4] [5 6 7 8 9] [10])))
|
||||
(should (equal (seq-split seq 1)
|
||||
'([0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10])))
|
||||
(should-error (seq-split seq 0))
|
||||
(should-error (seq-split seq -10)))
|
||||
(let ((seq '(0 1 2 3 4 5 6 7 8 9)))
|
||||
(should (equal (seq-split seq 5)
|
||||
'((0 1 2 3 4) (5 6 7 8 9)))))
|
||||
(let ((seq "0123456789"))
|
||||
(should (equal (seq-split seq 2)
|
||||
'("01" "23" "45" "67" "89")))
|
||||
(should (equal (seq-split seq 3)
|
||||
'("012" "345" "678" "9")))))
|
||||
|
||||
(provide 'seq-tests)
|
||||
;;; seq-tests.el ends here
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue