Version 1.0 Initial Release R5 release Version 1.1 Append command displays dialog box. Version 1.2 Annotations avoid automatic rescan of folder. Prereq: patch.1 diff -c3 ../xmh.baseline/Patchlevel ./Patchlevel *** ../xmh.baseline/Patchlevel Thu Nov 28 09:54:36 1991 --- ./Patchlevel Thu Nov 28 09:55:25 1991 *************** *** 1 **** ! Xmh.sei.mods patch.1 --- 1 ---- ! Xmh.sei.mods patch.2 diff -c3 ../xmh.baseline/msg.c ./msg.c *** ../xmh.baseline/msg.c Thu Nov 28 09:54:42 1991 --- ./msg.c Tue Nov 26 13:13:24 1991 *************** *** 1169,1177 **** (void) AnnotateXtFree(msg); msg->annotate = (Annotate)XtCalloc( (Cardinal)1, sizeof(AnnotateRec)); msg->numannotate = 1; ! msg->annotate[0].foldername = XtNewString(assocmsg->toc->foldername); ! msg->annotate[0].msgid = assocmsg->msgid; } else if(assoclist){ int i; --- 1169,1178 ---- (void) AnnotateXtFree(msg); msg->annotate = (Annotate)XtCalloc( (Cardinal)1, sizeof(AnnotateRec)); msg->numannotate = 1; ! msg->annotate[0].foldername = XtNewString(assocmsg->toc->foldername); ! msg->annotate[0].msgid = assocmsg->msgid; ! msg->annotate[0].toc = assocmsg->toc; } else if(assoclist){ int i; *************** *** 1185,1190 **** --- 1186,1192 ---- msg->annotate[i].foldername = XtNewString(assoclist->msglist[i]->toc->foldername); msg->annotate[i].msgid = assoclist->msglist[i]->msgid; + msg->annotate[i].toc = assoclist->msglist[i]->toc; } } msg->annotatefield = XtNewString(field); *************** *** 1286,1292 **** --- 1288,1296 ---- argv[4] = msg->annotatefield; argv[5] = "-text"; argv[6] = TO; + msg->annotate[i].toc->forcecache = True; DoCommand(argv,(char *)NULL, (char *) NULL); + TocSetCacheValid(msg->annotate[i].toc); } XtFree((char *) argv); XtFree(TO); diff -c3 ../xmh.baseline/toc.c ./toc.c *** ../xmh.baseline/toc.c Thu Nov 28 09:54:44 1991 --- ./toc.c Thu Nov 28 09:55:28 1991 *************** *** 492,498 **** --- 492,503 ---- Toc toc; { int i; + #ifdef ANNOTATE + if (toc && toc->validity == valid && !toc->forcecache && + TUScanFileOutOfDate(toc)) { + #else if (toc && toc->validity == valid && TUScanFileOutOfDate(toc)) { + #endif if (app_resources.block_events_on_busy) ShowBusyCursor(); TUScanFileForToc(toc); diff -c3 ../xmh.baseline/tocintrnl.h ./tocintrnl.h *** ../xmh.baseline/tocintrnl.h Thu Nov 28 09:54:45 1991 --- ./tocintrnl.h Mon Nov 25 13:11:47 1991 *************** *** 40,45 **** --- 40,46 ---- typedef struct _AnnotateRec{ char *foldername; int msgid; + Toc toc; } AnnotateRec,*Annotate; #endif /* ANNOTATE */ *************** *** 121,126 **** --- 122,130 ---- mail pending true for this folder */ long lastreaddate; /* Last time we read or wrote the cache. */ Stack sequence_stack; /* Stack of sequence names. */ + #ifdef ANNOTATE + Boolean forcecache; /* force cache write for annotate */ + #endif } TocRec; #endif /* _tocinternal_h */ diff -c3 ../xmh.baseline/tocutil.c ./tocutil.c *** ../xmh.baseline/tocutil.c Thu Nov 28 09:54:45 1991 --- ./tocutil.c Thu Nov 28 09:43:17 1991 *************** *** 552,559 **** --- 552,566 ---- #endif toc->origlength = toc->length; } + #ifdef ANNOTATE + else if (toc-> forcecache) + utimes(toc->scanfile, NULL); + #endif toc->needscachesave = FALSE; toc->lastreaddate = LastModifyDate(toc->scanfile); + #ifdef ANNOTATE + toc->forcecache = False; + #endif }