summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2022-03-17 09:54:41 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2022-03-17 09:54:41 -0400
commit81bcad03e93854087ab239f4e8b7c062fb069ca5 (patch)
tree66b7495b3b5bfb8845ebed5758a65093d17ba5bb
parent6ed3f04e5a3c8aee40a26805bb00cdd070eba319 (diff)
downloademacs-81bcad03e93854087ab239f4e8b7c062fb069ca5.tar.gz
(seq-contains-p): Refine the non-nil returned value
* lisp/emacs-lisp/seq.el (seq-contains-p): Like `cl-some` return the value returned by the test function rather than t.
-rw-r--r--lisp/emacs-lisp/seq.el5
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el
index 5ea9fae2e9b..1bcb844d8e9 100644
--- a/lisp/emacs-lisp/seq.el
+++ b/lisp/emacs-lisp/seq.el
@@ -418,8 +418,9 @@ Equality is defined by TESTFN if non-nil or by `equal' if nil."
Equality is defined by TESTFN if non-nil or by `equal' if nil."
(catch 'seq--break
(seq-doseq (e sequence)
- (when (funcall (or testfn #'equal) e elt)
- (throw 'seq--break t)))
+ (let ((r (funcall (or testfn #'equal) e elt)))
+ (when r
+ (throw 'seq--break r))))
nil))
(cl-defgeneric seq-set-equal-p (sequence1 sequence2 &optional testfn)