]> granicus.if.org Git - neomutt/commitdiff
Use RECENT for first mailbox check if header cache check fails
authorBrendan Cully <brendan@kublai.com>
Fri, 30 Mar 2007 21:12:58 +0000 (14:12 -0700)
committerBrendan Cully <brendan@kublai.com>
Fri, 30 Mar 2007 21:12:58 +0000 (14:12 -0700)
ChangeLog
imap/command.c
imap/imap.c

index fb69ed25d75e1915dcacc3672bcccb9d7da09c9a..3b5d288b0f203da6af1bd6954ab1ab58c47e1031 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2007-03-30 00:21 -0700  Brendan Cully  <brendan@kublai.com>  (0cb476dc70a7)
+
+       * imap/command.c: Consult header cache if available for last known new
+       mail count. This prevents mutt from announcing new mail in mailboxes
+       that have unseen, but not new, messages, if those mailboxes are in
+       the header cache.
+
+2007-03-29 21:08 -0700  Brendan Cully  <brendan@kublai.com>  (359d9fbb5fda)
+
+       * sendlib.c: Do not page sendmail error in batch mode.
+       (closes: #2800)
+
 2007-03-29 15:53 -0700  Rocco Rutte  <pdmef@gmx.net>  (798a40b0a9da)
 
        * rfc3676.c: f=f handler: Re-add space between quotes and text
index 1a71c45315099aa9cc2cca642c3589910a8d6924..9e0647e84a663e4701d2f2498edcceb9cf6f3f2b 100644 (file)
@@ -938,7 +938,10 @@ static void cmd_parse_status (IMAP_DATA* idata, char* s)
            status->uidnext = oldun;
           }
         }
-        else
+        else if (!olduv && !oldun)
+         /* first check per session, use recent. might need a flag for this. */
+         inc->new = status->recent;
+       else
           inc->new = status->unseen;
 
         FREE (&value);
index dba1ef91d82dafd90177154d53440e6ac8b12e85..87b5eb4a7ca7cb0f118d1f0511dcb569aae1d196 100644 (file)
@@ -1478,7 +1478,8 @@ int imap_buffy_check (int force)
     }
     
     imap_munge_mbox_name (munged, sizeof (munged), name);
-    snprintf (command, sizeof (command), "STATUS %s (UIDNEXT UIDVALIDITY UNSEEN)", munged);
+    snprintf (command, sizeof (command),
+             "STATUS %s (UIDNEXT UIDVALIDITY UNSEEN RECENT)", munged);
 
     if (imap_cmd_queue (idata, command) < 0)
     {