Subject: Re: bug#29696: Reading summary keys from article changes window configuration
From: Katsumi Yamaoka <[email-masked]>
To: Basil L. Contovounesios <[email-masked]>
Cc: [email-masked]
Date: Thu, 14 Dec 2017 13:45:57 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

On Wed, 13 Dec 2017 20:24:43 +0000, Basil L. Contovounesios wrote:
> Using Gnus with the user option pop-up-frames set to 'graphic-only, I
> observe the following behaviour:

> 1. Visit an article.
> 2. Make article window the sole window in its containing frame.
> 3. Type = (gnus-summary-expand-window).

> Expected result: The article's summary replaces the article in the
> frame's sole window.

> Actual result: The expected result plus an additional frame displaying
> the corresponding summary buffer.  In other words, expanding the article
> window causes an extraneous frame to be created.

Confirmed and applied your patch in the emacs-26 branch.  Thanks.

> I believe this is caused by a call to pop-to-buffer within
> save-window-excursion in the function gnus-article-read-summary-keys.
> Is the call to pop-to-buffer really necessary for the purpose of key
> lookup?  Wouldn't changing the current buffer suffice, so as not to
> affect the window configuration in the first place?

I agree, only changing the buffer is sufficient in that case.
I don't know why pop-to-buffer is used, but it seems to be there
from the beginning (it is as is in Red Gnus 0.01 of 1996).
I guess it was beyond imagination that pop-to-buffer may raise
a new frame when there is no frame visiting the buffer, and why
this wasn't discovered so far is that those who set pop-up-frames
to nin-nil normally are not so many.

> If so, please consider the attached patch which addresses this.  The
> docstring of save-window-excursion even warns of the possibility of
> behaviour like the one I describe.

> The information gathered by gnus-bug follows my signature.

> Thanks,