On Tue, Jun 14, 2016 at 07:54:56AM -0700, Kevin J. McCarthy wrote:
> On Tue, Jun 14, 2016 at 08:34:53AM -0400, Aaron Schrab wrote:
> > Not sure if this is something that you're already looking into for the
> > above-mentioned part 4, but this change causes problems in buffy operation
> > for me.
> > 
> > With this change when I switch to a folder with new mail and read all of the
> > new messages the folder will remain in the buffy list until I switch to a
> > different folder.  Even change folder to the same folder it doesn't go away.
> > This is with IMAP mailboxes regardless of the setting of $mail_check_stats.
> 
> Thanks for letting me know.  I can duplicate this with IMAP and will try
> to figure out the problem.

I'll have more time later today to actually test this, but I think this
patch should fix the problem.  I moved the "new" flag resetting inside
the status processing, and somehow missed the *giant* comment saying it
wouldn't be statusing the current mailbox.  :-)

-- 
Kevin J. McCarthy
GPG Fingerprint: 8975 A9B3 3AA3 7910 385C  5308 ADEF 7684 8031 6BDA
# HG changeset patch
# User Kevin McCarthy <[email protected]>
# Date 1465917219 25200
#      Tue Jun 14 08:13:39 2016 -0700
# Node ID a1123c128e7a50bc423b7dbcc62cc90a1f8f5113
# Parent  f447c67f511b904f151a25b3cc38cf0d097322e3
[mq]: fix-imap

diff --git a/imap/imap.c b/imap/imap.c
--- a/imap/imap.c
+++ b/imap/imap.c
@@ -1521,24 +1521,30 @@
       if (mx_is_imap (mailbox->path))
         mailbox->magic = MUTT_IMAP;
     }
 
     if (mailbox->magic != MUTT_IMAP)
       continue;
 
     if (imap_get_mailbox (mailbox->path, &idata, name, sizeof (name)) < 0)
+    {
+      mailbox->new = 0;
       continue;
+    }
 
     /* Don't issue STATUS on the selected mailbox, it will be NOOPed or
      * IDLEd elsewhere.
      * idata->mailbox may be NULL for connections other than the current
      * mailbox's, and shouldn't expand to INBOX in that case. #3216. */
     if (idata->mailbox && !imap_mxcmp (name, idata->mailbox))
+    {
+      mailbox->new = 0;
       continue;
+    }
 
     if (!mutt_bit_isset (idata->capabilities, IMAP4REV1) &&
         !mutt_bit_isset (idata->capabilities, STATUS))
     {
       dprint (2, (debugfile, "Server doesn't support STATUS\n"));
       continue;
     }
 

Attachment: signature.asc
Description: PGP signature

Reply via email to