]> git.eshelyaron.com Git - emacs.git/commitdiff
Add seq-min and seq-max
authorNicolas Petton <nicolas@petton.fr>
Tue, 30 Jun 2015 16:29:32 +0000 (18:29 +0200)
committerNicolas Petton <nicolas@petton.fr>
Tue, 30 Jun 2015 16:40:19 +0000 (18:40 +0200)
Bump version number.

* lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
* test/automated/seq-tests.el: Add tests for seq-min and seq-max.

lisp/emacs-lisp/seq.el
test/automated/seq-tests.el

index 2d20de6171130f39cc2ce3f220d4f11ba688370b..68d40b99f705d4d810c537c662b4e36ecb81bfd2 100644 (file)
@@ -4,7 +4,7 @@
 
 ;; Author: Nicolas Petton <nicolas@petton.fr>
 ;; Keywords: sequences
-;; Version: 1.7
+;; Version: 1.8
 ;; Package: seq
 
 ;; Maintainer: emacs-devel@gnu.org
@@ -325,6 +325,16 @@ TYPE can be one of the following symbols: vector, string or list."
     (`list (append seq nil))
     (_ (error "Not a sequence type name: %S" type))))
 
+(defun seq-min (seq)
+  "Return the smallest element of SEQ.
+SEQ must be a sequence of numbers or markers."
+  (apply #'min (seq-into seq 'list)))
+
+(defun seq-max (seq)
+    "Return the largest element of SEQ.
+SEQ must be a sequence of numbers or markers."
+  (apply #'max (seq-into seq 'list)))
+
 (defun seq--drop-list (list n)
   "Return a list from LIST without its first N elements.
 This is an optimization for lists in `seq-drop'."
index ab46eb85f7609bac22f5a3cffdcc9224b22cf728..3643ce53cb0ca39e2e933045160ae4f47e421629 100644 (file)
@@ -297,5 +297,10 @@ Evaluate BODY for each created sequence.
       (should (null b))
       (should (null c)))))
 
+(ert-deftest test-seq-min-max ()
+  (with-test-sequences (seq '(4 5 3 2 0 4))
+    (should (= (seq-min seq) 0))
+    (should (= (seq-max seq) 5))))
+
 (provide 'seq-tests)
 ;;; seq-tests.el ends here