Function: consult--keep!

consult--keep! is a macro defined in consult.el.

Signature

(consult--keep! LIST FORM)

Documentation

Evaluate FORM for every element of LIST and keep the non-nil results.

Source Code

;; Defined in ~/.emacs.d/elpa/consult-20260805.1130/consult.el
(defmacro consult--keep! (list form)
  "Evaluate FORM for every element of LIST and keep the non-nil results."
  (declare (indent 1) (debug (gv-place body)))
  (cl-with-gensyms (head prev result)
    `(let* ((,head (cons nil ,list))
            (,prev ,head))
       (while (cdr ,prev)
         (if-let* ((,result (let ((it (cadr ,prev))) ,form)))
             (progn
               (pop ,prev)
               (setcar ,prev ,result))
           (setcdr ,prev (cddr ,prev))))
       (setf ,list (cdr ,head))
       nil)))