== END PATCH
--- a/buffy.c
+++ b/buffy.c
-@@ -226,6 +226,7 @@ int mutt_parse_mailboxes (BUFFER *path,
+@@ -257,6 +257,7 @@
(*tmp)->new = 0;
(*tmp)->notified = 1;
(*tmp)->newly_created = 0;
/* for check_mbox_size, it is important that if the folder is new (tested by
* reading it), the size is set to 0 so that later when we check we see
-@@ -254,6 +255,7 @@ int mutt_buffy_check (int force)
+@@ -285,6 +286,7 @@
{
BUFFY *tmp;
struct stat sb;
struct dirent *de;
DIR *dirp;
char path[_POSIX_PATH_MAX];
-@@ -298,6 +300,7 @@ int mutt_buffy_check (int force)
+@@ -333,6 +335,7 @@
if (tmp->magic != M_IMAP)
#endif
tmp->new = 0;
#ifdef USE_IMAP
if (tmp->magic != M_IMAP)
-@@ -380,10 +383,20 @@ int mutt_buffy_check (int force)
+@@ -415,10 +418,20 @@
if (*de->d_name != '.' &&
(!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T')))
{
closedir (dirp);
--- a/init.h
+++ b/init.h
-@@ -1086,6 +1086,16 @@ struct option_t MuttVars[] = {
+@@ -1350,6 +1350,16 @@
** \fBDON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE
** DOING!\fP
*/
+ **
+ */
#ifdef USE_HCACHE
- { "header_cache", DT_PATH, R_NONE, UL &HeaderCache, 0 },
+ { "maildir_header_cache_verify", DT_BOOL, R_NONE, OPTHCACHEVERIFY, 1 },
/*
--- a/mutt.h
+++ b/mutt.h
-@@ -395,6 +395,7 @@ enum
+@@ -384,6 +384,7 @@
OPTINCLUDEONLYFIRST,
OPTKEEPFLAGGED,
OPTMAILCAPSANITIZE,
OPTMAILDIRTRASH,
OPTMARKERS,
OPTMARKOLD,
---- a/PATCHES
-+++ b/PATCHES
-@@ -1 +1,2 @@
-+patch-1.5.6.dw.maildir-mtime.1
- patch-1.5.13.cd.ifdef.2
--- a/browser.c
+++ b/browser.c
@@ -32,6 +32,7 @@
#include <stdlib.h>
#include <dirent.h>
-@@ -307,8 +308,10 @@ folder_format_str (char *dest, size_t de
+@@ -308,8 +309,10 @@
}
static void add_folder (MUTTMENU *m, struct browser_state *state,
if (state->entrylen == state->entrymax)
{
/* need to allocate more space */
-@@ -320,6 +323,9 @@ static void add_folder (MUTTMENU *m, str
+@@ -321,6 +324,9 @@
m->data = state->entry;
}
if (s != NULL)
{
(state->entry)[state->entrylen].mode = s->st_mode;
-@@ -414,7 +420,7 @@ static int examine_directory (MUTTMENU *
+@@ -415,7 +421,7 @@
tmp = Incoming;
while (tmp && mutt_strcmp (buffer, tmp->path))
tmp = tmp->next;
}
closedir (dp);
browser_sort (state);
-@@ -438,14 +444,15 @@ static int examine_mailboxes (MUTTMENU *
- #ifdef USE_IMAP
+@@ -443,14 +449,15 @@
if (mx_is_imap (tmp->path))
{
-- add_folder (menu, state, tmp->path, NULL, tmp->new);
+ imap_mailbox_state (tmp->path, &mbox);
+- add_folder (menu, state, tmp->path, NULL, mbox.new);
+ tmp->new = mbox.new;
+ add_folder (menu, state, tmp->path, NULL, tmp);
continue;
continue;
}
#endif
-@@ -459,7 +466,7 @@ static int examine_mailboxes (MUTTMENU *
+@@ -479,7 +486,7 @@
strfcpy (buffer, NONULL(tmp->path), sizeof (buffer));
- mutt_pretty_mailbox (buffer);
+ mutt_pretty_mailbox (buffer, sizeof (buffer));
- add_folder (menu, state, buffer, &s, tmp->new);
+ add_folder (menu, state, buffer, &s, tmp);
browser_sort (state);
--- a/buffy.h
+++ b/buffy.h
-@@ -25,6 +25,7 @@ typedef struct buffy_t
- char *path;
- long size;
+@@ -25,6 +25,7 @@
+ char path[_POSIX_PATH_MAX];
+ off_t size;
struct buffy_t *next;
+ time_t mtime; /* for maildirs...time of newest entry */
short new; /* mailbox has new mail */