aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2011-02-02 23:02:52 -0800
committerGlenn Morris2011-02-02 23:02:52 -0800
commitdf27585129eda912634720f8185379de1c0de08d (patch)
treedac2d2a1bc11e80e46b6921327091c0b55e70ebb
parent95838641ae01abb8589c99512dfd5ed6bccf25dc (diff)
downloademacs-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/ChangeLog2
-rw-r--r--lisp/ibuf-ext.el3
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 @@
12011-02-03 Glenn Morris <rgm@gnu.org> 12011-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
52011-02-02 Stefan Monnier <monnier@iro.umontreal.ca> 72011-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