Version 1.0 Initial Release R5 release Version 1.1 Append command displays dialog box. Version 1.2 Annotations avoid automatic rescan of folder. Version 1.3 Fcc bug fixed. Fcc: truncated after first folder name. Open folders on FCC list no longer force a rescan of that folder. Side affect is that send can not do a push if FCC list includes an open folder. Version 1.4 There were two reasons that folders on the FCC were inadvertently scanned. The first cause was fixed in patch 3. This fixes the second problem. An extra NEWLINE was sometimes appended to Open folders that were targets of an FCC. Version 1.5 Most diffs reflect internal reorganization of the signal handling code. The signal handling routines in the original xmh are not reentrant. One change from the X11R4 version is that msgck is called periodically to check for new mail. That call to a process replaces a call to stat to check the modified time of the mail spool file. In the initial R5 release, the signal handling of the msgchk call can interfere with the signal handling of the editor call. This patch includes reentrant signal handling that we have been using localling as more external xmh editor users were having problems. A -DREENTRANT in the DEFINES for the Imakefile will enable these changes. These changes have also been forwarded to MIT. The pick routines have been modified to mark the cache as valid. A pick could sometime force an unnecessary rescan of a folder Version 1.6 NULL second parameter in utimes call in tocutil.a (ANNOTATE) replaced by value returned by gettimeofday. A NULL parameter did not generate the current time on all systems. Prereq: patch.5 diff -c3 ../xmh.baseline/Imakefile ./Imakefile *** ../xmh.baseline/Imakefile Thu Nov 28 09:54:36 1991 --- ./Imakefile Fri May 1 09:54:33 1992 *************** *** 2,8 **** DEPLIBS = XawClientDepLibs LOCAL_LIBRARIES = XawClientLibs ! DEFINES = -DANNOTATE -DEDITOR -DFCC -DAPPEND -DFIX $(NDEFINES) XMH_BITMAPS = black6 box6 SRCS = bbox.c command.c compfuncs.c folder.c init.c main.c \ menu.c mlist.c msg.c pick.c popup.c screen.c toc.c \ --- 2,8 ---- DEPLIBS = XawClientDepLibs LOCAL_LIBRARIES = XawClientLibs ! DEFINES = -DANNOTATE -DEDITOR -DFCC -DAPPEND -DFIX -DREENTRANT $(NDEFINES) XMH_BITMAPS = black6 box6 SRCS = bbox.c command.c compfuncs.c folder.c init.c main.c \ menu.c mlist.c msg.c pick.c popup.c screen.c toc.c \ diff -c3 ../xmh.baseline/Patchlevel ./Patchlevel *** ../xmh.baseline/Patchlevel Wed Apr 22 11:21:53 1992 --- ./Patchlevel Fri May 1 09:59:16 1992 *************** *** 1 **** ! Xmh.sei.mods patch.5 --- 1 ---- ! Xmh.sei.mods patch.6 diff -c3 ../xmh.baseline/README_MODS ./README_MODS *** ../xmh.baseline/README_MODS Wed Apr 22 11:21:53 1992 --- ./README_MODS Fri May 1 09:59:24 1992 *************** *** 54,71 **** -DNEED_STRSTR if strstr is not in libc (Sun 4.0.3 and Ultrix 3.1) - -DREENTRANT - The signal handling routines in the original xmh are - not reentrant. One change from the X11R4 version is - that msgck is called periodically to check for new - mail. That call to a process replaces a call to stat - to check the modified time of the mail spool file. In - the initial R5 release, the signal handling of - the msgchk call can interfere with the signal handling - of the editor call. Only a few users have reported - problems (crashes after a random number of calls to the - editor). - b) There is a gnu xmh.el file available from ftp.sei.cmu.edu in pub/xmh. If that file is available then add "#define GNU" statement that is commented out in editor.c. See the comments in that file --- 54,59 ---- *************** *** 178,181 **** --- 166,184 ---- Remove draft messages that generate errors on scan. Mail composition fails if a poorly formed draft is left in the +drafts folder. The routine cleandrafts removes drafts on which scan reports fatal errors. + + + + ------------------------------------------------------------------------------ + + REENTRANT: + + The signal handling routines in the original xmh are not reentrant. One change + from the X11R4 version is that msgck is called periodically to check for new + mail. That call to a process replaces a call to stat to check the modified + time of the mail spool file. In the initial R5 release, the signal handling of + the msgchk call can interfere with the signal handling of the editor call. + The number of users reporting problems is growing so this code is now the + default. (xmh crash after a random number of calls to the editor). + diff -c3 ../xmh.baseline/tocutil.c ./tocutil.c *** ../xmh.baseline/tocutil.c Thu Nov 28 10:03:57 1991 --- ./tocutil.c Tue Apr 28 16:07:54 1992 *************** *** 553,560 **** toc->origlength = toc->length; } #ifdef ANNOTATE ! else if (toc-> forcecache) ! utimes(toc->scanfile, NULL); #endif toc->needscachesave = FALSE; toc->lastreaddate = LastModifyDate(toc->scanfile); --- 553,565 ---- toc->origlength = toc->length; } #ifdef ANNOTATE ! else if (toc-> forcecache) { ! struct timeval tvp[2]; ! gettimeofday(tvp, NULL); ! tvp[1] = tvp[0]; ! /* tvp = NULL would work on most systems but not all */ ! utimes(toc->scanfile, tvp); ! } #endif toc->needscachesave = FALSE; toc->lastreaddate = LastModifyDate(toc->scanfile);