Subject: Re: bug#36497: pop-to-buffer + quit-window negates with-current-buffer

From: martin rudalics <[email-masked]>
Date: Thu, 4 Jul 2019 14:50:52 +0200

> Steps to reproduce:
 >
 > 0. Run emacs -Q
 > 1. Evaluate the following in *scratch* buffer:
 >
 > (with-current-buffer (get-buffer-create "foo")
 >    (pop-to-buffer (get-buffer-create "bar"))
 >    (quit-window)
 >    (current-buffer))
 >
 > Result:
 > #<buffer *scratch*>
 >
 > Expected result:
 > #<buffer foo>

Both 'pop-to-buffer' and 'quit-window' may call 'select-window' which
implicitly makes that window's buffer current.  In the case at hand,
'quit-window' deletes the window of *bar* since it didn't exist
before, selects the window selected before 'pop-to-buffer' was called
and makes that window's buffer current.  So the current behavior is
the expected one.

martin