Better docstring for seq.el functions

* lisp/emacs-lisp/seq.el: Better docstring for seq.el functions
This commit is contained in:
Nicolas Petton 2015-02-06 15:57:54 +01:00
parent c4a0eff011
commit 58c098199a
2 changed files with 13 additions and 7 deletions

View file

@ -1,6 +1,8 @@
2015-02-06 Nicolas Petton <nicolas@petton.fr>
* emacs-lisp/seq.el (seq-mapcat, seq-partition, seq-group-by): New functions.
* emacs-lisp/seq.el (seq-drop-while, seq-take-while, seq-count)
(seq--drop-list, seq--take-list, seq--take-while-list): Better docstring.
2015-02-06 Artur Malabarba <bruce.connor.am@gmail.com>

View file

@ -92,14 +92,14 @@ returned."
(seq-subseq seq 0 (min (max n 0) (seq-length seq)))))
(defun seq-drop-while (pred seq)
"Return a sequence, from the first element for which (PRED element) is nil, of SEQ.
"Return a sequence from the first element for which (PRED element) is nil in SEQ.
The result is a sequence of the same type as SEQ."
(if (listp seq)
(seq--drop-while-list pred seq)
(seq-drop seq (seq--count-successive pred seq))))
(defun seq-take-while (pred seq)
"Return a sequence of the successive elements for which (PRED element) is non-nil in SEQ.
"Return the successive elements for which (PRED element) is non-nil in SEQ.
The result is a sequence of the same type as SEQ."
(if (listp seq)
(seq--take-while-list pred seq)
@ -152,7 +152,7 @@ If SEQ is empty, return INITIAL-VALUE and FUNCTION is not called."
t))
(defun seq-count (pred seq)
"Return the number of elements for which (PRED element) returns non-nil in seq."
"Return the number of elements for which (PRED element) is non-nil in SEQ."
(let ((count 0))
(seq-doseq (elt seq)
(when (funcall pred elt)
@ -258,14 +258,16 @@ keys. Keys are compared using `equal'."
nil)))
(defun seq--drop-list (list n)
"Optimized version of `seq-drop' for lists."
"Return a list from LIST without its first N elements.
This is an optimization for lists in `seq-drop'."
(while (and list (> n 0))
(setq list (cdr list)
n (1- n)))
list)
(defun seq--take-list (list n)
"Optimized version of `seq-take' for lists."
"Return a list from LIST made of its first N elements.
This is an optimization for lists in `seq-take'."
(let ((result '()))
(while (and list (> n 0))
(setq n (1- n))
@ -273,13 +275,15 @@ keys. Keys are compared using `equal'."
(nreverse result)))
(defun seq--drop-while-list (pred list)
"Optimized version of `seq-drop-while' for lists."
"Return a list from the first element for which (PRED element) is nil in LIST.
This is an optimization for lists in `seq-drop-while'."
(while (and list (funcall pred (car list)))
(setq list (cdr list)))
list)
(defun seq--take-while-list (pred list)
"Optimized version of `seq-take-while' for lists."
"Return the successive elements for which (PRED element) is non-nil in LIST.
This is an optimization for lists in `seq-take-while'."
(let ((result '()))
(while (and list (funcall pred (car list)))
(push (pop list) result))