Subject: Re: bug#69093: window-state-put doesn't update current buffer

From: Eli Zaretskii <[email-masked]>
Date: Fri, 16 Feb 2024 13:46:24 +0200

> Cc: [email-masked]
> Date: Fri, 16 Feb 2024 10:39:36 +0100
> From:  martin rudalics via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
>  > Thanks for explanations.  I see this line in 'set-window-configuration':
>  >
>  >        Fset_buffer (new_current_buffer);
>  >
>  > Do you think this is the right fix?
> 
> No.  I think the right fix would be to remove the above line from
> 'set-window-configuration'.  We can't do that because some applications
> might depend on the current behavior.  But I am quite confident that
> nobody fully understands 'set-window-configuration' anyway and can
> predict what it does when selected frame, current buffer and the buffer
> and frame stored in the CONFIGURATION argument mismatch.

A more worrisome aspect of such a change would be the gazillion uses
of save-window-excursion.

> I'd say that any code run in a state where the buffer of the selected
> window and the current buffer are not the same - regardless of whether
> this happens when a state/configuration is saved or restored - should
> simply report an error.

Some do, others don't.  Still others silently correct the mismatch.