GNU bug report logs -
#54158
28.0.91; duplicate mail downloads in Gnus (IMAP)
Previous Next
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):
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.