Commit f0b71429 authored by NicolasPetton's avatar NicolasPetton

Better documentation for seq-some

* doc/lispref/sequences.texi:
* lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
guarantee that the returned value is the first non-nil value that
resulted from applying the predicate.
parent 5526561b
......@@ -558,9 +558,8 @@ calling @var{function}.
@end defun
@defun seq-some predicate sequence
This function returns non-@code{nil} if @var{predicate} returns
non-@code{nil} for any element of @var{sequence}. If so, the returned
value is the value returned by @var{predicate}.
This function returns the first non-@code{nil} value returned by
applying @var{predicate} to each element of @var{sequence} in turn.
@example
@group
......@@ -575,6 +574,10 @@ value is the value returned by @var{predicate}.
(seq-some #'null ["abc" 1 nil])
@result{} t
@end group
@group
(seq-some #'1+ [2 4 6])
@result{} 3
@end group
@end example
@end defun
......
......@@ -261,8 +261,7 @@ If SEQ is empty, return INITIAL-VALUE and FUNCTION is not called."
t))
(cl-defgeneric seq-some (pred seq)
"Return non-nil if (PRED element) is non-nil for any element in SEQ, nil otherwise.
If so, return the non-nil value returned by PRED."
"Return the first value for which if (PRED element) is non-nil for in SEQ."
(catch 'seq--break
(seq-doseq (elt seq)
(let ((result (funcall pred elt)))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment