On Thu, Feb 11, 1999 at 06:52:07 -0500, David Thorburn-Gundlach wrote: > David, et al -- > > ...and then David DeSimone said... > % > % Mutt looks at the timestamp on the file to determine if your editor has > % modified the file. However, your macro executes so fast, that the > > Now, this is interesting... I always thought that it would use diff > to tell if something actually differed. IMHO, this isn't a feature. > > Any chance, you developer types, of either artificially setting the time > stamp of a new file to "one minute ago" or even "the epoch" to validate > the current check, or just moving to diff? Please try the attached patch to 0.95.1. It sets the time stamp of a new file to `one second ago'. Regards, - Byrial
--- send.c-org Thu Jan 14 09:56:57 1999 +++ send.c Thu Feb 11 16:12:06 1999 @@ -34,6 +34,9 @@ static const char rcsid[]="$Id: send.c,v #include <sys/stat.h> #include <sys/wait.h> #include <dirent.h> +#include <time.h> +#include <sys/types.h> +#include <utime.h> #ifdef _PGPPATH #include "pgp.h" @@ -1071,9 +1074,19 @@ ci_send_message (int flags, /* send mod { struct stat st; time_t mtime; + struct utimbuf utim; stat (msg->content->filename, &st); mtime = st.st_mtime; + if (mtime == time (NULL)) + { + /* Decrease the file's modification time by 1 second so we are sure + * to find out if the `editor' program changes it in less than 1 second. + */ + utim.actime = mtime - 1; + utim.modtime = mtime - 1; + utime (msg->content->filename, &utim); + } mutt_update_encoding (msg->content);