From: Nicolas Petton Date: Mon, 28 Sep 2015 19:11:05 +0000 (+0200) Subject: Better documentation for seq-some X-Git-Tag: emacs-25.0.90~1223^2~79 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f0b71429b9fbfb5dc5a561321de42a39fc176809;p=emacs.git 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. --- diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi index b85d5d4c1b1..2dc494aec5d 100644 --- a/doc/lispref/sequences.texi +++ b/doc/lispref/sequences.texi @@ -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 diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el index e0f17c0335d..a63447d3243 100644 --- a/lisp/emacs-lisp/seq.el +++ b/lisp/emacs-lisp/seq.el @@ -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)))