Function: ibuffer--or-and-filter
ibuffer--or-and-filter is a byte-compiled function defined in
ibuf-ext.el.gz.
Signature
(ibuffer--or-and-filter OP DECOMPOSE)
Source Code
;; Defined in /usr/src/emacs/lisp/ibuf-ext.el.gz
(defun ibuffer--or-and-filter (op decompose)
(if decompose
(if (eq op (caar ibuffer-filtering-qualifiers))
(ibuffer-decompose-filter)
(error "Top filter is not an %s" (upcase (symbol-name op))))
(when (< (length ibuffer-filtering-qualifiers) 2)
(error "Need two filters to %s" (upcase (symbol-name op))))
;; If either filter is an op, eliminate unnecessary nesting.
(let ((first (pop ibuffer-filtering-qualifiers))
(second (pop ibuffer-filtering-qualifiers)))
(push (nconc (if (eq op (car first)) first (list op first))
(if (eq op (car second)) (cdr second) (list second)))
ibuffer-filtering-qualifiers)))
(ibuffer-update nil t))