Subject: bug#53662: 29.0.50; Cannot use tab-new from side window

From: martin rudalics <[email-masked]>
Date: Tue, 1 Feb 2022 09:09:54 +0100

> Martin, could you suggest how to ignore window-sideness
 > while splitting the side window?  'tab-bar-new-tab-to'
 > currently uses such trick to create a new window:
 >
 >        (let ((ignore-window-parameters t))
 >          (delete-other-windows))

Usually, you can't make a side window the only window on its frame - the
main window has to stay.  If you ignore window parameters, you have to
clean the state of windows yourself afterwards - for example, by giving
the sole remaining window a 'window-side' parameter of nil.  If you do
not do that, the windows state of the frame is broken already before you
try splitting the window below.

 >        (unless (eq tab-bar-new-tab-choice 'window)
 >          ;; Create a new window to get rid of old window parameters
 >          ;; (e.g. prev/next buffers) of old window.
 >          (split-window) (delete-window))
 >
 > but this fails in side windows.

This is a hack and would fail in the case at hand since 'split-window'
would set the 'window-side' parameter for the new window.  I'd rather
set all parameters of the selected window to nil instead.

martin