]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/ibuf-ext.el (ibuffer-filter-disable): Make it work. (Bug#7969)
authorGlenn Morris <rgm@gnu.org>
Thu, 3 Feb 2011 07:02:52 +0000 (23:02 -0800)
committerGlenn Morris <rgm@gnu.org>
Thu, 3 Feb 2011 07:02:52 +0000 (23:02 -0800)
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.

lisp/ChangeLog
lisp/ibuf-ext.el

index 6d0a352ca3c1165d4073af1c01b298960d29567d..b0e901c293a797ae52969694939d38f709e31422 100644 (file)
@@ -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>
index d09a6cfa6902913d11f554d47b9ea69eb5811d3a..95a753c6add23f4b25dff2ad0b1beae6c3cdff19 100644 (file)
@@ -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