Subject: Re: bug#37745: (save-window-excursion (shell) (buffer-name (current-buffer)))

From: Michael Albinus <[email-masked]>
Date: Thu, 17 Oct 2019 18:50:00 +0200

martin rudalics <[email-masked]> writes:

>>> In many versions of Emacs the sexp below
>>>
>>>    (save-window-excursion (shell) (buffer-name (current-buffer)))
>>>
>>> returns "*shell*", but in some recent versions it returns the name of
>>> the current buffer instead.
>>
>> This seems to be introduced by
>>
>> commit 59191cd0cbe8463f9095a71cb4048bb138d6e446
>> Author: Michael Albinus <[email-masked]>
>> Date:   Sun Apr 2 11:02:54 2017 +0200
>>
>>      Apply connecion-local variables for shells
>>
>> if I read the log right.
>>
>> It wraps the `pop-to-buffer' in a `(with-current-buffer buffer', so
>> current-buffer doesn't change like it used to.
>
> Why can't you simply use (buffer-name (shell)) instead?

That's possible, of course.

However, `shell' has always made the shell buffer current. It was an
oversight by me to change this.

I've added this behavior to the docstring of `shell', and fixed
this. Committed to master.

> martin

Best regards, Michael.