Subject: bug#8184: 23.1.90; `menu-bar-non-minibuffer-window-p' error in callsto `kill-this-buffer'

From: martin rudalics <[email-masked]>
Date: Sun, 06 Mar 2011 20:13:52 +0100

>> (defun kill-this-buffer-enabled-p ()
 >>    (or (not (menu-bar-non-minibuffer-window-p))
 >>        (let (found-1)
 >> 	(catch 'found-2
 >> 	  (dolist (buffer (buffer-list))
 >> 	    (unless (string-match-p "^ " (buffer-name buffer))
 >> 	      (if (not found-1)
 >> 		  (setq found-1 t)
 >> 		(throw 'found-2 t))))))))
 >
 > `found-1' is useless here (not used).
 >
 > (defun kill-this-buffer-enabled-p ()
 >   (or (not (menu-bar-non-minibuffer-window-p))
 >       (catch 'found
 >         (dolist (buffer  (buffer-list))
 >           (unless (string-match-p "^ " (buffer-name buffer))
 >             (throw 'found t)))
 >         nil)))

The idea is that at least _two_ interesting buffers are needed to enable
`kill-this-buffer'.  found-1 is initially nil and set to t when the
first interesting buffer is found.  The throw to found-2 occurs when the
second interesting buffer has been found.

martin