Subject: ibuffer: remove "No Buffers" error

From: Christopher Schmidt <[email-masked]>
Date: Sat, 10 Mar 2012 13:18:09 +0100

Hi gurus,

I noticed a little issue with ibuffer on GNU Emacs 24.0.94.1
(x86_64-unknown-linux-gnu, GTK+ Version 2.24.10) of 2012-03-10.

I use ibuffer-never-show-predicates to reduce the list of buffers in
ibuffer.  This works fine whilst there are buffers for ibuffer to
display.  If there are no buffers, ibuffer will error (and will leave an
unusable ibuffer-buffer behind).  What the point behind this error?  I
think that no buffers is a perfectly legitimate situation.

Recipe:
emacs -q
eval: (require 'ibuf-ext)
(push "" ibuffer-never-show-predicates)
M-x ibuffer RET

I think the whole error should be removed.
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index 17be553..7db4cc4 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -2140,11 +2140,10 @@ If optional arg SILENT is non-nil, do not display progress messages."
   (unless silent
     (message "Redisplaying current buffer list..."))
   (let ((blist (ibuffer-current-state-list)))
-    (when (null blist)
-      (if (and (featurep 'ibuf-ext)
+    (when (and (null blist)
+	       (featurep 'ibuf-ext)
 	       (or ibuffer-filtering-qualifiers ibuffer-hidden-filter-groups))
-	  (message "No buffers! (note: filtering in effect)")
-	(error "No buffers!")))
+      (message "No buffers! (note: filtering in effect)"))
     (ibuffer-redisplay-engine blist t)
     (unless silent
       (message "Redisplaying current buffer list...done"))

        Christopher