summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/seq.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-10-04 21:44:52 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-10-04 21:44:52 +0200
commit92df7cd923d0e870f08484cec06c2726be30882b (patch)
treef807122fce7f761ea97c9af634ed8a1f903895b3 /lisp/emacs-lisp/seq.el
parent1d3d87cd678371b067887950acc640361d0ab87c (diff)
downloademacs-92df7cd923d0e870f08484cec06c2726be30882b.tar.gz
emacs-92df7cd923d0e870f08484cec06c2726be30882b.tar.bz2
emacs-92df7cd923d0e870f08484cec06c2726be30882b.zip
Add 'seq-keep'
* doc/lispref/sequences.texi (Sequence Functions): Document it. * lisp/emacs-lisp/seq.el (seq-keep): New function (bug#58278).
Diffstat (limited to 'lisp/emacs-lisp/seq.el')
-rw-r--r--lisp/emacs-lisp/seq.el4
1 files changed, 4 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el
index 31dcfa98b40..82ade0ac0c3 100644
--- a/lisp/emacs-lisp/seq.el
+++ b/lisp/emacs-lisp/seq.el
@@ -695,5 +695,9 @@ which may be shorter."
result))
(nreverse result)))
+(defun seq-keep (function sequence)
+ "Apply FUNCTION to SEQUENCE and return all non-nil results."
+ (delq nil (seq-map function sequence)))
+
(provide 'seq)
;;; seq.el ends here