;; Author: Nicolas Petton <nicolas@petton.fr>
;; Keywords: sequences
-;; Version: 1.2
+;; Version: 1.3
;; Package: seq
;; Maintainer: emacs-devel@gnu.org
;;
;; All provided functions work on lists, strings and vectors.
;;
-;; Functions taking a predicate or a function iterating over the
-;; sequence as argument take the function as their first argument and
+;; Functions taking a predicate or iterating over a sequence using a
+;; function as argument take the function as their first argument and
;; the sequence as their second argument. All other functions take
;; the sequence as their first argument.
;;
(if (listp seq)
(sort (seq-copy seq) pred)
(let ((result (seq-sort pred (append seq nil))))
- (seq--into result (type-of seq)))))
+ (seq-into result (type-of seq)))))
(defun seq-contains-p (seq elt &optional testfn)
"Return the first element in SEQ that equals to ELT.
seq)
(if (listp seq)
result
- (seq--into result (type-of seq)))))))
+ (seq-into result (type-of seq)))))))
-(defun seq--into (seq type)
- "Convert the sequence SEQ into a sequence of type TYPE."
+(defun seq-into (seq type)
+ "Convert the sequence SEQ into a sequence of type TYPE.
+TYPE can be one of the following symbols: vector, string or list."
(pcase type
(`vector (vconcat seq))
(`string (concat seq))