I'd like to submit some mild changes in Ibuffer (ibuffer.el, ibuf-ext.el, and ibuffer-tests.el) which are available in this branch https://github.com/genovese/emacs/tree/ibuffer-and-filters which is up to date relative to the HEAD as of this morning. All these changes have been tested successfully in a new and a pre-existing build of emacs. (And my copyright paperwork has already been processed.) A brief description is below, with more detail in the committ message. I've also attached a patch file in case anyone prefers that. Brief Description: As a heavy Ibuffer user, I make steady use of filters and filter groups, with some quite specific rules. While the filter lists offer an implicit logical 'and', it would be much more convenient if one could use an 'and' *within* these rules. (Although DeMorgan's laws will work with 'or' and 'not' and saved filters can help to simulate this, neither is particularly convenient, readable, nor aestheticcally pleasing.) The proposed changes, summarize below, were motivated by adding this simple and negligble-cost feature to the filtering. The proposed changes are as follows: + Compound filters Add support for 'and' and normalize handling of 'not' to allow the original "spliced" format as well as a more lispy "sexp" format. Original documentation for the structure of compound filters was almost completely lacking. The updated code documents compound filter structure and clarifies the language used throughout, providing a single authoritative source for documentation on each concept. Fixed bug in 'saved' filter handling. There was an inconsistency in how the data was accessed at different points that would cause failure. (I do wonder if anyone ever uses saved filters based on this.) There are two choices in how to fix this; I made one but am open to both. + New pre-defined filters and an interactive filtering command Several new filters are defined by default to handle some very common filtering tasks (e.g., matching filename components since the 'filename' filter matches on the absolute pathname). A new command is offered to select a filter by completion on the descriptions, which is very easy to use without remembering key bindings. + Documentation fixes throughout ibuf-ext.el + Many new tests and fixed bug in original test. All the tests pass in emacs -Q in both new and old builds of emacs 25 (on Mac OS X). I look forward to any questions or comments. Thanks for your consideration. -- Chris