diff options
| author | Glenn Morris | 2011-02-02 23:02:52 -0800 |
|---|---|---|
| committer | Glenn Morris | 2011-02-02 23:02:52 -0800 |
| commit | df27585129eda912634720f8185379de1c0de08d (patch) | |
| tree | dac2d2a1bc11e80e46b6921327091c0b55e70ebb | |
| parent | 95838641ae01abb8589c99512dfd5ed6bccf25dc (diff) | |
| download | emacs-df27585129eda912634720f8185379de1c0de08d.tar.gz emacs-df27585129eda912634720f8185379de1c0de08d.zip | |
* 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 6d0a352ca3c..b0e901c293a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,7 @@ | |||
| 1 | 2011-02-03 Glenn Morris <rgm@gnu.org> | 1 | 2011-02-03 Glenn Morris <rgm@gnu.org> |
| 2 | 2 | ||
| 3 | * ibuf-ext.el (ibuffer-filter-disable): Make it work. (Bug#7969) | ||
| 4 | |||
| 3 | * faces.el (set-face-attribute): Doc fix. (Bug#2659) | 5 | * faces.el (set-face-attribute): Doc fix. (Bug#2659) |
| 4 | 6 | ||
| 5 | 2011-02-02 Stefan Monnier <monnier@iro.umontreal.ca> | 7 | 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." | |||
| 780 | (defun ibuffer-filter-disable () | 780 | (defun ibuffer-filter-disable () |
| 781 | "Disable all filters currently in effect in this buffer." | 781 | "Disable all filters currently in effect in this buffer." |
| 782 | (interactive) | 782 | (interactive) |
| 783 | (setq ibuffer-filtering-qualifiers nil) | 783 | (setq ibuffer-filtering-qualifiers nil |
| 784 | ibuffer-filter-groups nil) | ||
| 784 | (let ((buf (ibuffer-current-buffer))) | 785 | (let ((buf (ibuffer-current-buffer))) |
| 785 | (ibuffer-update nil t) | 786 | (ibuffer-update nil t) |
| 786 | (when buf | 787 | (when buf |