Function: erc-settings--find-condition

erc-settings--find-condition is a byte-compiled function defined in erc-settings.el.gz.

Signature

(erc-settings--find-condition PREDICATE SETTINGS)

Documentation

Return all conditions in SETTINGS for which PREDICATE returns non-nil.

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc-settings.el.gz
(defun erc-settings--find-condition (predicate settings)
  "Return all conditions in SETTINGS for which PREDICATE returns non-nil."
  (letrec ((found ())
           (find (lambda (condition)
                   (pcase condition
                     (`(and . ,rest) (mapc find rest))
                     (`(or . ,rest) (mapc find rest))
                     (`(not ,cond) (funcall find cond))
                     ((pred (funcall predicate)) (push condition found))))))
    (dolist (setting settings)
      (funcall find (car setting)))
    (nreverse found)))