[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#64405: `toggle-side-windows' with 3 or more side windows leads to er
From: |
JD Smith |
Subject: |
bug#64405: `toggle-side-windows' with 3 or more side windows leads to error; reproducer included |
Date: |
Sat, 1 Jul 2023 15:48:25 -0400 |
From a fresh Emacs 28 emacs -Q:
(progn
(display-buffer-in-side-window (get-buffer-create "AA") '((side . right)
(slot . -1)))
(display-buffer-in-side-window (get-buffer-create "BB") '((side . right)
(slot . 0)))
(display-buffer-in-side-window (get-buffer-create "CC") '((side . right)
(slot . 1)))
(window-toggle-side-windows)
(window-toggle-side-windows))
Leads to the error `Specified root is not an ancestor of specified window’.
This arises as:
Debugger entered--Lisp error: (error "Specified root is not an ancestor of
specified win...")
delete-other-windows-internal(nil #<window 16>)
window-state-put((((min-height . 4) (min-width . 10) (min-height-ignore . 2)
(min-width-ignore . 7) (min-height-safe . 1) (min-width-safe . 2)
(min-pixel-height . 64) (min-pixel-width . 70) (min-pixel-height-ignore . 32)
(min-pixel-width-ignore . 49) (min-pixel-height-safe . 16)
(min-pixel-width-safe . 14)) leaf (pixel-width . 591) (pixel-height . 560)
(total-width . 84) (total-height . 35) (normal-height . 1.0) (normal-width .
1.0) (parameters (clone-of . #<window 3 on *scratch*>)) (buffer #<buffer
*scratch*> (selected . t) (hscroll . 0) (fringes 8 8 nil nil) (margins nil)
(scroll-bars nil 3 t nil 0 t nil) (vscroll . 0) (dedicated) (point . #<marker
at 480 in *scratch*>) (start . #<marker at 1 in *scratch*>))) #<window 16>)
window-toggle-side-windows()
(progn (display-buffer-in-side-window (get-buffer-create "AA") '((side .
right) (slot . -1))) (display-buffer-in-side-window (get-buffer-create "BB")
'((side . right) (slot . 0))) (display-buffer-in-side-window (get-buffer-create
"CC") '((side . right) (slot . 1))) (window-toggle-side-windows)
(window-toggle-side-windows))
(progn (progn (display-buffer-in-side-window (get-buffer-create "AA") '((side
. right) (slot . -1))) (display-buffer-in-side-window (get-buffer-create "BB")
'((side . right) (slot . 0))) (display-buffer-in-side-window (get-buffer-create
"CC") '((side . right) (slot . 1))) (window-toggle-side-windows)
(window-toggle-side-windows)))
elisp--eval-last-sexp(nil)
eval-last-sexp(nil)
funcall-interactively(eval-last-sexp nil)
command-execute(eval-last-sexp)
Strangely no error is seen with 1 or 2 side windows.
- bug#64405: `toggle-side-windows' with 3 or more side windows leads to error; reproducer included,
JD Smith <=