Function: ibuffer-decompose-filter
ibuffer-decompose-filter is an autoloaded, interactive and
byte-compiled function defined in ibuf-ext.el.gz.
Signature
(ibuffer-decompose-filter)
Documentation
Separate this buffer's top compound filter (AND, OR, NOT, or SAVED).
This means that the topmost filter on the filtering stack, which must be a complex filter like (OR [name: foo] [mode: bar-mode]), will be turned into separate filters, like [name: foo] and [mode: bar-mode].
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/ibuf-ext.el.gz
;;;###autoload
(defun ibuffer-decompose-filter ()
"Separate this buffer's top compound filter (AND, OR, NOT, or SAVED).
This means that the topmost filter on the filtering stack, which must
be a complex filter like (OR [name: foo] [mode: bar-mode]), will be
turned into separate filters, like [name: foo] and [mode: bar-mode]."
(interactive)
(unless ibuffer-filtering-qualifiers
(error "No filters in effect"))
(let* ((filters ibuffer-filtering-qualifiers)
(head (cdar filters))
(tail (cdr filters))
(value
(pcase (caar filters)
((or 'or 'and) (nconc head tail))
('saved
(let ((data (assoc head ibuffer-saved-filters)))
(unless data
(ibuffer-filter-disable)
(error "Unknown saved filter %s" head))
(append (cdr data) tail)))
('not (cons (ibuffer-unary-operand (car filters)) tail))
(_
(error "Filter type %s is not compound" (caar filters))))))
(setq ibuffer-filtering-qualifiers value))
(ibuffer-update nil t))