Function: ibuffer-included-in-filter-p-1

ibuffer-included-in-filter-p-1 is a byte-compiled function defined in ibuf-ext.el.gz.

Signature

(ibuffer-included-in-filter-p-1 BUF FILTER)

Source Code

;; Defined in /usr/src/emacs/lisp/ibuf-ext.el.gz
(defun ibuffer-included-in-filter-p-1 (buf filter)
  (not
   (not
    (pcase (car filter)
      ('or
       ;;; ATTN: Short-circuiting alternative with parallel structure w/`and
       ;;(catch 'has-match
       ;;  (dolist (filter-spec (cdr filter) nil)
       ;;    (when (ibuffer-included-in-filter-p buf filter-spec)
       ;;      (throw 'has-match t))))
       (memq t (mapcar (lambda (x)
                         (ibuffer-included-in-filter-p buf x))
                       (cdr filter))))
      ('and
       (catch 'no-match
         (dolist (filter-spec (cdr filter) t)
           (unless (ibuffer-included-in-filter-p buf filter-spec)
             (throw 'no-match nil)))))
      ('saved
       (let ((data (assoc (cdr filter) ibuffer-saved-filters)))
	 (unless data
	   (ibuffer-filter-disable t)
	   (error "Unknown saved filter %s" (cdr filter)))
	 (ibuffer-included-in-filters-p buf (cdr data))))
      (_
       (pcase-let ((`(,_type ,_desc ,func)
                    (assq (car filter) ibuffer-filtering-alist)))
         (unless func
           (ibuffer-filter-disable t)
           (error "Undefined filter %s" (car filter)))
         (funcall func buf (cdr filter))))))))