Subject: bug#10955: 24.0.94; Closing Speedbar frame raises error

From: Stephen Berman <[email-masked]>
Date: Tue, 06 Mar 2012 17:04:27 +0100

On Tue, 06 Mar 2012 16:36:17 +0100 martin rudalics <[email-masked]> wrote:

>> 0. emacs -Q
>> 1. Check "Enter Debugger on Error" in the Options menu.
>> 2. M-x speedbar
>> 3. With the Speedbar frame selected, type `q'.
>> =>The Speedbar frame vanishes, and in the remaining frame, the following
>> backtrace appears:
>>
>> Debugger entered--Lisp error: (error "Attempt to delete the sole visible or
>> iconified frame")
>>   delete-frame(#<frame Speedbar 1.0 0x89f3f80>)
>>   window--delete(#<window 8 on  SPEEDBAR> t t)
>>   replace-buffer-in-windows(#<buffer  SPEEDBAR>)
>>   kill-buffer(#<buffer  SPEEDBAR>)
>>   dframe-close-frame()
>>   call-interactively(dframe-close-frame nil nil)
[...]
> So this code makes it impossible to delete an invisible (or iconified)
> frame if it's selected and there is only one other visible frame.  The
> attached patch should fix this but I'm not very sure whether it's
> correct.

I also can't say if it's the best fix, but I confirm that with it I
don't see the error I reported.

Steve Berman