Subject: bug#35270: 27.0.50; gnus nnimap weird interaction between select methods

From: Eric Abrahamsen <[email-masked]>
Date: Sun, 28 Apr 2019 09:17:53 -0700

Deus Max <[email-masked]> writes:

> On Wed, Apr 24 2019, Deus Max wrote:
>
>> On Tue, Apr 23 2019, Eric Abrahamsen wrote:
>>
>>>
>>> You might as well get rid of this too, as it's no longer used.
>>>
>>> The only other thing I can think of is setting `gnus-verbose' to 10 and
>>> showing us all the messages: that will at least tell you a little bit
>>> more about what Gnus thinks it's doing.
>>>
>>> Eric
>>
>> Great advice, thank you. I'll get rid of all the unnecessary stuff, as
>> you suggest and re-run with gnus-verbose 10 !
>> I'm curious to see the outcome !
>
> Well that was interesting !
>
> The first surprise was when setting setting gnus-verbose and
> gnus-verbose-backend, then running "M-x gnus", barely made a difference
> to the amount of messages displayed !
>
>
> After a few trials of tinkering with the customize variables, where
> sometimes everything just worked and others back to square 1, the
> culprit was identified as variable gnus-message-archive-method set to
> '(nnimap "gmx").
>
> Probably, having the gmx as the "primary" imap selection
> (gnus-select-method) resulted in some interaction making the gmx groups
> appear both as nnimap+gmx:Group and as plain Group (default).

Right -- I think Gnus was trying to make a *new* server out of '(nnimap
"gmx"), which then sort of conflicts with your existing nnimap+gmx
server.

> Apparently, I don't understand well enough how the variables
> gnus-message-archive-group and gnus-message-archive-method are supposed
> to work.
> Basically, since I use nnimap, when composing a new
> message I don't want to see Gcc set to a nnfolder+archive group, but set
> the current imap group. The following values now seem to work:
>     : '(gnus-message-archive-group '(lambda (grp) (if grp gnus-newsgroup-name "Send-Mail")))
>     : '(gnus-message-archive-method "nnimap")

Here's my understanding:

You can use archive-method and archive-group together, in which case
archive-group is understood to return a group name that exists on
archive-method. _Alternately_, archive-group can return a fully
qualified group name, in your case "nnimap+gmx:Send-Mail", in which case
archive-method will be completely ignored, and you don't need to set it
at all.

In your case, that's the easiest solution. If you really want to set
both options, I think you'd have to try harder to make sure that
archive-method matched your "real" nnimap+gmx server, ie they should
pass `gnus-server-equal'.

But like I said, that's unnecessary if archive-group returns a full
group name.

Eric