From: Glenn Morris Date: Thu, 3 Feb 2011 07:02:52 +0000 (-0800) Subject: * lisp/ibuf-ext.el (ibuffer-filter-disable): Make it work. (Bug#7969) X-Git-Tag: emacs-pretest-23.2.94~25 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=df27585129eda912634720f8185379de1c0de08d;p=emacs.git * 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. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6d0a352ca3c..b0e901c293a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2011-02-03 Glenn Morris + * 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 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