GNU bug report logs - #54158
28.0.91; duplicate mail downloads in Gnus (IMAP)

Previous Next

Package: emacs;

Reported by: Roland Winkler <winkler <at> gnu.org>

Date: Fri, 25 Feb 2022 16:44:01 UTC

Severity: normal

Found in version 28.0.91

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #20 received at 54158 <at> debbugs.gnu.org (full text, mbox):

From: Roland Winkler <winkler <at> gnu.org>
To: Eric Abrahamsen <eric <at> ericabrahamsen.net>
Cc: 54158 <at> debbugs.gnu.org
Subject: Re: bug#54158: 28.0.91; duplicate mail downloads in Gnus (IMAP)
Date: Mon, 07 Mar 2022 09:50:18 -0600
On Fri, Feb 25 2022, Eric Abrahamsen wrote:
> I went down a bit of a rabbit hole here, and my best guess is that
> commit daa4e0120 (which is in emacs-28 but not emacs-27) might have
> resulted in a bug in the dynamic binding of your imap mail-source
> definition data.

...First I thought "let me revert this patch and see what happens", but
that's not a meaningful step.

> Something to try would be to edebug `mail-source-fetch-imap' and make
> sure that the dynamic variables `dontexpunge' and `fetchflag' are what
> you'd expect them to be, ie nil and "\Deleted". And watch what happens
> for both "INBOX" and "JUNK EMAIL"

The values of these variables are always what you said they should be,
nil and "\Deleted".

> (why are you fetching your junk mail, anyway?)

It's the usual problem that the folder "JUNK EMAIL" contains messages
that should not be there.  And I haven't figured out how the server
identifies mail as spam, nor whether it would allow me to fine-tune
this.  I find it easier to do all this on the client side.

> To be honest I don't see why `imap-mailbox-close' would expunge mail
> anyway: its docstring says it does, but no expunge command is given.
> There's a `imap-mailbox-expunge' function, but nothing ever calls it.
> Anyway, that part of the code hasn't changed since emacs-27, so
> <shrug>.

I looked at this code.  Unfortunately, the wrappers it uses make it very
difficult to understand what it is doing, also because I do not know
either what it needs to do to get things right.

> If something funny is happening with the values of fetchflag or
> dontexpunge, we can drag in Stefan M, who changed `mail-source-bind'.

Following your suggestions of monitoring the variables `dontexpunge' and
`fetchflag', I do not see anything unusual in mail-source-fetch-imap.

My understanding is that IMAP servers permit to expunge individual
messages while keeping others, though I do not want to use this feature
(I want to expunge everything after fetching it).  However, I do not see
where mail-source-fetch-imap would implement such fine control.  But my
problem of multiple downloads exists only for *some*, but not all
messages.  So it seems to me we may be looking at the wrong part of the
code altogether.  But that's only a wild guess of someone who does not
know much about all of this.

Any help is appreciated!

Roland




This bug report was last modified 3 years and 121 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.