summaryrefslogtreecommitdiff
path: root/test/lisp/emacs-lisp
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-08-12 15:15:11 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-08-12 15:16:39 +0200
commitc0d761bf7f441f8ab9792351a493dc6bd5525dc1 (patch)
treeb22c7d181d29f4ebff37aae7bae1da2db0fe854b /test/lisp/emacs-lisp
parentf947b20a1926ffc5b0553297dfc26d8390bcb328 (diff)
downloademacs-c0d761bf7f441f8ab9792351a493dc6bd5525dc1.tar.gz
emacs-c0d761bf7f441f8ab9792351a493dc6bd5525dc1.tar.bz2
emacs-c0d761bf7f441f8ab9792351a493dc6bd5525dc1.zip
Further seq-uniq speed-ups for lists
* lisp/emacs-lisp/seq.el (seq-uniq): Speed up more for long lists (bug#57079).
Diffstat (limited to 'test/lisp/emacs-lisp')
-rw-r--r--test/lisp/emacs-lisp/seq-tests.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/test/lisp/emacs-lisp/seq-tests.el b/test/lisp/emacs-lisp/seq-tests.el
index a655377e6cc..1a27467d292 100644
--- a/test/lisp/emacs-lisp/seq-tests.el
+++ b/test/lisp/emacs-lisp/seq-tests.el
@@ -570,7 +570,12 @@ Evaluate BODY for each created sequence.
(substring "2")
(substring "1"))))
(should (equal (seq-uniq list) '("1" "2" "3")))
- (should (equal (seq-uniq list #'eq) '("1" "2" "3" "2" "1")))))
+ (should (equal (seq-uniq list #'eq) '("1" "2" "3" "2" "1"))))
+ ;; Long lists have a different code path.
+ (let ((list (seq-map-indexed (lambda (_ i) i)
+ (make-list 10000 nil))))
+ (should (= (length list) 10000))
+ (should (= (length (seq-uniq (append list list))) 10000))))
(provide 'seq-tests)
;;; seq-tests.el ends here