diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-03-17 09:54:41 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-03-17 09:54:41 -0400 |
commit | 81bcad03e93854087ab239f4e8b7c062fb069ca5 (patch) | |
tree | 66b7495b3b5bfb8845ebed5758a65093d17ba5bb /lisp/emacs-lisp | |
parent | 6ed3f04e5a3c8aee40a26805bb00cdd070eba319 (diff) | |
download | emacs-81bcad03e93854087ab239f4e8b7c062fb069ca5.tar.gz emacs-81bcad03e93854087ab239f4e8b7c062fb069ca5.tar.bz2 emacs-81bcad03e93854087ab239f4e8b7c062fb069ca5.zip |
(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.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/seq.el | 5 |
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) |