Subject: bug#45855: 28.0.50; gnus does not start if one of the nntp backend fails to authenticate

From: Lars Ingebrigtsen <[email-masked]>
Date: Tue, 19 Jan 2021 15:57:34 +0100

Alexandre Duret-Lutz <[email-masked]> writes:

> Lars Ingebrigtsen <[email-masked]> writes:
>
>> So I'm unable to reproduce this problem.  Does (setq debug-on-error t)
>> give you a backtrace?
>
> Here:
>
> Debugger entered--Lisp error: (nntp-authinfo-rejected . "Password rejected")
>   signal(nntp-authinfo-rejected "Password rejected")

Thanks.  This error was signalled from a different part of nntp.el than
when I tested with my setup, but using yours, I was able to reproduce
it easily enough.

This should now be fixed in Emacs 28.  The problem seems to be that we
have a special `nntp-authinfo-rejected' error condition that sounds like
it should be used here, but it shouldn't, because that'll make Gnus
startup totally fail, as you say.  Looking at when the error condition
was introduced (in 2015), it was meant for a different case:

       * lisp/gnus/nntp.el (nntp-end-of-line): Doc fix.
       (nntp-authinfo-rejected): New error condition.
       (nntp-wait-for): Use new error condition to signal authentication
       error.
       (nntp-retrieve-data): Rethrow new error condition to break out of
       recursive call to nntp-send-authinfo.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no