diff options
author | Glenn Morris <rgm@gnu.org> | 2011-02-02 23:02:52 -0800 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2011-02-02 23:02:52 -0800 |
commit | 81911782a039560d83b2c320db5146ebc821ccf5 (patch) | |
tree | a2bea86de6d28c89820606d9a09496f8ee5ae04f | |
parent | 9c53cd770031913d069a7b611c12841960d58e6a (diff) | |
download | emacs-81911782a039560d83b2c320db5146ebc821ccf5.tar.gz |
* lisp/ibuf-ext.el (ibuffer-filter-disable): Make it work. (Bug#7969)
Details:
An error in a filter would cause an infinite loop.
ibuffer-update calls ibuffer-redisplay-engine which calls
ibuffer-update which calls ibuffer-redisplay-engine, etc.
ibuffer-generate-filter-groups calls ibuffer-included-in-filters-p.
If ibuffer-included-in-filter-p-1 meets an unknown element in the
filter, it calls ibuffer-filter-disable, which calls ibuffer-update.
If the filters have not been properly disabled, we go round and round.
-rw-r--r-- | lisp/ChangeLog | 2 | ||||
-rw-r--r-- | lisp/ibuf-ext.el | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f191fd4fd71..4ed59a2f60b 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2011-02-03 Glenn Morris <rgm@gnu.org> + * ibuf-ext.el (ibuffer-filter-disable): Make it work. (Bug#7969) + * faces.el (set-face-attribute): Doc fix. (Bug#2659) 2011-02-02 Stefan Monnier <monnier@iro.umontreal.ca> diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index d09a6cfa690..95a753c6add 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el @@ -780,7 +780,8 @@ The value from `ibuffer-saved-filter-groups' is used." (defun ibuffer-filter-disable () "Disable all filters currently in effect in this buffer." (interactive) - (setq ibuffer-filtering-qualifiers nil) + (setq ibuffer-filtering-qualifiers nil + ibuffer-filter-groups nil) (let ((buf (ibuffer-current-buffer))) (ibuffer-update nil t) (when buf |