unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: Roland Winkler <winkler@gnu.org>,    Andrew Cohen <acohen@ust.hk>
Cc: 54158@debbugs.gnu.org
Subject: bug#54158: 28.0.91; duplicate mail downloads in Gnus (IMAP)
Date: Mon, 21 Mar 2022 12:33:49 -0700	[thread overview]
Message-ID: <87lex3ksma.fsf@ericabrahamsen.net> (raw)
In-Reply-To: <871qyx3o5j.fsf@gnu.org> (Roland Winkler's message of "Sat, 19 Mar 2022 11:25:28 -0500")

Roland Winkler <winkler@gnu.org> writes:

> On Sat, Mar 19 2022, Andrew Cohen wrote:
>> I think the problem is that the code in mail-source-fetch-imap doesn't
>> handle a list of mailboxes properly (I don't know why it would have
>> worked in emacs-27 though). Adam added a loop over a list of mailboxes
>> way back in 2015, but it seems to me that some of the variables bound
>> outside the loop should be bound inside (imap usually works on a per
>> mailbox basis)
>>
>> So I think this might fix it (although I don't have a setup available
>> to test it).
>
> Thank you!  I can confirm: I identified one scenario with emails I send
> to myself such that they go into different folders on the IMAP server.
> Then downloading these messages with Gnus from Emacs 28.0.91 gives me
> reproducibly the duplicate mail downloads as described in the original
> post.  When I apply Andrew's patch to `mail-source-fetch-imap' the
> downloads happen as expected, properly deleting the messages on the
> server after download, as confirmed also with imap-log bound to to.
> So for this one test case the patch appears to solve the problem.
>
> The patch may require more testing and also checking the code by someone
> who knows what is supposed to happen in such an imap session.  I am
> surprised that `mail-source-fetch-imap' in Gnus from Emacs 27.2 and from
> Emacs 28.0.91 are essentially the same (from all I can tell).  So I am
> wondering why `mail-source-fetch-imap' in Gnus from Emacs 27.2 was
> behaving as expected; but the bug showed up only in Emacs 28.  Can this
> be in subtle ways related to the fact that mail-source.el in Emacs 27
> used dynamic binding, whereas in Emacs 28 it uses lexical binding, as
> speculated previously by Eric?

FWIW this patch looks right to me, thanks to Andy for figuring it out.
Is someone going to push this? It would be nice at the same time to fix
the indentation of the mailbox loop so it's clearer what's actually
happening.





  reply	other threads:[~2022-03-21 19:33 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-25 16:42 bug#54158: 28.0.91; duplicate mail downloads in Gnus (IMAP) Roland Winkler
2022-02-25 21:05 ` Eric Abrahamsen
2022-02-25 21:36   ` Roland Winkler
2022-02-26  5:19     ` Eric Abrahamsen
2022-02-28 16:30       ` Roland Winkler
2022-03-07 15:50       ` Roland Winkler
2022-03-10 19:38         ` Eric Abrahamsen
2022-03-13  5:33           ` Roland Winkler
2022-03-18 16:09             ` Roland Winkler
2022-03-18 16:19               ` Eric Abrahamsen
2022-03-18 16:34                 ` Roland Winkler
2022-03-18 16:45                   ` Robert Pluim
2022-03-18 17:55                     ` Roland Winkler
2022-03-18 16:49                   ` Eric Abrahamsen
2022-03-18 16:53                     ` Eric Abrahamsen
2022-03-18 15:27       ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-03-18 16:03         ` Eric Abrahamsen
2022-03-19  4:53 ` Andrew Cohen
2022-03-19 16:25   ` Roland Winkler
2022-03-21 19:33     ` Eric Abrahamsen [this message]
2022-03-21 19:38       ` Lars Ingebrigtsen
2022-03-21 19:48         ` Eric Abrahamsen
2022-03-21 19:50           ` Lars Ingebrigtsen
2022-03-21 23:18             ` Eric Abrahamsen
2022-03-21 20:40       ` Roland Winkler
2022-03-21 23:27         ` Eric Abrahamsen
2022-03-19 21:52 ` Andrew Cohen
2022-03-20  3:50   ` Roland Winkler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87lex3ksma.fsf@ericabrahamsen.net \
    --to=eric@ericabrahamsen.net \
    --cc=54158@debbugs.gnu.org \
    --cc=acohen@ust.hk \
    --cc=winkler@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).