diff options
author | Tino Calancha <tino.calancha@gmail.com> | 2017-10-20 22:11:39 +0900 |
---|---|---|
committer | Tino Calancha <tino.calancha@gmail.com> | 2017-10-20 22:11:39 +0900 |
commit | ee6fe8378a28444cb4913abca4af742f736e9b45 (patch) | |
tree | 35beb1736dbf4c4791d5795a09f7c71d8be084b1 /lisp/ibuf-ext.el | |
parent | 658853aebb0ae2ee243276e04a7672fa7525ec5c (diff) | |
download | emacs-ee6fe8378a28444cb4913abca4af742f736e9b45.tar.gz emacs-ee6fe8378a28444cb4913abca4af742f736e9b45.tar.bz2 emacs-ee6fe8378a28444cb4913abca4af742f736e9b45.zip |
Make ibuffer filters idempotent
* lisp/ibuf-ext.el (ibuffer-push-filter): Check if the
filter is already in effect (Bug#28826).
* lisp/ibuf-macs.el (define-ibuffer-filter):
Report to user if the filter was already enabled.
Diffstat (limited to 'lisp/ibuf-ext.el')
-rw-r--r-- | lisp/ibuf-ext.el | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 686bc392b60..2c841fa7e0a 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el @@ -1033,8 +1033,11 @@ group definitions by setting `ibuffer-filter-groups' to nil." (ibuffer-jump-to-buffer (buffer-name buf))))) (defun ibuffer-push-filter (filter-specification) - "Add FILTER-SPECIFICATION to `ibuffer-filtering-qualifiers'." - (push filter-specification ibuffer-filtering-qualifiers)) + "Add FILTER-SPECIFICATION to `ibuffer-filtering-qualifiers'. +If FILTER-SPECIFICATION is already in the list then return nil. Otherwise, +return the updated list." + (unless (member filter-specification ibuffer-filtering-qualifiers) + (push filter-specification ibuffer-filtering-qualifiers))) ;;;###autoload (defun ibuffer-decompose-filter () |