Subject: Re: bug#71386: 29.1; Frame is auto-deleted even when it has multiple tabs

From: martin rudalics <[email-masked]>
Date: Thu, 6 Jun 2024 11:19:59 +0200

>> If I open a frame with multiple tabs, and one of the tabs has a
 >> dedicated window, then kill the buffer with the dedicated window, the
 >> frame is deleted along with its tabs.
 >>
 >> I understand that this is the documented behaviour, however my
 >> expectation is that the tab should be deleted but the frame should
 >> stay when other tabs are available, similar to how the frame is not
 >> deleted if other windows are visible.
 >
 > I'm not sure I agree with you.  Tabs are just saved frame
 > configurations, they are not real windows.  If we make this behavior
 > dependent on tab-bar-mode, we basically introduce an incompatible
 > behavior change in this particular case, which people and Lisp
 > programs out there might not expect or like.

The current behavior of 'replace-buffer-in-windows' has been taken over
from 'quit-window' which Richard initially designed as

     ;; Get rid of the frame, if it has just one dedicated window
     ;; and other visible frames exist.

It is not carved in stone but if we want to change it for the tabs case
we should leave it in place.  So I think that Juri should provide a tabs
option that has 'quit-restore-window' (which 'replace-buffer-in-windows'
should call) spare the frame in that case.  Which buffer to show in that
window instead (especially if it never showed another buffer in its
whole life) is another question.

martin