Skip to content

Commit

Permalink
Update seq.el to v1.8
Browse files Browse the repository at this point in the history
* seq.el: Update to version 1.8.
* test/seq.el-test.el (test-seq-let): Update to version
1.8.
  • Loading branch information
NicolasPetton committed Jul 9, 2015
1 parent ca6cb4f commit ddbde5c
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
16 changes: 13 additions & 3 deletions seq.el
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

;; Author: Nicolas Petton <[email protected]>
;; Keywords: sequences
;; Version: 1.7
;; Version: 1.8
;; Package: seq

;; Maintainer: [email protected]
Expand Down Expand Up @@ -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))
Expand Down Expand Up @@ -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'."
Expand Down Expand Up @@ -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
5 changes: 5 additions & 0 deletions test/seq.el-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit ddbde5c

Please sign in to comment.