GNU bug report logs -
#62427
tab-bar-new-tab-to now handles cases with multiple side-windows
Previous Next
Full log
View this message in rfc822 format
>>> 1. (setq debug-on-error t enable-recursive-minibuffers t)
>>> 2. M-: (or any other prompt like 'M-x')
>>> 3. Resize the minibuffer window e.g. with the mouse to at least 4 lines high
>>> 4. M-x windmove-swap-states-up RET
>>> 5. Click on the bottom window
>>> 6. C-x t 2
>>> 7. Click on the bottom window
>>> 8. C-x t 2
>>>
>>> Debugger entered--Lisp error: (error "Specified root is not an ancestor of specified win...")
>>> delete-other-windows-internal(#<window 4 on *scratch*> #<window 7 on *Minibuf-1*>)
>>> delete-other-windows()
>>> tab-bar-new-tab-to()
>>> tab-new(nil)
>>
>> Maybe the simplest fix is just not to create such a broken
>> window configuration:
>>
>> diff --git a/lisp/windmove.el b/lisp/windmove.el
>> index 06ce16c0d42..57511291588 100644
>> --- a/lisp/windmove.el
>> +++ b/lisp/windmove.el
>> @@ -724,6 +724,8 @@ windmove-swap-states-in-direction
>> nil windmove-wrap-around 'nomini)))
>> (cond ((or (null other-window) (window-minibuffer-p other-window))
>> (user-error "No window %s from selected window" dir))
>> + ((window-minibuffer-p (selected-window))
>> + (user-error "Selected window is the minibuffer"))
>> (t
>> (window-swap-states nil other-window)))))
>
> This is another patch that could be installed either to emacs-29 or master.
This guard is pushed to master. But the root problem still persists.
It can be reproduced in emacs-28/29/30:
0. emacs -Q
1. M-x
2. C-x t 2
3. C-x o ;; switches to the minibuffer
4. C-x t 2
Debugger entered--Lisp error: (error "Specified root is not an ancestor of specified win...")
delete-other-windows-internal(#<window 4 on *Minibuf-1*> #<window 8 on *scratch*>)
delete-other-windows()
tab-bar-new-tab-to()
tab-new(nil)
funcall-interactively(tab-new nil)
command-execute(tab-new)
This bug report was last modified 2 years and 63 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.