X-Git-Url: https://git.llucax.com/software/mutt-debian.git/blobdiff_plain/4988a192dab00d86203bd44995b53284abfa1474..683cc389ad4d52bbd335523ea46aa87c827173f0:/debian/patches/features/maildir-mtime?ds=inline diff --git a/debian/patches/features/maildir-mtime b/debian/patches/features/maildir-mtime index 7998982..490fb7b 100644 --- a/debian/patches/features/maildir-mtime +++ b/debian/patches/features/maildir-mtime @@ -13,67 +13,38 @@ The home page for this patch is: - removed a spurious const in add_folder() definition. - added a $maildir_mtime option to allow this patch to be disabled at runtime (see Bug#253261, comments from Zephaniah E. Hull). + - 2007-04-03 myon: resolved conflict in browser.c == END PATCH ---- maildir-mtime/PATCHES Dec 2002 17:44:54 -0000 3.6 -+++ maildir-mtime/PATCHES Feb 2004 13:19:42 -0000 -@@ -0,0 +1 @@ -+patch-1.5.6.dw.maildir-mtime.1 ---- maildir-mtime/browser.c Sep 2003 13:03:25 -0000 3.9 -+++ maildir-mtime/browser.c Feb 2004 13:19:42 -0000 -@@ -29,2 +29,3 @@ - #endif -+#include "mx.h" - -@@ -304,4 +305,6 @@ folder_format_str (char *dest, size_t de - static void add_folder (MUTTMENU *m, struct browser_state *state, -- const char *name, const struct stat *s, int new) -+ const char *name, /*DEB const IAN*/ struct stat *s, BUFFY *mbuf) - { -+ int new = (mbuf) ? mbuf->new : 0; -+ - if (state->entrylen == state->entrymax) -@@ -317,2 +320,5 @@ static void add_folder (MUTTMENU *m, str - -+ if (mbuf && mbuf->magic == M_MAILDIR && mbuf->mtime) -+ s->st_mtime = mbuf->mtime; -+ - if (s != NULL) -@@ -411,3 +417,3 @@ static int examine_directory (MUTTMENU * - tmp = tmp->next; -- add_folder (menu, state, de->d_name, &s, (tmp) ? tmp->new : 0); -+ add_folder (menu, state, de->d_name, &s, tmp); - } -@@ -435,3 +441,3 @@ static int examine_mailboxes (MUTTMENU * - { -- add_folder (menu, state, tmp->path, NULL, tmp->new); -+ add_folder (menu, state, tmp->path, NULL, tmp); - continue; -@@ -442,3 +448,3 @@ static int examine_mailboxes (MUTTMENU * - { -- add_folder (menu, state, tmp->path, NULL, tmp->new); -+ add_folder (menu, state, tmp->path, NULL, tmp); - continue; -@@ -456,3 +462,3 @@ static int examine_mailboxes (MUTTMENU * - -- add_folder (menu, state, buffer, &s, tmp->new); -+ add_folder (menu, state, buffer, &s, tmp); - } ---- maildir-mtime/buffy.c Feb 2004 17:50:43 -0000 3.9 -+++ maildir-mtime/buffy.c Feb 2004 13:19:42 -0000 -@@ -229,2 +229,3 @@ int mutt_parse_mailboxes (BUFFER *path, +--- a/buffy.c ++++ b/buffy.c +@@ -257,6 +257,7 @@ + (*tmp)->new = 0; + (*tmp)->notified = 1; (*tmp)->newly_created = 0; + (*tmp)->mtime = 0; -@@ -260,2 +261,3 @@ int mutt_buffy_check (int force) + /* 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 +@@ -285,6 +286,7 @@ + { + BUFFY *tmp; struct stat sb; + struct stat smd; struct dirent *de; -@@ -299,2 +301,3 @@ int mutt_buffy_check (int force) + DIR *dirp; + char path[_POSIX_PATH_MAX]; +@@ -333,6 +335,7 @@ + if (tmp->magic != M_IMAP) + #endif tmp->new = 0; + tmp->mtime = 0; -@@ -383,6 +386,13 @@ int mutt_buffy_check (int force) + #ifdef USE_IMAP + if (tmp->magic != M_IMAP) +@@ -415,10 +418,20 @@ + if (*de->d_name != '.' && + (!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T'))) { - /* one new and undeleted message is enough */ - BuffyCount++; @@ -84,6 +55,9 @@ The home page for this patch is: + /* one new and undeleted message is enough */ + BuffyCount++; + tmp->new = 1; ++ ++ if (! option (OPTMAILDIRMTIME)) /* prevent stat calls */ ++ break; + } + snprintf (path, sizeof (path), "%s/new/%s", tmp->path, de->d_name); + if (!stat (path, &smd) && smd.st_mtime > tmp->mtime) @@ -91,27 +65,11 @@ The home page for this patch is: + tmp->mtime = smd.st_mtime; + } } ---- maildir-mtime/buffy.h Dec 2002 11:19:39 -0000 3.2 -+++ maildir-mtime/buffy.h Feb 2004 13:19:42 -0000 -@@ -29,2 +29,3 @@ typedef struct buffy_t - struct buffy_t *next; -+ time_t mtime; /* for maildirs...time of newest entry */ - short new; /* mailbox has new mail */ ---- DEBIAN/buffy.c -+++ DEBIAN/buffy.c.new -@@ -389,6 +389,9 @@ - /* one new and undeleted message is enough */ - BuffyCount++; - tmp->new = 1; -+ -+ if (! option (OPTMAILDIRMTIME)) /* prevent stat calls */ -+ break; - } - snprintf (path, sizeof (path), "%s/new/%s", tmp->path, de->d_name); - if (!stat (path, &smd) && smd.st_mtime > tmp->mtime) ---- DEBIAN/init.h -+++ DEBIAN/init.h.new -@@ -1022,6 +1022,16 @@ + } + closedir (dirp); +--- a/init.h ++++ b/init.h +@@ -1350,6 +1350,16 @@ ** \fBDON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE ** DOING!\fP */ @@ -126,11 +84,11 @@ The home page for this patch is: + ** + */ #ifdef USE_HCACHE - - { "header_cache", DT_PATH, R_NONE, UL &HeaderCache, 0 }, ---- DEBIAN/mutt.h -+++ DEBIAN/mutt.h.new -@@ -396,6 +396,7 @@ + { "maildir_header_cache_verify", DT_BOOL, R_NONE, OPTHCACHEVERIFY, 1 }, + /* +--- a/mutt.h ++++ b/mutt.h +@@ -384,6 +384,7 @@ OPTINCLUDEONLYFIRST, OPTKEEPFLAGGED, OPTMAILCAPSANITIZE, @@ -138,3 +96,81 @@ The home page for this patch is: OPTMAILDIRTRASH, OPTMARKERS, OPTMARKOLD, +--- a/browser.c ++++ b/browser.c +@@ -32,6 +32,7 @@ + #ifdef USE_IMAP + #include "imap.h" + #endif ++#include "mx.h" + + #include + #include +@@ -308,8 +309,10 @@ + } + + static void add_folder (MUTTMENU *m, struct browser_state *state, +- const char *name, const struct stat *s, int new) ++ const char *name, /*DEB const IAN*/ struct stat *s, BUFFY *mbuf) + { ++ int new = (mbuf) ? mbuf->new : 0; ++ + if (state->entrylen == state->entrymax) + { + /* need to allocate more space */ +@@ -321,6 +324,9 @@ + m->data = state->entry; + } + ++ if (mbuf && mbuf->magic == M_MAILDIR && mbuf->mtime) ++ s->st_mtime = mbuf->mtime; ++ + if (s != NULL) + { + (state->entry)[state->entrylen].mode = s->st_mode; +@@ -415,7 +421,7 @@ + tmp = Incoming; + while (tmp && mutt_strcmp (buffer, tmp->path)) + tmp = tmp->next; +- add_folder (menu, state, de->d_name, &s, (tmp) ? tmp->new : 0); ++ add_folder (menu, state, de->d_name, &s, tmp); + } + closedir (dp); + browser_sort (state); +@@ -443,14 +449,15 @@ + if (mx_is_imap (tmp->path)) + { + 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; + } + #endif + #ifdef USE_POP + if (mx_is_pop (tmp->path)) + { +- add_folder (menu, state, tmp->path, NULL, tmp->new); ++ add_folder (menu, state, tmp->path, NULL, tmp); + continue; + } + #endif +@@ -479,7 +486,7 @@ + strfcpy (buffer, NONULL(tmp->path), sizeof (buffer)); + mutt_pretty_mailbox (buffer, sizeof (buffer)); + +- add_folder (menu, state, buffer, &s, tmp->new); ++ add_folder (menu, state, buffer, &s, tmp); + } + while ((tmp = tmp->next)); + browser_sort (state); +--- a/buffy.h ++++ b/buffy.h +@@ -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 */ + short notified; /* user has been notified */ + short magic; /* mailbox type */