Hi, Vincent Lefevre wrote: > On 2004-03-18 19:28:39 +0100, Thomas Glanzmann wrote: > > I guess the that the access/modification times are restored so that new > > mailcheckers like xbiff don't trigger a 'new eMail' when you read your > > messages. > > IMHO, this should be optional since > * not all mailboxes are incoming boxes, > * in practice, this doesn't always work (because of the race > condition?), > * these mailcheckers could be fixed to use a more robust method. Here we go. Attached is a patch, that adds $mbox_keep_mtime to mutt. When set, the old behavior is used. When unset, mtimes are not restored on mbox files. The patch could be better, because I only inhibit the actual restauration of the mtime. You could also inhibit the saving of the mtime (look for usage of statbuf in mbox.c:mbox_sync_mailbox()), but I wasn't sure about side effects. Any comments? > Anyway, using the maildir format (and a wrapper for version control) > could be a better idea. Not if only one single mbox file is affected (as on my system). Ciao, Viktor -- !!! Listen live to reboot.fm !!! Tune in to 104.10 MHz if you're in Berlin, Germany or listen to the internet stream at http://www.reboot.fm/stream/ .
diff -ur mutt-1.5.5.1/init.h mutt-1.5.5.1.vrr/init.h --- mutt-1.5.5.1/init.h 2003-11-05 10:41:32.000000000 +0100 +++ mutt-1.5.5.1.vrr/init.h 2004-03-18 20:57:56.611362136 +0100 @@ -1024,6 +1024,15 @@ ** This specifies the folder into which read mail in your ``$$spoolfile'' ** folder will be appended. */ + { "mbox_keep_mtime", DT_BOOL, R_NONE, OPTMBOXKEEPMTIME, 0 }, + /* + ** .pp + ** If set, mutt will not change the the modification time of an mbox + ** file if mails are only deleted from the file. If unset, mutt will + ** modify the modification time. This is necessary for some version + ** control files such as svn, but may confuse some xbiff style mail + ** checkers. + */ { "mbox_type", DT_MAGIC,R_NONE, UL &DefaultMagic, M_MBOX }, /* ** .pp Nur in mutt-1.5.5.1.vrr/: .init.h.swo. diff -ur mutt-1.5.5.1/mbox.c mutt-1.5.5.1.vrr/mbox.c --- mutt-1.5.5.1/mbox.c 2003-11-05 10:41:32.000000000 +0100 +++ mutt-1.5.5.1.vrr/mbox.c 2004-03-18 20:59:10.503128880 +0100 @@ -935,10 +935,12 @@ return (-1); } - /* Restore the previous access/modification times */ - utimebuf.actime = statbuf.st_atime; - utimebuf.modtime = statbuf.st_mtime; - utime (ctx->path, &utimebuf); + if (option(OPTMBOXKEEPMTIME)) { + /* Restore the previous access/modification times */ + utimebuf.actime = statbuf.st_atime; + utimebuf.modtime = statbuf.st_mtime; + utime (ctx->path, &utimebuf); + } /* reopen the mailbox in read-only mode */ if ((ctx->fp = fopen (ctx->path, "r")) == NULL) diff -ur mutt-1.5.5.1/mutt.h mutt-1.5.5.1.vrr/mutt.h --- mutt-1.5.5.1/mutt.h 2003-11-05 10:41:32.000000000 +0100 +++ mutt-1.5.5.1.vrr/mutt.h 2004-03-18 20:58:14.609625984 +0100 @@ -373,6 +373,7 @@ OPTMAILDIRTRASH, OPTMARKERS, OPTMARKOLD, + OPTMBOXKEEPMTIME, /* keep mtime? */ OPTMENUSCROLL, /* scroll menu instead of implicit next-page */ OPTMETAKEY, /* interpret ALT-x as ESC-x */ OPTMETOO,
Attachment:
signature.asc
Description: Digital signature