Subject: bug#60078: 30.0.50; Gnus: Can't remove groups of select methods that don't exist anymore

From: Eric Abrahamsen <[email-masked]>
Date: Thu, 16 May 2024 19:55:32 -0700

Jakub Ječmínek via "Bug reports for GNU Emacs, the Swiss army knife of
text editors" <[email-masked]> writes:

> "Eric Abrahamsen" <[email-masked]> writes:
>> [...]
>> Where does that leave us? I think there's no safe way to say "this
>> group's select method no longer exists", because in many cases the
>> presence of a sexp like (nnml "<directory>") is enough to count as
>> "exists".
>>
>> So I think "bogus" can only mean: "this group belongs to a server that
>> provides a `gnus-request-list' method, but when we request the list,
>> this group isn't in it".
>>
>> I think you're right that simply checking if a group is active shouldn't
>> mean anything, as there are plenty of reasons a group might not be
>> activated.
>>
>> WDYT?
>
> Your analysis is brilliant, thank you. So to summarize what bogus group
>  actually should be:
>
>  1. The server of the newsgroup provides `gnus-request-list' method
>  2. The server has been sucessfully opened
>  3. The group is not listed in the active file
>  4. We do not distinguish between native and secondary select methods
>  and foreign groups.
>
> Is it correct?

That's what I think, yes, though it would probably be a good idea to
float this on gnus.general and see if anyone has any opinions, I'll do
that in a bit.

> If we go back to Björn's bug report though, I still think that the
> "correct" way to remove groups without corresponding select method is to
> kill them (C-k) and then kill them again from the list of killed
> newsgroups. This is actually what `gnus-check-bogus-newsgroups' function
> does.

Yes, poor Björn didn't really get anything resolved -- I think in his
case the thing to do is just delete the groups.

Eric