From ddbde5c48d45ddd6ff7ad7db9703f04952e8fb05 Mon Sep 17 00:00:00 2001 From: Nicolas Petton Date: Thu, 9 Jul 2015 19:40:21 +0200 Subject: [PATCH] Update seq.el to v1.8 * seq.el: Update to version 1.8. * test/seq.el-test.el (test-seq-let): Update to version 1.8. --- seq.el | 16 +++++++++++++--- test/seq.el-test.el | 5 +++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/seq.el b/seq.el index 5553de6..93fefd0 100644 --- a/seq.el +++ b/seq.el @@ -4,7 +4,7 @@ ;; Author: Nicolas Petton ;; Keywords: sequences -;; Version: 1.7 +;; Version: 1.8 ;; Package: seq ;; Maintainer: emacs-devel@gnu.org @@ -279,7 +279,7 @@ Equality is defined by TESTFN if non-nil or by `equal' if nil." '())) (defun seq-difference (seq1 seq2 &optional testfn) - "Return a list of th elements that appear in SEQ1 but not in SEQ2. + "Return a list of the elements that appear in SEQ1 but not in SEQ2. Equality is defined by TESTFN if non-nil or by `equal' if nil." (seq-reduce (lambda (acc elt) (if (not (seq-contains-p seq2 elt testfn)) @@ -325,6 +325,16 @@ TYPE can be one of the following symbols: vector, string or list." (`list (append seq nil)) (t (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'." @@ -442,7 +452,7 @@ If no element is found, return nil." (unless (fboundp 'elisp--font-lock-flush-elisp-buffers) ;; In Emacsā‰„25, (via elisp--font-lock-flush-elisp-buffers and a few others) ;; we automatically highlight macros. - (add-to-list 'emacs-lisp-mode-hook #'seq--activate-font-lock-keywords)) + (add-hook 'emacs-lisp-mode-hook #'seq--activate-font-lock-keywords)) (provide 'seq) ;;; seq.el ends here diff --git a/test/seq.el-test.el b/test/seq.el-test.el index ab46eb8..3643ce5 100644 --- a/test/seq.el-test.el +++ b/test/seq.el-test.el @@ -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