Subject: bug#62845: 29.0.90; nntp-with-open-group-function kills current buffer on timeout

From: Eric Abrahamsen <[email-masked]>
Date: Fri, 05 May 2023 20:35:06 -0700

Eric Abrahamsen <[email-masked]> writes:

> Eli Zaretskii <[email-masked]> writes:
>
>>> From: Eric Abrahamsen <[email-masked]>
>>> Cc: Eli Zaretskii <[email-masked]>,  [email-masked]
>>> Date: Wed, 26 Apr 2023 20:08:53 -0700
>>> 
>>> Andreas Schwab <[email-masked]> writes:
>>> 
>>> > commit 032969e8c65 "Don't have nntp-report signal an error"
>>> 
>>> Ooh, I knew this would end up being me. Give me a couple of days, it
>>> might not be the weekend before I have time to dig through this.
>>
>> Eric,
>>
>> Any progress?  I'd like to make another pretest of Emacs 29 soon, and
>> I'm waiting for this fix.  TIA.

[...]

> Other code in this library checks if the timer has killed the process
> buffer in the meantime. There's probably a safe solution in here
> somewhere, but if you're looking for a reliable regression fix to
> include in Emacs 29, it's probably best just to revert 032969e8c65. That
> behavior is annoying, but at least not buggy.

Looking more closely at this, there's already a mechanism for throwing
out of the `nntp-with-open-group' wrapper: if `nntp--report-1' is t,
then `nntp-report' should throw the appropriate symbol and we'd get the
desired effect of canceling this server connection, without raising a
top-level error.

`nntp--report-1' should be non-nil in the case, I'll try to figure out
why it isn't working.