Subject: Re: bug#32790: 27.0.50; point jumps unexpectedly after delete-window

From: Juri Linkov <[email-masked]>
Date: Sun, 02 Dec 2018 00:43:01 +0200

>>      ((window-minibuffer-p)
>>       (if force-same-window
>>           (user-error "Cannot switch buffers in minibuffer window")
>>         (pop-to-buffer buffer norecord)))
>>      ((eq (window-dedicated-p) t)
>>       (if force-same-window
>>           (user-error "Cannot switch buffers in a dedicated window")
>>         (pop-to-buffer buffer norecord)))
>
> These ones stupefied me when I tried to study your patch yesterday.
> When 'switch-to-buffer-obey-display-actions' is non-nil you do not
> reset 'force-same-window' so you can get an error when this is t and
> you're either in the minibuffer or the window is strongly dedicated.
> Right?

I don't understand how 'force-same-window' can be non-nil if there is
a condition "unless switch-to-buffer-obey-display-actions" in the
interactive spec.  But if some code calls 'switch-to-buffer'
non-interactively with non-nil 'force-same-window', should it
signal an error when 'pop-to-buffer-same-window' displays the buffer
in another window?