Moved most of the documentation into a new "docs" subdirectory. Added a MAILING-LISTS...
authorDoug Morris <doug@mhost.com>
Sat, 15 Apr 2000 04:28:27 +0000 (04:28 +0000)
committerDoug Morris <doug@mhost.com>
Sat, 15 Apr 2000 04:28:27 +0000 (04:28 +0000)
README
docs/ChangeLog [new file with mode: 0644]
docs/MACHINES [new file with mode: 0644]
docs/MAILING-LISTS [new file with mode: 0644]
docs/README.about [new file with mode: 0644]
docs/README.developers [new file with mode: 0644]

diff --git a/README b/README
index a4e21cd..e948d76 100644 (file)
--- a/README
+++ b/README
@@ -1,52 +1,37 @@
 #
 #
-# README -- I love README files.
-#
 # $Id$
 #
 
 # $Id$
 #
 
------------
-what is it?
------------
-nmh (new MH) is an electronic mail handling system.  It was
-originally based on the package MH-6.8.3, and is intended to be
-a (mostly) compatible drop-in replacement for MH.
-
-Although development of nmh is ongoing, it appears to be generally
-stable and is in current use.  But it is possible that we may
-break things as changes are made.
-
---------------
-installing nmh
---------------
-To install nmh, check the INSTALL and MACHINES files.  If you have
-previously used MH, check the file DIFFERENCES for a list of the
-differences between nmh and MH.
-
---------------------------------
-ftp and web sites, mailing lists
---------------------------------
-To find out about the mailing lists, ftp sites, and web page
-for nmh, check the FAQ included in this distribution.
-
----------------
-nmh maintenance
----------------
-nmh is currently being developed and maintained by a loosely organized
-group of volunteers. Please send bug reports and suggestions to the
-nmh development mailing list at nmh-workers@mhost.com.
-
-----------------
-acknowledgments
-----------------
-The original MH system was developed by the RAND Corporation and the
-University of California.
-
-nmh was started by Richard Coleman (coleman@math.gatech.edu) after
-development on MH mostly stopped. He did the original autoconfiscation
-and most of the other work up until version 1.0.
-
-nmh uses (v)snprintf code from the Apache web server, so we need to
-make the following acknowlegement:
+Installing
+----------
+Please read the INSTALL file.
+
+Copying
+-------
+nmh uses a BSD-style license, which should be in the top-level of the
+distribution in a file named COPYRIGHT.
+
+Developers
+----------
+Information of interest to nmh developers can be found in
+the README.developers file in the docs subdirectory of this
+distribution.  If you're hacking on the code, you should also
+definately subscribe to the nmh-workers mailing list. To do so, send
+mail to nmh-workers-request@mhost.com with the subject "subscribe". If
+you're interested in working on nmh, but aren't sure what to do, see
+the TODO file in the docs subdirectory. There's plenty of work there.
+
+Working with your shell
+-----------------------
+The files COMPLETION-TCSH and COMPLETION-ZSH in the docs subdirectory
+give cookbook examples of how to use the enhanced features of
+these shells with nmh. There is also a section in Jerry Peek's book
+covering nmh/MH and working with the shell. The section is available
+online here: http://www.ics.uci.edu/~mh/book/mh/mhanthsh.htm
+
+For More information
+--------------------
+There is more information, including a FAQ and a bit of historical
+information in the docs subdirectory. There are also links to further
+documentation on the nmh website located at http://www.mhost.com/nmh .
 
 
-This product includes software developed by the Apache Group
-for use in the Apache HTTP server project (http://www.apache.org/).
diff --git a/docs/ChangeLog b/docs/ChangeLog
new file mode 100644 (file)
index 0000000..7ec710c
--- /dev/null
@@ -0,0 +1,2204 @@
+Sat Apr 15 10:33:00 2000 Doug Morris <doug@mhost.com>
+
+       * moved the documentation into a "docs" subdirectory. The
+       top-level directory was becoming messy. I also created another
+       file MAILING-LISTS describing the various nmh lists and the
+       archival system, and updated the FAQ to refer to it. I also
+       created a new README in the top level that is basically a list
+       of pointers to the various documentation. The old README I've
+       moved to docs/README.history, since that seemed like the right
+       thing to call it.
+
+Fri Apr 14 23:10:44 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Upped the version number to 1.0.4+dev until the next nmh release.
+
+       * Added a "releasing nmh" section to README.developers, while the
+       process was fresh in my mind.
+       
+Fri Apr 14 18:21:34 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Added new files README.developers, ChangeLog_MH-3_to_MH-6.6, and
+       ChangeLog_MH-6.7.0_to_MH-6.8.4.html to DIST target in Makefile.in.
+       
+       * Released nmh-1.0.4.
+
+Tue Apr 11 21:37:03 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Applied Brian Campbell <bacam@tardis.ed.ac.uk>'s mhn.defaults.sh
+       patch:
+
+           It appears that there shouldn't be quotes around the %s in the
+           iso-8859-1 charset entry; xterm passes the remaining arguments
+           to the program, quoting them means that xterm thinks they're
+           part of the program's name.
+
+       This %s isn't the same as the "Insert content subtype" one from
+       mhshow-show-* -- it doesn't come from MIME headers and is safe not
+       to quote.
+
+Sun Apr 09 13:03:59 2000 Doug Morris <doug@mhost.com>
+
+       * added check in fmt_compile() to handle a single-character
+       format string. fmt_compile() depends on having an array of
+       format characters with an empty item at the end. A
+       single-character format would cause programs using this
+       function to segfault because the algorithm used to decide on
+       the length of the array mistakenly created a single-item array
+       when the format string was one character. This eventually
+       caused problems when the program attempted to test item+1
+       in the array.
+
+Thu Apr 06 21:53:50 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Richard Coleman threw out a lot of old MH-specific files in nmh.
+       Much of the stuff, indeed, is not worth saving, but there are
+       nuggets that are very worthwhile, and should probably be added
+       back in.  Most important, IMHO, are the MH change logs, as they
+       can help answer questions like "Why is this code like this?" or
+       "How long has this been broken?" or "What was this ever used for?"
+
+       I've added a new file to the nmh tree called
+       ChangeLog_MH-3_to_MH-6.6.  It's cobbled together from the
+       mh-6.8.4/papers/mh*/MHCHANGES files.  I've re-ordered the entries
+       to go from newest at the top to oldest at the bottom to match the
+       ChangeLog convention.  Unfortunately there are no change logs for
+       versions of MH prior to 3 in the MH tar files available at
+       <ftp://ftp.ics.uci.edu/pub/mh>.  Also, it appears to me that there
+       are MH-6.6 changes that aren't documented in the logs.
+
+       I've also added ChangeLog_MH-6.7.0_to_MH-6.8.4.html.  This is
+       based on mh-6.8.4/papers/changes/mh-changes.ms.  The nroff format
+       and its "catman"-type output are a pain to deal with, but I was
+       loath to throw away the formatting, so I converted the file to
+       HTML.  The only actual markup in the body are the "<B>" and "<U>"
+       tags, and "&lt;" and "&gt;" instead of '<' and '>', so it's quite
+       doable to view the file in plain ASCII mode as well.  Note that
+       some of the changes this file documents as having been made in
+       MH-6.8.4 may not be present in nmh -- Richard started with 6.8.3
+       and later put in certain 6.8.4 stuff.
+       
+Wed Apr 05 21:09:28 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Applied Eric Schnoebelen <eric@cirr.com>'s mhshowsbr.c patch
+       fixing apparent bugs in Dan Winship's new security quoting code:
+       
+            Since upgrading, I've been getting the following errors
+            while attempting to process some MIME messages:
+
+                (1) Syntax error: Unterminated quoted string
+                    exit 2
+       
+            and:
+
+                (2) line 1/10 (END)Segmentation fault (core dumped)
+
+           (2) appears to be due to the testing of an unset pointer in
+           mhshowsbr.c:show_multi_aux().  (1) appears to be caused by
+           mis-quoting a filename being handed to the shell in
+           mhshowsbr.c:show_content_aux().
+
+           Resolving the pointer reference issue in
+           mhshowsbr.c:show_multi_aux() turned up a similar mis-quoting
+           problem in the routine.
+
+Tue Mar 28 16:17:39 2000 Doug Morris <doug@mhost.com>
+
+       * Applied Todd.Miller@courtesan.com's patch to dropsbr.c to
+       prevent core dumping on packf. Here's the note from his message:
+
+           Since sizeof(buffer) == sizeof(tmpbuffer) packf will dump
+           core on a file w/o a From line with a line >= BUFSIZ.
+           I noticed this because I had a junk file in my mail
+           spool somehow.
+
+Fri Mar 17 11:59:33 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * wesley.craig@umich.edu did not document his previous KPOP patch,
+       so I did so, and asked him to check what I wrote.  Unfortunately
+       he didn't notice my misunderstanding of his patch.  I wrote that
+       if you #define POPSERVICE "kpop", inc and msgchk will use KPOP
+       exclusively, but if you leave it as "pop3", you can use Wesley's
+       new -kpop switch on a given invocation.  Instead, however, -kpop
+       turned out to be necessary on every invocation, and a KPOP user
+       complained.  Applied Wesley's new patch, which makes things work
+       like I thought his original patch did.  After that, did one more
+       clarifying pass to the documentation in inc.man and msgchk.man.
+
+Wed Mar 15 18:45:45 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * When I fixed the long-standing makedir() bugs in January, I had
+       the code call strtoul(..., 0), which I believed to be safe as all
+       modes specified as ASCII constants in the nmh code started with a
+       leading zero (signifying octal), which I did as it would work if
+       internal constants were ever changed to hex.  Unfortunately I was
+       unaware of the "Folder-Protect:" .mh_profile entry, which
+       mh-profile.man documents as an octal-only constant, with no
+       leading zero required.  I've changed the strtoul() call to an
+       atooi() call and removed the misleading leading zeroes on the
+       ASCII octal constants in the code and man pages.  Also changed the
+       "Folder-Protect:" example in the man page to something more
+       interesting than a duplication of the default.
+
+       * When I added my --enable-masquerade option, you'll note that I
+       didn't make it --enable-nmh-masquerade.  I find the --enable-nmh-*
+       options too wordy and I'm not sure why Richard went that route.
+       I've renamed them to just --enable-*, but the old versions will
+       still work as well (they just aren't advertised).
+
+       * Added a line to the "nmh configuration" output saying whether
+       POP is enabled.
+
+       * Added a new README.developers file.  From the file:
+
+           This file is intended to provide a few tips for anyone doing
+           development on nmh.  Developers who learn things "the hard
+           way" about the nmh codebase (as opposed to local info best
+           encoded in a comment) are encouraged to share their wisdom
+           here.
+
+       Currently the topics are "autoconf files" and "directory structure".
+
+Tue Mar 14 12:41:48 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Applied, after some finessing,
+       Simon Burge <simonb@thistledown.com.au>'s --with-smtpservers patch:
+
+           Here's a patch that allows you to add
+
+                   --with-smtpservers=<some.host.name>
+
+           to the ./configure command line to set the "servers: " line in
+           etc/mts.conf.  Around here, we use "mailhost" so that all
+           machines in the current domain just talk to a central machine
+           and nothing else runs an MTA.  Now, I can use
+
+                   --with-smtpservers=mailhost
+
+           instead of having to remember to fix this by hand (and often
+           forgetting to do so!).
+
+       * Inspired by Simon's patch, added an --enable-masquerade option
+       to configure.  It will set the "masquerade:" line of mts.conf.
+       You may specify a subset of the three types of masquerading, like
+       --enable-masquerade="draft_from mmailid", or leave off explicit
+       arguments to enable all three types.
+
+       * Alphabetized the --enable and --with options in configure.in and
+       INSTALL and added documentation of the two new options to the latter.
+
+       * Added new dependency for mts.conf: Makefile.  If this isn't
+       done, then when you reconfigure nmh with new values for
+       --enable-masquerade or --with-smtpservers, you'll fail to get an
+       updated copy of mts.conf.
+
+       * Applied Simon Burge <simonb@thistledown.com.au>'s dtimep.lex patch:
+
+           It seems that some MUA's didn't handle y2k very well - ELM
+           seems to be one of them, and Ultrix's DXmail (based on MH!).
+           I've got a few emails this month that look like:
+
+                   575   Jan 00  Xxxxxx Xxxx       3603  ...
+           and
+                    22+  Jan 00  Xxx Xxxxx         1771  ...
+
+           The first has "15 Jan 100" as the date and the second has 
+           "19 Jan 00" as the date.  The following works around this so 
+           that scan, show, sortm, etc work ok.
+
+       I put Simon's patch under the control of a new #define called
+       FIX_NON_Y2K_COMPLIANT_MUA_DATES.  There's some commentary in
+       acconfig.h about when you might not want to #define it.
+
+       * Created new dtimep.c-lexed with Simon's change using dtimep.lex
+       lexed on Solaris 2.6.  Added missing dependency in
+       zotnet/tws/Makefile.in for dtimep.c: dtimep.c-lexed.
+
+       * Added scan.MMDDYY and scan.YYYYMMDD format files.
+
+Mon Mar 13 21:32:00 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Applied Sullivan N. Beck <sbeck@cise.ufl.edu>'s mhshow-suffix patch:
+
+            With the patch below, you can add lines like:
+
+                mhshow-suffix-application/msword: .doc
+                mhshow-suffix-application/PostScript: .ps
+
+            to the mhn.defaults file to append the given suffix to a
+           scratch file.  This allows applications which require a
+           certain suffix to run properly.
+
+       * Removed -force_html from lynx entry in mhn.defaults.sh (I
+       believe older versions of lynx lack that option) and added
+       "mhshow-suffix-text/html: .html".
+               
+       * Modified username_extension masquerading to only use the
+       extended address on generated [Resent-]From: lines and SMTP
+       envelope From:.  With Neil's original implementation, nmh's global
+       idea of the username was changed, which would result in inc lying
+       and saying you had no new mail because it was looking for a
+       mailbox called, for instance, "dan-nmh" (where username was "dan"
+       and $USERNAME_EXTENSION was "-nmh").
+               
+       * Applied Simon Burge <simonb@thistledown.com.au>'s dtime.c patch:
+       
+           There's a wrap-around problem that affects the implementation
+           of Zeller's congruence in dtime.c.  This causes the day-of-week
+           calculations to fail for dates after Feb 29, 2000 (probably up
+           until some year far in the future).
+
+Mon Mar 06 12:20:20 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Applied Neil W Rickert <rickert+nmh@cs.niu.edu>'s msh.c patch:
+
+            I finally tracked down the problem in msh that was causing
+           errors whenever I tried to examine a 'mmdf' style mailbox.
+
+           It turns out that not enough memory was being allocated with
+           calloc(), causing memory pointers to be overwritten and
+           corrupted.
+               
+Fri Mar 03 16:07:33 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Changed the new "plussed_user" option to mts.conf's
+       "masquerade:" to "username_extension" after getting feedback from
+       qmail users, who use '-' as a separator rather than '+'.  Removed
+       checking of $USERPLUS variable.  Now check $USERNAME_EXTENSION,
+       which needs to include the appropriate separator for your MTA
+       ('-', '+', or whatever) as its first character.
+               
+Thu Mar 02 23:04:30 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Added a new "boolean" type to mh.h and TRUE and FALSE constants.
+               
+       * Added a note to DIFFERENCES stating that it's out-of-date
+       (Richard was the last one to update it) and that we should
+       consider only documenting incompatibilities with MH there.
+
+       * Implemented (and documented) a third kind of username
+       masquerading: "plussed user" masquerading.  This one was suggested
+       by Neil Rickert <rickert+nmh@cs.niu.edu>.  It's based on sendmail's
+       "plussed user" feature, where mail sent to <user>+<string> will be
+       delivered to <user>.  When it's enabled, it's controlled by the
+       $USERPLUS environment variable.  How is it enabled?  Well, that
+       leads me to:
+
+       * Renamed the "mmailid:" setting in mts.conf to "masquerade:", and
+       changed it so that rather than being a boolean, it can be set to
+       any combination of the three values "draft_from", "mmailid", and
+       "plussed_user".  Thus it is now possible to enable the three types
+       of masquerading individually.
+
+       * Fixed a bug with "mmailid" masquerading (dating back to MH?)
+       where if it was turned on, ','s would no longer be considered
+       GECOS field delimiters.
+       
+Wed Mar 01 23:30:50 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Changed the GECOS-field '&' translation behavior to be
+       controlled by the BSD42 #define rather than GCOS_HACK, since it's
+       apparently always appropriate on OSes where BSD42 is #defined, and
+       never appropriate on any other OSes.  Thanks to Kimmo Suominen for
+       responding to my "What is this code here for?" comment in mts.c
+       and explaining the feature.
+       
+Mon Feb 28 21:50:29 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Upped the version number to 1.0.3+dev (ideally this should be
+       done by whoever makes a release tar file, immediately after doing
+       so).
+       
+       * Applied Paul Fox <pgf-spam@foxharp.boston.ma.us>'s scansbr.c
+       patch, posted to comp.mail.mh, which he says prevents loss of mail
+       when inc'ing into a full filesystem.
+
+       * Changed "echo > stamp-h.in" in Makefile.in to "date > stamp-h.in"
+       so that stamp-h.in will be different each time configure.in and
+       related files are changed, making it easier to check it in (which
+       is necessary to prevent unnecessary autoconf calls).
+
+       * My declaration of initgroups() in slocal.c to eliminate the "no
+       prototype" warning wasn't portable (FreeBSD 3.[23] choked).  Now
+       use AC_EGREP_HEADER to see where initgroups() is declared, if
+       anywhere.
+
+Sun Feb 20 12:17:15 2000 Ruud de Rooij <ruud@ruud.org>
+
+       * Fix security hole in mhshowsbr.c which allowed untrusted shell
+         code to be executed.
+       
+       * Released nmh 1.0.3.
+
+Thu Feb 10 10:54:36 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Oops.  %-escapes on mhstore lines in mhn.defaults.sh should not
+       be surrounded by single quotes, as a shell is not spawned when
+       just saving files, and the filenames will end up with literal
+       quotes embedded in them.
+
+Fri Feb 04 12:29:12 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Whoever originally added the -help switch to all the commands
+       got too cute and had the option itself print out as "-(help)" in
+       the -help output.  One theory is that they were making reference
+       to the fact that clearly you know about the -help option since
+       you're currently looking at its output.  I think it's a bad idea
+       to overload the meaning of the parentheses, however -- they're
+       supposed to indicate what abbreviated prefix of the switch you're
+       allowed to specify.
+
+       The other theory is that because you can say something like
+       "mhstore -" and get "mhstore: - ambiguous.  It matches" followed
+       by the same list of switches you get with -help, they were saying
+       you can "sorta" abbreviate "-help" as "-".  You don't get the
+       "Usage:" string, though, so it's not really the same thing.
+
+Thu Feb 03 17:52:01 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Applied wesley.craig@umich.edu's KPOP patches.  According to him:
+
+              The following patch fixes a problem with requesting a
+             service key for a machine that has multiple 'A' records.  It
+             also makes "-kpop" a command line option, for users who
+             would like to use both "kpop" and "pop".
+
+       Did no testing of the new features, as I don't have access to a
+       KPOP server.
+
+       * Modified inc.man and msgchk.man to document Wesley's new -kpop.
+
+       * Modified INSTALL and config.h.in to reflect the new -kpop feature.
+
+Fri Jan 28 17:39:24 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * All %-escapes in mhn.defaults that actually expand to something
+       should be surrounded by single quotes.  Added quotes to the ones
+       in mhn.defaults.sh that were missing them.
+
+       * Added check for lynx to write mhshow-show-text/html line in
+       mhn.defaults.sh.
+
+Thu Jan 27 12:22:25 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * makedir() had multiple bugs dating back to MH.  An octal
+       constant was apparently being interpreted as decimal, resulting in
+       directories with no user read or execute permissions, making
+       nested directory creation fail.  And there wasn't even an
+       _attempt_ to set desired permissions (e.g. from "Folder-Protect:"
+       in .mh_profile) on the outer directories of a nested directory.
+
+       * A second `make install' would always fail because the check for
+       whether mh_profile.5 existed was written incorrectly.
+       
+Wed Jan 26 02:22:00 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Added documentation on both types of masquerading to post's man
+       page.
+
+Tue Jan 25 22:58:12 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Doug's portability fix of my setgid inc autodetection had a
+       caching bug -- if you re-ran configure, uip/Makefile would be
+       corrupted, and installation would bomb out on OSes where inc needs
+       to be setgid.
+
+       * Implemented a new kind of email address masquerading.  Usually,
+       when a user writes a custom "From:" header in a draft, nmh uses it
+       rather than generating one.  However, the user's true address is
+       used in the SMTP envelope "From:" and is revealed in the "Sender:"
+       header.  Now, when mmailid is set to non-zero, the envelope
+       "From:" uses the address specified in the draft "From:" header,
+       and there is no "Sender:" header.  This is useful when sending on
+       behalf of a remote POP3 account or when remote mail robots
+       incorrectly use the envelope "From:" in preference to the body
+       "From:".  This processing has only been implemented for post, not
+       for the undocumented spost (which was already missing some "From:"
+       processing that post has).
+
+Mon Jan 24 22:26:06 2000 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Got rid of the rest of the gcc -Wall warnings that I didn't have
+       time for on 1999-07-15 (and, it would seem, some new ones people
+       introduced since then).  The primary ones were the warnings that
+       default prototypes were being used for [v]snprintf() and
+       str[n]casecmp().  As of right now, there are _no_ compilation
+       warnings except on dtimep.c-lexed (at least under AIX 4.1.5 and
+       Solaris 2.6).
+
+Sun Jan 2 23:42:18 2000 Ruud de Rooij <ruud@ruud.org>
+
+       * Move mhtest from bindir to libdir.
+
+       * Move sendfiles from libdir to bindir.
+
+       * Updated sendfiles manpage to reflect this change.
+
+       * Added documentation for -build and -file switches to repl and 
+         forw manpages (patch from Peter Maydell).
+
+       * Fixed interaction between specifying -cc in profile and -group on 
+         command-line.
+
+Tue Nov 1 13:48:10 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Changed the version number from 1.0.3 to 1.0.2+dev.  There was
+       not unanimous support for my proposed even/odd release/developer
+       version number dichotomy.  1.0.2+dev implies release 1.0.2 plus
+       some development.
+
+Fri Oct 29 13:42:51 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Upped the version number to 1.0.3.  If we don't do this, then
+       when people report bugs against 1.0.2, we won't know "which" 1.0.2
+       they're talking about (since the development source is publically
+       available via CVS).  I think the Linux kernel version numbers are
+       a good model, so the next time we roll a tarball, it should be
+       version 1.0.4 (or higher -- anyhow, an even-numbered version).
+
+Fri Oct 29 06:41:08 1999 Doug Morris <doug@mhost.com>
+
+       * Released nmh-1.0.2.
+
+Tue Oct 26 22:57:00 1999 Doug Morris <doug@mhost.com>
+       
+       * Added check for whether "libtool" is in fact gnu libtool. If
+       it is, it is not used. This is the wrong behavior. If vendor
+       XYZ later on decides to create yet another libtool, we'll be
+       caught again. This works for now.
+
+       * Minor updates to MACHINES refering to Mac OS X.
+
+Thu Oct 21 20:45:37 1999 Doug Morris <doug@mhost.com>
+
+       * Added check for "libtool" (a ranlib type tool for Mac OS X)
+       and modified Makefiles so that nmh will build under Mac OS X.
+
+Sun Oct 17 08:28:56 1999 Ruud de Rooij <ruud@ruud.org>
+
+       * Changed repl defaults to partly revert to MH behaviour,
+         "-cc all" is now only implied with -group.
+
+       * The replcomps template includes cc: header again (as in MH).
+
+       * Updated repl man page to reflect these changes.
+
+Sat Oct 16 02:57:47 1999 Doug Morris <doug@mhost.com>
+
+       * Tweaked configure to handle Solaris and SunOS after the BIND
+       changes. Both need more cleanup.
+
+Sat Oct 16 00:17:36 1999 Doug Morris <doug@mhost.com>
+
+       * Removed BIND define and replaced it with a check for
+       gethostbyname (to determine if the host is DNS aware) and a
+       check for sethostent. This appears to be the right thing to
+       do, but there is no explanation of the reasoning behind the
+       BIND define in the code and it appears to have been used for
+       multiple purposes. 
+
+Wed Oct 13 15:53:53 1999 Doug Morris <doug@mhost.com>
+
+       * Updated manpages Makefile to link mh-profile.5 to
+       mh_profile.5 after installation. Suggestion from Richard Cohen
+        <richard@jubjub.demon.co.uk>.
+
+       * Modified configure.in to check for _IO_write_ptr and libio.h
+       to determine whether to define LINUX_STDIO instead of using 
+       config.guess.
+
+Mon Oct 4 15:22:46 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Added '-L' to the calls of 'ls' in configure.in -- I have seen
+       multiple machines in the past where the mail spool was a symlink
+       to a directory on another device with more free space.
+
+Fri Oct 1 22:36:56 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Fixed a portability problem in Doug's fix of a portability
+       problem in my MAILGROUP autoconf support ('ls -l' vs. 'ls -lg'). 
+
+Sat Sep 25 18:40:43 1999 Ruud de Rooij <ruud@ruud.org>
+
+       * Added config.sub and config.guess to the list of files to be
+       distributed.
+
+       * Fixed bug in sbr/fmt_scan.c where an extra newline would be
+       added if a list of addresses was split over several header lines.
+
+       * In mts/smtp/smtp.c, undefine strlen and strcpy if they are
+       macros, regardless of platform.
+
+       * Allow q to quit mhshow, and n to skip to next part.  Patch from
+       Kimmo Suominen <kim@tac.nyc.ny.us>.
+
+       * Modified mhstore to recognize attachments created by sendfiles
+       with x-conversions=gzip.
+
+Mon Sep 13 21:20:10 1999 Doug Morris <doug@mhost.com>
+
+       * added explicit cast to long from time_t for tclock in
+       post.c.
+
+       * Commented out #ifdefs for <sys/ioctl.h> in termsbr.c since
+       it's needed for ioctl() anyway. This prevents a warning about
+       implicit definition of ioctl().
+
+       * Moved guesses performed by AC_CANONICAL_SYSTEM back into the
+       "User Configuration" section of config.h (moved @TOP@ in
+       acconfig.h) so they're easier to find, should someone actually
+       want to mess with them.
+
+Sun Sep 12 15:50:34 1999 Doug Morris <doug@mhost.com>
+
+       * updated Makefile.in so it recognized COMPLETION-TCSH and
+       COMPLETION-ZSH (only used in make nmhdist). 
+
+       * added prototype for ruserpas to <h/prototypes.h>. Fixes
+       warnings in mhparse.c and mhbuildsbr.c.
+
+       * added include checks for <time.h> and <sys/time.h> to
+       prevent warnings in fmt_compile.c, fmt_scan.c, lock_file.c,
+       sendsbr.c, mhbuildsbr.c, mhcachesbr.c, picksbr.c, and post.c.
+
+       * added include for <zotnet/mts/mts.h> to ali.c, scan.c, ap.c,
+       rcvdist.c, rcvstore.c, rcvtty.c, and spost.c to remove
+       warnings about implicit definition of mts_init().
+
+       * added <grps.h> to slocal.c to prevent warnings about
+       function initgroups.
+
+       * added <h/signals.h> to prevent warning about missing SIGNAL
+       function.
+
+       * added function prototypes to smtp.c, whatnowproc.c,
+       mhbuildsbr.c, mhparse.c, mshcmds.c, show.c, whatnow.c, mhl.c
+       to fix warnings.
+
+       * explicitly declared mbx_style in mshcmds.c and lused in
+       fmtdump.c as type static int instead of just static to
+       prevent warnings.
+       
+       * various code cleanups to prevent ambiguous statements
+       (brackets for if/thens and parens for complicated if
+       statements).
+
+
+Sun Sep 12 09:19:27 1999 Doug Morris <doug@mhost.com>
+
+       * commented out _cleanup() in mf.c because it's the only
+       location in all of the source code where it exists. It was
+       preventing compilation on at least linux.
+
+       * Added check for <db1/ndbm.h> which is the new location where
+       linux systems appear to be stuffing this header file.
+
+Thu Sep 09 23:15:49 1999 Doug Morris <doug@mhost.com>
+
+       * fixed varous mkstmep bugs introduced in 1.0.1 by me. Whups!
+
+       * added mh_profile SEGV patch from Richard Cohen
+        <richard@jubjub.demon.co.uk> that prevents crashing when
+        mh_profile doesn't end in a newline. A similar patch was
+       previously sent in by Andrew Bettison <andrewb@zip.com.au>.
+
+       * fixed bug in associated with MAILGROUP #define (group "mail"
+       is not universal) -- hard to believe, but true.
+
+Tue Sep 7 16:47:03 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Renamed ZSH.COMPLETION to COMPLETION-ZSH and added COMPLETION-TCSH.
+
+Tue Aug 17 16:06:29 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * Automated #define of MAILGROUP and installation of inc as setgid mail
+       when the mail spool directory isn't world-writable.
+
+Thu Jul 15 18:37:07 1999 Dan Harkless <dan-nmh@dilvish.speed.net>
+
+       * slocal -debug used to leave a file in /tmp for each message
+       processed.  Very bad for folks with slocal -debug in their .forward!
+
+       * Got rid of a ton of compilation warnings.  Most were "junk"
+       warnings due to the use of gcc -Wall (without -Wno-parentheses),
+       but a few represented real bugs.  There remain many warnings to be
+       tackled that are due to missing function prototypes (e.g. snprintf()).
+
+       * Default rcvdistcomps no longer puts a copy of all outgoing
+       messages in outbox.  Added an rcvdistcomps.outbox that does.
+
+Sat Jun 09 12:22:47 1999 Doug Morris <doug@mhost.com>
+
+       * Updated configure to check for mkstemp (available on OpenBSD) and 
+       substitute it for mktemp if available. 
+
+Thu May 13 16:40:19 1999  Doug Morris <doug@mhost.com>
+
+       * Added config.sub and config.guess and updated acconfig.h and
+       configure.in to automatically detect system type and set the
+       proper #defines.
+
+Wed May 12 23:41:33 1999  Dan Winship  <danw@mit.edu>
+
+       * Released nmh-1.0.1.
+
+Fri May  7 17:18:28 1999  Dan Winship  <danw@mit.edu>
+
+       * Fixed flist to properly deal with relative folder names.
+       Problem noted by Jerry Peek <jpeek@jpeek.com>.
+
+       * Fixed --with-krb4 to work with original Kerberos 4 libraries as
+       well as the Kerberos 5 compat libraries. Based on a patch from
+       Assar Westerlund <assar@sics.se>.
+
+       * Added a check in configure.in to test if modf is in libc and
+       link with libm if not. This is needed by at least Digital UNIX. 
+       Problem pointed out by Kevin Oberman <oberman@es.net>.
+
+       * Fix a bug from the "mhn -show" to "mhshow" renaming that
+       made the "list" command in whatnow not work for some users.
+       From Ruud de Rooij <r.c.m.derooij@twi.tudelft.nl>.
+
+       * Replaced "extern int errno" with "#include <errno.h>" in a
+       number of files. Suggested by Stephen Wilson Bailey
+       <swb@nconnect.net>.
+
+       * Fixed a problem in how "packf -mbox" translated "Return-Path:"
+       lines. From Kimmo Suominen <kim@tac.nyc.ny.us>.
+
+       * Fixed a segmentation fault in inc. Patch originally from Ruud de
+       Rooij <r.c.m.derooij@twi.tudelft.nl>.
+
+       * Allow display of 8bit encoded messages. From Kimmo Suominen
+       <kim@tac.nyc.ny.us>.
+
+       * Fixed repl to not add line breaks in the middle of long
+       addresses when building a reply. From Ruud de Rooij
+       <r.c.m.derooij@twi.tudelft.nl>.
+
+       * Added -library switch to spost so it can parse user aliases like
+       post does. From Ruud de Rooij <r.c.m.derooij@twi.tudelft.nl>.
+
+       * Changed configure.in's check for sigsetjmp to properly deal
+       with systems like Linux where it is a macro. From
+       <elleron@servtech.com>.
+
+       * Fixed a bug in whatnow that could cause it to sometimes exit
+       without prompting the user. Based on a patch by Richard Geiger
+       <rmg@netapp.com>.
+
+       * Added code to deal with SIGPIPE in mhl so it doesn't print
+       "Broken pipe" if you quit out of the moreproc.
+
+       * Documentation: Added a note to MACHINES about Irix make. Added a
+       pointer to the online copy of the MH book in INSTALL. Added
+       some additional information to the whatnow and packf man pages,
+       suggested by Jerry Peek <jpeek@jpeek.com>.
+
+       * Updated INSTALL, FAQ, etc to not refer to Richard as the
+       maintainer or math.gatech.edu as the home any more.
+
+1999-02-06  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-1.0.
+
+       * Merged mbx_open and mbx_Xopen in dropsbr.c.  Fixed
+         mbx_open so that the mode of zero length maildrops
+         would not be changed.
+
+       * Replaced the substitute version of snprintf() with the
+         one from the Apache web server.
+
+       * Changed to default mode for creating new messages to 0600
+         (this should have been done a long time ago).
+
+       * Changed "flist" to handle searching for multiple sequences
+         for each folder.  Also flist will now correctly split
+         Unseen-Sequence if it consists of multiple sequences.
+
+       * Added new switches `-unlink' and `-nounlink' to "refile".
+
+       * Added new switches `-unlink' and `-nounlink' to "rmm".
+
+       * More cleanups of slocal output.  Changed adorn() to
+         send to stdout, instead of stderr (to match rest of
+         verbose printing).
+
+       * Merged mbx_create() into mbx_open, so that creating and
+         opening a nonexistent maildrop is done atomically.  This
+         removes a bad race condition.
+
+       * Fixed bug that caused slocal to be unable to save to MMDF
+         style drop file.
+
+       * Added new wrapper function usr_folder() to slocal.c to
+         handle adding message to folder (currently, it still uses
+         usr_pipe() to call rcvstore).
+
+       * seq_list() checks for empty folder before scanning for
+         sequence information.
+
+       * num_digits() in flist.c and folder.c now returns correct
+         value for 0.  Also added sanity check.
+
+       * folder_delmsgs() now correctly decrements internal message
+         count.
+
+       * Don't attempt to read sequence information if folder
+         is empty.
+
+       * Split seq_read into seq_public and seq_private.
+
+       * Small change to sigmsg.awk, since newer versions of gawk
+         interpret 034 as octal.
+
+       * In flist, don't scan for sequence information in empty folder.
+
+       * Updated mhn.defaults.sh to output profile entries for mhshow,
+         mhstore, and mhbuild.
+
+       * Changed configuration parameter "mhn-access-ftp" to
+         "nmh-access-ftp".  Updated man pages
+
+       * Moved the code in InitMultipart to reverse the order of the
+         parts in a multipart, into its own function "reverse_parts()".
+
+       * Changed code in mhbuildsbr.c to store unencoded content
+         in the c_cefile structure when building.
+
+       * Changed code in mhoutsbr.c to look for unencoded content
+         in the c_cefile structure when outputing message.
+
+       * Changed configuration parameter "mhn-cache" and
+         "mhn-private-cache", to "nmh-cache" and "nmh-private-cache",
+         since it is used in mhstore, mhlist, and mhshow.  Updated man pages
+
+       * Change configuration parameter "mhn-storage" to
+         "nmh-storage", since it is now used in mhstore, mhlist,
+         and mhshow.  Updated man pages
+
+       * Add autoconf support for KPOP (kerberized pop).
+
+       * Add autoconf support for Hesiod.
+
+       * Split routines to output a message given a Content structure
+         (output_message, output_content, write7Bit, etc..) to a new
+         file "mhoutsbr.c".
+
+       * Split output_content(), into output_content() and build_headers().
+
+       * Changed copy_some_headers() in mhstoresbr.c, to use the linked
+         list of header fields, rather than reopening the message.
+
+       * Added free_header() to mhfree.c to free structures containing
+         header field information.
+
+       * Changed get_content() to use the linked list of header fields
+         when parsing the various MIME headers (Content-XXX).
+
+       * Changed get_content() to store linked list of header field
+         values when parsing a content.
+
+       * Changed mhbuild, mhn, mhlist, mhshow, mhstore, to use the
+         routines in mhcachesbr.c to handle the content cache.
+
+       * Split various funtions (find_cache, find_cache_aux, find_cache_aux2,
+         cache_content) into new file mhcachesbr.c.
+
+       * More calls to sprintf/strcpy (primarily in mhparse.c
+         and mhbuildsbr.c) converted to snprintf/strncpy.
+
+       * When a message is displayed with `mhshow', it is now
+         removed from the "unseen" sequence.
+
+       * Change the default "showmimeproc" to "mhshow".
+
+       * Split "mhn -show" off into separate command "mhshow".
+
+       * Split "mhn -store" off into separate command "mhstore".
+
+       * Split "mhn -list" off into separate command "mhlist".
+
+       * Add sanity checks to context_find(), context_replace(),
+         and context_del(), to abort if context file hasn't been
+         read.
+
+       * Add calls to context_read(), to the beginning of all nmh
+         commands (instead of being called indirectly by context_find).
+
+       * Changes the "substitute" version of vsnprintf/snprintf for
+         operating systems without native versions, to just call the
+         native vsprintf(), and ignore the buffer length.   This is
+         faster, but less secure than the previous version that used
+         temporary files.  This should only be a problem for systems
+         which do not have a native snprintf(), and require `inc' to
+         be setuid/setgid.
+
+       * Lots more calls to sprintf/strcpy converted to snprintf/strncpy.
+
+       * Changes client() routine to take additional parameter, which is
+         the buffer length of the parameter "response".  Then added
+         buffer length checks for this parameter.
+
+       * Changed getws() to get_fields(), since that is apparently the
+         name of a wide character version of gets() on some archetitures.
+
+       * Lots of sprintf/strcpy calls converted to snprintf/strncpy.
+
+       * Change the code in most of the commands that take multiple
+         message names/sequences/ranges on the command, such that
+         the msgs array is expanded dynamically.  This removes most
+         of the limits on the length of command lines.
+
+       * Add additional parameter to copyip(), to specify the
+         maximum number of strings that can be copied (security
+         fix).
+
+       * Create new function getarguments(), to massage the argument
+         vector before parsing it (add any arguments from your
+         profile to the beginning of the argument vector).  This
+         also removed the general limit on the number of command line
+         arguments.
+
+1998-07-04  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.27.
+
+       * Added a new command "delete", that is available during
+         a "whatnow" session.  It is equivalent to "quit -delete".
+
+       * Added another parameter to editfile (in whatnowsbr.c),
+         that controls whether editfile should remember the last
+         program that was exec'ed.  This way the whatnow command
+         "mime", will not be re-executed if "edit" is later given
+         with no arguments.
+
+       * Changed whatnowsbr.c, so that whatnow doesn't abort if
+         mhbuild returns an error.
+
+       * Added parameter to sendsbr(), so you may specify whether to
+         rename the draft file.
+
+       * Pass delay time to splitmsg() as a parameter, rather than
+         use a global variable.
+
+       * Moved code to rename draft file after sending message from
+         splitmsg and sendaux, to sendsbr.
+
+       * Removed all the code in viamail to split messages and then
+         mail them.  Replaced this with the standard sendsbr.c routines.
+
+       * Changed sendsbr(), so that when splitting messages into
+         messages of type "message/partial", the header fields that
+         are copied are more compliant with RFC-2046.
+
+       * Fixed mhbuild to track temporary files better.  They are
+         now correctly removed when mhbuild aborts.
+
+       * Created a new man page for "sendfiles".  The information
+         about "mhn -viamail" in the "mhn" man page was moved to
+         this new page.
+
+       * Changed the name of the "viamail" shell script to
+         "sendfiles".  Modified "sendfiles" to use the new
+         viamail program.
+
+       * Moved the functionality for "mhn -viamail" out of mhn,
+         and into a separate executable called "viamail".
+
+       * When storing MIME contents to a folder using mhn -store,
+         they are now accumulated in a temporary file, and then added
+         to the folder using folder_addmsg().
+
+       * Moved code to save content to a folder from store_content
+         to new function output_content_folder.
+
+       * Moved code to save content to file from store_content to
+         new function output_content_file.
+
+       * Moved code to parse storage format string from store_content
+         to new function parse_format_string.
+
+       * Fix copy_some_headers() in mhstoresbr.c, so that the
+         correct header fields in the first enclosing message/partial
+         will be copied (according to RFC2046), when using mhn -store
+         to reassemble messages of type message/partial.
+
+       * Fixed bug to openFTP() in mhparse.c, that caused the
+         tmp file to not be removed, when transferring a
+         message/external file from ftp.
+
+       * Moved the code in mhparse.c to process -auto switch (scan
+         contents for the attribute "name"), to a new function
+         "get_storeproc" in mhstoresbr.c.
+
+       * Moved routines to free data structures related to MIME
+         content from mhparse.c and mhbuildsbr.c, to new file
+         mhfree.c.
+
+       * Moved code to show/display MIME content into new
+         file mhshowsbr.c.
+
+       * Moved code to store MIME content from into
+         new file mhstoresbr.c
+
+       * Moved code to parse MIME content into new
+         file mhparse.c.
+
+       * Moved code to list information about MIME content
+         into new file mhlistsbr.c.
+
+       * Move part_ok(), type_ok(), content_error(), flush_errors(),
+         and set_endian() to new file mhmisc.c.
+
+       * Start to isolate the code to show, list, and store MIME
+         messages.  One side effect is that only one flag (-show,
+         -list, or -store) can be used at a time now.
+
+       * mhn -store -auto wasn't storing file in correct directory.
+
+       * Removed a few dead variables from sbr/ruserpass.c
+
+       * move code for creating tmp files, and renaming the
+         the composition draft in mhbuild, from build_mime()
+         to main().
+
+       * remove left-over code in mhbuild.c, mhbuildsbr.c, for
+         the -[no]auto switch (which isn't used in mhbuild).
+
+       * split mhn.c into mhn.c and mhnsbr.c (name later changed
+         to mhparse.c).
+
+       * split mhbuild.c into mhbuild.c and mhbuildsbr.c.
+
+1998-05-25  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.26.
+
+       * Added (unlisted) options [no]dashstuffing to send, post,
+         and whatnow to determine whether to do RFC934 quoting
+         (dashstuffing) for encapsulated BCC messages.  The default
+         is still the same (dashstuffing).
+
+       * Changed the undocumented feature "nodashmunging" in forw
+         and mhl, into the documented feature "nodashstuffing".  The
+         default for forw, is still "dashstuffing" for backward
+         compatibility, although I don't believe that bursting
+         RFC934 digests is very common anymore.
+
+       * Added an option to define REALLYDUMB in the default config.h.
+         But it is not on by default.
+
+       * moved creation of config file mts.conf from zotnet/mts
+         to etc.  This simplified the Makefile in zotnet/mts.
+
+       * simplified directory support/general to etc.
+
+       * removed unneeded directory support/bboards.
+
+       * split getusername() into getusername() and getuserinfo().
+
+       * Changed getusr() routine to getusername().
+
+       * Slight cleanup in folder_pack.c on code that records the new
+         number of the "cur" message when packing.
+
+1998-05-08  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.25.
+
+       * Change install process, so that hard linking the correct mts
+         library to libmts.a, is not necessary.  The final link process
+         uses the original name of the library.
+
+       * Fixed bug in flist.c and folder.c, so that symbolic links which
+         point to directories, will not decrement the number of directory
+         links remaining.
+
+       * Split the function list_content (in mhn.c and mhbuild.c) into
+         list_content and list_debug.
+
+       * Don't pack (folder -pack) an empty folder.
+
+       * Exit gracefully in flist.c, if no sequence is specified,
+         and no "Unseen-Sequence" is given in nmh profile.
+
+1998-02-27  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.24.
+
+       * Small clarification to the man page for `ali'.
+
+       * Fix bug in inc.c so that if both flags `-file' and `-truncate'
+         are given, that order doesn't matter.
+
+       * Fix bug in seq_list.c when realloc'ing for
+         large sequence line.
+
+1998-02-23  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.23.
+
+       * Add new section on "Transfer Encodings" to man page for mhbuild.
+
+       * In mhbuild.c, split compose_content into compose_content
+         (parse and execute composition string), and scan_content (scan
+         content, decided transfer encoding, check for clash with boundary
+         string).  I did a good amount of rearranging of this code.
+
+       * Moved definitions for data structures for parsing MIME
+         messages from mhn.c and mhbuild.c to a new include
+         file h/mhnsbr.h.
+
+       * Small amount of rearranging in sendsbr.c
+
+       * Small changes to MAIL.FILTERING file.
+
+       * Add the file MAIL.FILTERING to nmh distribution.
+
+       * Add line to packf so that if message begins with
+         "X-Envelope-From:" field, it is converted to "From ".
+
+       * Fix packf to add "From " line to beginning of message,
+         even if Return-Path doesn't exist.
+
+       * Add note to MACHINES file that on Linux, configure
+         doesn't find the functions sigsetjmp/siglongjmp.
+
+       * Fix configuration for machines that don't have (or find)
+         sigsetjmp/siglongjmp.
+
+1998-02-11  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.22.
+
+       * Add a configure check for sigsetjmp.  Add some conditional
+         #define's in h/signals.h in case it's not found.
+
+       * Added additional notes about -auto switch in mhn man page.
+
+       * Added note about MM_CHARSET environment variable to
+         mh-profile(5) man page.
+
+       * Fix signal problem in mhn.c (change setjmp/longjmp to
+         sigsetjmp/siglongjmp).
+
+1998-02-09  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.22-pre1.
+
+       * Changed the first line in mhl.format from
+         " -- using template mhl.format -- " to a blank line.
+
+       * Added note about automimeproc to mh-profile man page.
+
+       * Reorganize the main entry point for parsing a MIME message
+         or file in mhn.  Add new function parse_file() as new main
+         entry point for parsing MIME files.
+
+       * Add note to mhn man page, that "mhn -file -" will accept the
+         source message on the standard input.
+
+       * Changed a sanity check in folder_realloc that was too strict.
+
+       * -norfc934mode is now the default for mhbuild,
+         rather than -rfc934mode.
+
+       * Fix mhbuild, so that Content-Description and RFC-822 comments
+         from #forw directive will be correctly included if there is
+         only one message.
+
+       * Change mhn to correctly default parts of multipart/digest to
+         message/rfc822 (leftover code from rfc934mode was removed).
+
+       * Restore HP specific code to zotnet/tws/lexstring.c.  Apparently
+         it is still needed.
+
+1998-02-06  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.21.
+
+       * If the file given to mhbuild is "-", then accept the draft on
+         standard input, and output the MIME message to standard output.
+
+       * Cleaned up code in mhbuild.c that decides what transfer
+         encoding to use.
+
+       * Cleaned up code in mhbuild.c that decides what character set
+         to use for text contents.
+
+       * Removed old hpux specific code from zotnet/tws/lexstring.c
+
+1998-02-02  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.21-pre2.
+
+       * Added the "decode" variable to mhl.format and mhl.header.
+
+       * Added new variable "decode" to mhlsbr.c to decode text in
+         header fields as per RFC-2047.
+
+       * Make sure that when decoding RFC-2047 header fields, that any
+         spaces at the ends of the encoded text are not ignored, but the
+         spaces between encoded word are.
+
+       * Removed #ifdef's for MIME.  MIME support is always compiled in.
+
+       * scan/inc will now decode both Subject and From lines as
+         RFC-2047 encoded header fields.
+
+       * Added new function write_charset_8bit() to sbr.  It returns
+         the character set to use for 8bit text in composition draft.
+         Changed mhbuild to use this function.
+
+       * Split mhn man page into man pages for mhn and mhbuild.
+
+       * mhn -show will only now only use default method for content
+         of type plain, if it is NOT a part of a multipart/alternative.
+
+       * Split mhn -build into mhbuild.  Did some code cleanup.
+
+       * Added support for %(decode) to fmtdump.c.
+
+       * check_charset() now accepts US-ASCII as a subset of any
+         ISO-8859-X character set.
+
+       * Changed the default "showproc" to mhl, instead of the
+         pager more.
+
+       * When reading file into mhn composition file, only need read
+         permissions, not write permissions.
+
+       * Added own version of strcasecmp to distribution, since
+         nmh calls it frequently with NULL pointers (ughh).
+
+       * Replaced uleq.c with strcasecmp.  Removed uleq.c from
+         distribution.
+
+1998-01-22  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.21-pre1.
+
+       * If a message is missing charset parameter to text/plain, show
+         will assume US-ASCII, rather than just calling showmimeproc.
+
+       * Change show.c and mshcmds.c to use check_charset to see if text
+         message contains valid character set.
+
+       * Added new scan format file "scan.nomime" to support/general
+         that doesn't do any RFC-2047 decoding.
+
+       * Modified all the scan format files in support/general to do
+         RFC-2047 decoding of Subject field.
+
+       * Did more work on sbr/fmt_rfc2047.c, so that it will correctly
+         ignore whitespace between two valid encoded words, but not
+         between an encoded word and normal text.
+
+       * Created new file sbr/check_charset.c.  Moved code from
+         fmt_rfc2047.c to check for valid character set to this file.
+
+       * Added format escape %(decode) to decode contents of "str" register
+         as a RFC-2047 header field.
+
+       * The command install-mh now recognizes the switches -version
+         and -help.
+
+       * Added a new argument to print_help.c to decide whether to
+         print profile entries (needed for install-mh to prevent weird
+         loops).
+
+       * Changed folder_read.c and folder_realloc.c so that mp->lowoff
+         is initialize to max (mp->lowmsg, 1) rather than always 1.
+
+       * Changed macros for sequence/attribute manipulation so that
+         message status array doesn't need to always start at 1.
+
+       * Small cleanups in folder_realloc().
+
+1998-01-09  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.20.
+
+       * Added configure option --with-pager=PAGER.
+
+       * Added configure option --with-editor=EDITOR.
+
+       * Changed the default format file for mhl (mhl.format) to
+         also ignore (not display) the header fields Content-Type,
+         Content-Transfer-Encoding, and Content-ID
+
+       * Fixed core dump in addrsbr.c when using %(proper) format function
+         and the To: line was missing.
+
+       * Added the file ZSH.COMPLETION to the distribution.
+
+1998-01-04  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.20-pre2.
+
+       * Added new switch -snoop to both `msgchk' and `inc', so you can
+         watch the POP transaction.
+
+       * Changed "replgroupcomps" to check for Mail-Followup-To header
+         first, and use it if available.
+
+       * Changed "replcomps" to check for Mail-Reply-To header
+         first, and use it if available.
+
+1998-01-03  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.20-pre1.
+
+       * Changed seq_list.c to dynamically enlarge the buffer for
+         collecting the message ranges in a long sequence line.
+         This should remove the last hard limit on the size of a
+         sequence line.
+
+       * Changed seq_read.c so that can read long sequence lines.
+         It will use multiple calls to m_getfld() when m_getfld()
+         returns the state FLDPLUS.
+
+       * Changed brkstring.c to dynamically add more space for pointers
+         if necessary.  This is needed when splitting up large sequence
+         lines.
+
+       * Did some small cleanups in seq_save.c.
+
+       * Added new switches `-[no]unseen' to rcvstore, to control
+         whether new messages are added to Unseen-Sequence.
+
+       * Moved locking routines (zotnet/mts/lock.c) to sbr/lock_file.c
+
+       * Changed the internal UNSEEN flag to SELECT_UNSEEN which is
+         more appropriate.  Changed the MHPATH flag to ALLOW_NEW.
+
+       * Changed "replcomps" to not include CC and TO lines so that
+         that reply message is only directed at the author of the
+         message to which you are replying.
+
+       * Added new switch `-group' to command repl, which causes repl
+         to use new forms file "replgroupcomps".  This is intended for
+         making group replies.
+
+       * Removed #ifdef for ATHENA.
+
+1997-12-28  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.19.
+
+       * Fix repl,forw so that switch `-form file' will not abort
+         as ambiguious (silly mistake on my part).
+
+       * Cleaned up the mhn man page.  Added info about a few escapes
+         for the formatting/display strings that were not documented
+         (%%, %t).  Moved the BNF grammar for the mime composition file,
+         to the end of the man page.
+
+       * Added the options -[no]format to the command repl.  The
+         switch `-format' will filter the message to which you are
+         replying with the standard message filter "mhl.reply", which
+         is now included in the distribution.  The `-noformat' option
+         will negate the use of -format or -filter and not include
+         the message to which you are replying in the draft.
+
+       * Did some cleaning and reorganization on many of the man
+         pages.
+
+       * Added debugging switch `-debug' to mhparam, which displays
+         the values of all `procs' (and some other misc configuration
+         info) that nmh keeps in global variables.
+
+       * When using `refile -preserve', if a conflict occurs, then use
+         the next available number above the message number you wish
+         to preserve.
+
+       * In forw.c, split the code for creating MIME style forwarding
+         out of copy_draft, and into copy_mime_draft.
+
+       * Move routines in mark.c to print sequences, into new
+         file sbr/seq_print.c
+
+       * flist will now update the current folder.
+
+       * Added the switches -[no]fast to flist, to replace
+         -[no]total.  The previous switches are still accepted
+         but now undocumented.
+
+       * More reorganization in flist of the code for
+         traversing folders.
+
+       * The command "flist +foo -all" will now scan the folder
+         "foo" and all its 1st level children.
+
+       * Add missing include file <h/mh.h> to sbr/snprintf.c
+
+       * Fix alarm bug in rcvtty, so that when it calls external
+         process, the alarm is never longer than 30 minutes.
+
+1997-12-17  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.18.
+
+       * Fixed bug in mark, so that "mark -list -seq foo" will
+         correctly indicate if "foo" is a private sequence.  I found
+         this bug mentioned in Jerry Peek's book.
+
+       * Simplified the code in seq_setcur(), since seq_addmsg() now
+         retains the public/private status of sequences.
+
+       * Changed sequence handling so that if the switches -public
+         or -nopublic, are not specified for the commands mark, pick,
+         or rcvstore, then existing sequences will retain their
+         previous public/private status.
+
+       * mhparam now handles the mh-sequences profile entry
+         correctly.
+
+       * flist -all will now also check readonly folders (for
+         private sequences).
+
+       * Improve the leaf optimization for folder command.
+         It will now track the number of directories in a folder,
+         and stop stat'ing files once it has hit all the subfolders.
+
+       * Renamed m_getfolder to getfolder.  Changed getfolder to
+         take option to determine whether it should get current
+         folder, or just default folder (Inbox).  Changed rcvstore,
+         inc, and rmf to use the new getfolder.
+
+       * flist now indicates if a sequence is private.
+
+       * Change WUNTRACED to 0, in pidwait.c, so that commands will
+         wait for stopped processes.
+
+       * conflict will dynamically allocate space for group names,
+         so it can now handle system with more than 100 groups.
+
+1997-12-09  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.18-pre4.
+
+       * Check if we have enough message status space, before we
+         call folder_realloc() in burst, mhpath, and m_draft().
+
+       * mhn will now correctly identify a formatting string of "-"
+         for the option -store, and send content to stdout.
+
+       * Change the way that memory for message status is
+         allocated.  It is dynamcially allocated separately from
+         the folder/message structure.  This required changing
+         folder_read.c, folder_realloc.c, folder_free.c.
+
+       * Removed all the MTR code (experimental code for message
+         status allocation).
+
+       * Renamed m_readfolder.c to folder_read.c and simplified
+         the code.
+
+       * Renamed m_freefolder.c to folder_free.c.
+
+       * Add function trim() to slocal.c to pretty print
+         the debugging output.
+
+       * Changed the name of m_packfolder() to folder_pack().
+         Changed the name of m_remsg() to folder_realloc().
+
+Wed Dec  3 23:33:38 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.18-pre3.
+
+       * Changed installation to add `flists' which is hard linked
+         to `flist'.  This is a equivalent to `flist -all'.
+
+       * For flist, -showzero is on by default.
+
+       * Major changes to flist.  Default is now for flist to search
+         current folder.  The switch `-all' is now used to specify
+         searching all top level folders.  The new switch `-showzero'
+         is used to print out folders that don't contain any messages
+         in the given sequence.
+
+       * Split BuildFolderList in flist.c into 2 functions
+         (BuildFolderList, BuildFolderListR).  Changed these functions
+         so that flist now does better leaf optimization, and will stop
+         stat'ing directory entries when it knows it has hit all the
+         subdirectories of a given directory.
+
+       * Reorganized code in folder.c, so that all relevant folders
+         are scanned first and information recorded.  Then all the
+         folder summaries at printed out at one time.
+
+       * Made the options of folder(s) more orthogonal.  Now
+         "folder -all -noheader -nototal" will do the right thing.
+
+       * Added `-noall' switch to folder, for completeness.
+
+       * Changed the default mode for creation of new folders
+         to 0700 (was 0711).
+
+       * Slightly changed the format for flist.  It now indicates
+         if a folder is current.  Also the width of the various
+         fields are now calculated at runtime.
+
+       * Changed the format for folder(s).  Folder names
+         are now left justified.  The width of the various fields
+         are calculated at runtime.
+
+Sun Nov 30 19:14:53 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.18-pre2.
+
+       * Add paragraph to man page for install-mh and to INSTALL file
+         about checking for global mh.profile.
+
+       * Renamed m_find() to context_find().
+         Renamed m_replace() to context_replace().
+         Renamed m_delete() to context_del().
+         Renamed m_update() to context_save().
+         Renamed m_getdefs() to context_read().
+         Renamed m_foil() to context_foil().
+
+       * Change rcvstore to use routine folder_addmsg(), instead of
+         adding message to folder itself.
+
+       * Changed refile, so that if the switch -preserve is used,
+         and a conflict occurs for a particular folder, then folder_addmsg()
+         will just use next highest available number for that folder,
+         instead of exiting.
+
+       * Make folder_addmsg() more robust.  It will make repeated
+         attempts to link file into folder if link returns with
+         the error EEXIST.
+
+       * Fix bug, so that that if forking sendmail, HELO will be sent
+         unless clientname: option is defined but empty (so now it
+         is the same as the direct smtp code).
+
+       * Changed sprintb to snprintb (now we pass the buffer length
+         to new routine).  Changed code to use new function.
+
+       * Added snprintf to sbr. Added configure check to build it
+         if you don't have a native version (but haven't changed much
+         code to use it yet).
+
+Thu Nov 13 18:42:18 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.18-pre1.
+
+       * Fixed alarm bug in slocal, so that alarm is never
+         called with a value larger than 30 mintues.
+
+       * Fixed race condition in rmm and refile, so that
+         context is updated before external rmmproc is called.
+
+       * Removed all the OVERHEAD code.
+
+       * Move code to add message to folder from refile.c
+         to folder_addmsg.c
+
+Fri Jul 25 19:39:29 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Did some rearranging of the internals of inc.c.
+
+       * Make -inplace the default for anno, forw, dist, and repl.
+
+       * Changed --enable-smtp to --with-mts={smtp,sendmail}
+
+       * Created new directory mts/sendmail for direct sendmail
+         interface (although it currently still uses SMTP).
+
+       * Removed all the TMA (trusted mail agent) code
+
+       * Removed all the TTYD (terminal access daemon) code
+
+       * Removed all the MF (uucp filtering) code.
+
+       * Removed all the code for BERK.
+
+       * Removed all the code for stand-alone delivery (MHMTS).
+
+       * Split the file mts/sendmail/smail.c into sendmail.c and
+         smtp.c.  Changed the name of the directory to mts/smtp.
+
+       * Changed autoconf to use @sysconfdir@ for location of
+         configuration files.
+
+       * Changed #define in mhn.c from FTP to BUILTIN_FTP.
+
+Mon Jul 21 03:22:34 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.17.
+
+       * MAKEDEFS weren't passed down to recursive makes correctly.
+
+       * slocal.c now checks for UTMP_FILE and _PATH_UTMP instead
+         of hard-coding "/etc/utmp".
+
+       * rcvtty.c check for _PATH_UTMP if UTMP_FILE is not
+         defined.
+
+       * Remove configure checks for ulong and ushort.  Changed
+         code to just use unsigned {short, long}.
+
+       * Change addmsg function in refile.c to return new
+         number of refiled message.
+
+       * Added check in get_returnpath for empty unixbuf.
+
+       * Cleanup of sbr/pidstatus to use more POSIX macros
+         for return value of wait().
+
+       * Change configure to also check /bin for "more".
+
+Sat Jul 12 00:02:23 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.16.
+
+Mon Jun 23 20:13:24 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Added automimeproc, which should replace automhnproc.
+
+       * multipart messages will no longer abort for messages
+         of type 8bit or binary (although we still can't really
+         deal with binary messages, yet).
+
+       * Fix double free of c_storage.  From John MacMillan.
+
+       * mhn now treats unknown subtypes of "text" as text/plain.
+
+       * mhn changed so that specifying mhn-show-multipart, or
+         mhn-show-multipart/{mixed, alternate, etc...) will override
+         the use of the internal method for displaying these types.
+         Previously mhn would always use the internal method for subtypes
+         mixed, alternate, digest, and parallel (even if an alternate
+         method was specified in mhn.defaults).
+
+       * mhn show treats unknown subtypes of multipart, as type
+         multipart/mixed (as specified RFC2046).
+
+       * mhn checks for the parameter "name" rather than "x-name".
+         From MH-6.8.4 patch.
+
+       * Fix double free of ctinfo in user_content when using
+         #forw with single message.  From John MacMillan (and
+         MH-6.8.4 patch).
+
+       * Changed -mhnproc switch for show, to -showmimeproc.
+
+       * Changed profile entry "mhnproc" to "showmimeproc".
+
+       * Added "mime" option to "whatnow", which calls the program
+         "buildmimeproc" (default is mhn -build) to process MIME
+          composition files.
+
+       * Added -build switch to mhn, to process MIME composition
+         files.
+
+       * Did some reorganizing of mhn.c.
+
+       * Changed casting in mts/sendmail/smail.c from (char) to
+         (signed char) so SMTP reply codes work correctly for machines
+         which used unsigned chars by default.
+
+Sat Jun 21 01:21:47 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.15.
+
+       * Added new form "scan.unseen" to distribution.  It marks messages
+         which are in any sequence in Unseen-Sequence.
+
+       * Do some rearranging of date/time code in zotnet/tws/dtime.c
+
+       * Fix sign extension bugs in fmt_scan.c.
+
+       * Fix m_atoi.c so that strings ending in non-digit characters
+         return 0.
+
+       * Split code in burst.c so that finding delimiters of digested
+         messages and bursting a message into multiple messages are
+         two separate functions (find_delim and burst).
+
+       * Add workaround fo AC_PATH_PROG in configure.in, so
+         that BSD4.4 machines can find sendmail, vi, more.
+
+       * Added "-width" option to rcvtty.
+
+       * Change a few variable names in zotnet/mts/client.c since
+         they conflict with defines on AIX.
+
+       * Makefile in zotnet/tws assumes lexing of dtimep.lex was
+         unsuccessful if resulting file is less than 500 lines long
+         (rather than 10, which was previous value), since AIX
+         sed gives mangled file of about 200 lines.
+
+       * Extract code in rcvstore.c to link message into folder,
+         and put in own subroutine.
+
+       * Extract code in refile.c to link message into folder,
+         and put in own subroutine.
+
+       * Moved code to remove messages from folder into own
+         routine "folder_delmsgs" in sbr.  Changed rmm.c and
+         refile.c to use new routine.
+
+Fri May 16 06:09:31 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Renamed m_seqok to seq_nameok.
+
+       * Changed m_setunseen, msh, mshcmds, flist, and scan to use
+         seq_getnum.
+
+       * Changed m_seqflag to return the number of a sequence rather
+         than its bit flag.  Changed its name to seq_getnum and renamed
+         file to sbr/seq_getnum.c.
+
+       * Removed function m_seqnew and file sbr/m_seqnew.c since it is
+         no longer used.
+
+       * Added zero switch to m_seqadd function to zero out bits before
+         adding message to sequence.
+
+       * Renamed function m_setvis to m_setunseen, and renamed
+         corresponding file in sbr.
+
+       * Renamed function m_setseq to m_setprev, and renamed corresponding
+         file in sbr.
+
+       * Changed mark.c and pick.c to use m_seqaddsel and m_seqdelsel.
+
+       * Added new function m_seqdelsel to m_seqdel.c, which deletes
+         all selected messages from a sequence.
+
+       * Added new function m_seqaddsel to m_seqadd.c, which adds all
+         selected messages to a sequence.
+
+       * Split sbr/m_seqnew.c into m_seqadd.c, m_seqdel.c, m_seqnew.c,
+         and m_seqok.c.
+
+Thu May 15 00:53:17 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Renamed function pack_folder to m_packfolder, and moved it
+         from uip/folder.c into its own file sbr/m_packfolder.c
+
+Wed May 14 23:38:00 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Changed function m_gmsg to m_readfolder.  Renamed file
+         sbr/m_gmsg.c to sbr/m_readfolder.c.
+
+Mon May  5 19:57:11 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Expanded rcvtty man page, and added small patch from
+         MH-6.8.4 distribution.
+
+Fri May  2 15:24:34 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.14.
+
+       * Comment out configure test and code for tgetent to allocate its
+         own termcap buffer when passed a NULL argument.
+
+Sat Apr 26 03:46:38 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Added new options `-checkmime', `-nocheckmime', and `-mhnproc'
+         to show.  Restructured code to handle options to various
+         `procs' better.  Deprecated `-noshowproc' option and NOMHNPROC
+         environment variable.
+
+       * Added new man page `mh-draft' which documents the
+         draft folder facility in nmh.
+
+       * Renamed fmtsbr.h to fmt_scan.h.  Renamed fmtcompile.h
+         to fmt_compile.h.
+
+       * split fmtsbr.c into fmt_scan.c and fmt_new.c.  Renamed
+         fmtcompile.c to fmt_compile.c, and formataddr.c to
+         fmt_addr.c.
+
+       * `send -help' wasn't showing the -(no)mime and -split
+         options.
+
+Fri Apr 25 02:50:36 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.13.
+
+       * Changed mhpath so it doesn't abort if a message sequence
+         such as "mhpath all" expands to more than 1000 messages.
+         Also mhpath now dynamically reallocated space for message
+         names (The number of command line arguments is still limited
+         to MAXARGS).
+
+       * Did some general restructuring of the code in folder.c
+         that checks for folder information, and prints it.
+
+Thu Apr 24 01:04:37 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Changed `folder' to reallocate space for folder names if
+         necessary.  So `folders' can now handle more than 300 folders.
+
+Tue Apr 22 14:01:26 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Change configure to use a compile check to see if the tm struct
+         has tm_gmtoff, rather than using egrep.
+
+Mon Apr 21 02:19:17 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.12.
+
+       * Had set_exists and unset_exists macros backwards.
+
+       * Released nmh-0.11.
+
+Thu Apr 10 02:39:53 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Added documentation to mh-profile.man about the various
+         `procs' (mhlproc, showproc, lproc, etc...).
+
+       * Replace the bit twiddling for SELECTED, UNSEEN, and
+         mp->attrstats with macros.
+
+       * If system doesn't have SIGEMT (like Linux), then use SIGTERM
+         in msh.c instead.
+
+       * Change fstat to stat in m_gmsg.c since Linux wants
+         to hide dd->dd_fd.
+
+       * Merge Linux patch sent in by Michel Oosterhof (original
+         patch from bsa@kf8nh.wariat.org).
+
+       * Document an undocumented MH feature.  mhn -form mhl.null
+         will suppress the display of the message header.
+
+       * mhparam will now return "mhparam etcdir".
+
+       * Add catproc to /config/config.c and use that in show.c
+         and mshcmds.c, rather than hard coding in /bin/cat.
+
+       * Add mhnproc to the list of `procs' in mh-profile.man.
+
+       * Add configure test for lorder and tsort commands.
+
+       * Commented out the padding in the `msgs` struct in h/mh.h
+
+       * Change m_gmsg.c to allocate elements to the `info' array by
+         500 elements at a time (rather than MAXFOLDERS / 5).
+
+       * Add note to man page for mhmail that zero length messages are
+         not sent.  Need to use -body "" to send empty messages.
+
+       * zotnet/mts/mts.c : compare character with '\0', not NULL.
+
+       * sbr/getcpy.c : assign '\0' to character, not NULL.
+
+       * add m_fmsg to most programs in uip so that they explicitly free
+         folder/message structure when done with folder.
+
+       * uip/slocal.c : cleanup processing of sender.  Make sure it is
+         defined even if message is missing "From " line.
+
+Mon Mar 31 03:37:35 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.10.
+
+Sun Mar 30 21:46:17 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Add configure check for <locale.h>.  Turn on LOCALE support
+         by default.
+
+Thu Mar 20 03:21:24 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Reversed previous decision to retain "From " lines in slocal.
+         The "From " line is now removed from all messages.
+
+       * inc now saves the date from the "From " envelope in the
+         Delivery-Date header for all messages.
+
+       * sbr/m_getfld.c: Clean up processing of Return-Path and
+         Delivery-Date from the "From " envelope.
+
+Mon Mar 17 19:03:36 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * client.c: cast iaddr to int before comparing return value
+         of inet_addr with NOTOK.
+
+Tue Mar 11 04:38:10 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Grep test for signal names was failing on some OS'es because
+         of missing tabs in regex.
+
+Sat Mar  8 01:58:22 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.09.
+
+       * Move config files and format files to *.old before installing.
+
+       * Add configure check for killpg.
+
+       * msh.c: include <termios.h> instead of <termio.h> and
+         <sys/ioctl.h>.
+
+       * prompter.c: don't include <sys/ioctl.h> anymore.
+
+Thu Mar  6 04:03:24 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Added `-mime' and `-nomime' options to `repl'.
+         From MH-6.8.4 diff.
+
+Tue Mar  4 03:10:37 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * ruserpass.c : removed conflicting prototypes.
+
+       * rcvtty.c : Fixed rcvtty to obey terminal permissions granted
+         by `mesg' command.  Previously only worked on BSD machines.
+
+Mon Mar  3 00:18:59 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * rcvtty.c : Changed to use #define UTMP_FILE (if exists) rather
+         than hard coded "/etc/utmp".
+
+       * Released nmh-0.08.
+
+       * Changed slocal to lock .maildelivery (or file given by -maildelivery)
+         when accessing ndbm/db file for duplicate suppression, instead of
+         locking database itself.
+
+Thu Feb 27 05:28:09 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Added slocal action `mmdf' to deliver to a file in mmdf format.
+
+       * Changed the slocal actions `file' and `>' to always deliver in
+         mbox (uucp) format rather than be determined by RPATHS config
+         option.
+
+       * Changed the slocal action `mbox' to deliver in mbox (uucp) format
+         rather than mmdf format.
+
+       * slocal now adds Delivery-Date field to all messages (previously it
+         only added it to messages when delivering them to a file). The
+         "From " line is now retained on all messages if compiling with
+         RPATHS, rather than being discarded.
+
+       * rcvpack no longer adds the Delivery-Date field to messages.
+
+Sun Feb 23 22:03:54 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Removed the script packmbox, since it's functionality has been
+         added to packf.
+
+       * Changed packf so that it uses mbox (uucp) format by default
+         rather than mmdf format.  Added options -mbox and -mmdf to
+         packf so you can choose the preferred format.
+
+       * Changed rcvpack so that it uses mbox (uucp) format by default
+         rather than mmdf format.  Added options -mbox and -mmdf to
+         rcvpack so you can choose the preferred format.
+
+Tue Feb 18 00:01:05 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Changed nmh to use dot locking by default (although you
+         can still easily change this in config.h).
+
+       * Simplified locking code.  Removed code allowing setting of
+         locking type in mts.conf.  Now the locking type and locking
+         directory (if any) can only be set at compile time.
+
+Fri Feb 14 02:49:18 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Prefer getting timezone information from tm->gmtoff rather
+         than tzset and external timezone variable.
+
+Thu Feb 13 00:35:45 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Fixed typo in ruserpass.c in the variable toktabs.
+
+       * When ruserpass was added to LIBOBJS, it was missing
+         the suffix.
+
+       * Released nmh-0.07.
+
+Tue Feb 11 01:29:47 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Add check to configure, so that if ruserpass, or _ruserpass
+         is not found, build version of ruserpass in sbr.
+
+       * Added define's to discard.c, m_getfld.c, and scansbr.c so
+         the code that manipulates internals of stdio, will build
+         on SCO 5.x.
+
+       * Added #define to control whether to compile the simple
+         built-in FTP client in mhn.
+
+       * Added configure check for ushort and ulong.  Change code
+         to use ushort/ulong rather than u_short/u_long.
+
+       * A couple of small cleanups in locking code.
+
+       * Added configure check for gmtoff element in struct tm.
+
+       * Added configure check for tzset.
+
+Fri Feb  7 03:01:57 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.06.
+
+       * Removed code for machines that don't have socket
+         interface (how could they get mail anyway?).
+
+       * Removed code for BSD41 machines.  I don't think there are
+         many such machines around anymore.
+
+       * Add configure check for function uname, and prefer it
+         over gethostname.  General cleanup of zotnet/mts/mts.c.
+
+       * Change all `lseek' calls to use POSIX symbolic constants
+         SEEK_SET, SEEK_CUR, SEEK_END.
+
+Thu Feb  6 01:16:30 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Check lex generated file in zotnet/tws and use
+         pre-generated version if necessary.
+
+       * Released nmh-0.05.
+
+       * Change to use reliable signals on all platforms that have
+         sigaction.  Change so that interrupted system calls are
+         restarted for all signals except SIGALRM.  This fixes alarm
+         handling code in smail.c for BSD based systems.
+
+       * Added lorder and tsort commands so that created libs can
+         be linked in one pass.
+
+Tue Feb  4 01:33:00 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Changed pidwait so that while it is waiting for a child,
+         it should block signals rather than ignore them.
+
+Mon Feb  3 21:05:30 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Add checks to configure for dbm_open and -lndbm.
+
+Thu Jan 30 05:15:42 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * folder -pop and folder -push were freeing some memory too
+         quickly, which caused the entry popped from the stack to not
+         become the current folder.
+
+Wed Jan 29 01:28:02 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.04.
+
+       * Define ospeed and PC in termsbr.c is OS doesn't have
+         it.
+
+Sun Jan 26 20:25:10 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * editfile will create a symbolic link to the altmsg if it
+         can't make a link, on any machine supporting lstat.  Formerly
+         this would happen only on BSD42 based machines.
+
+Sat Jan 25 22:54:26 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * traverse (in popsbr.c) wasn't calling va_start before using
+         variable argument list.  Fixes core dump in inc when using POP.
+
+Fri Jan 24 03:27:59 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * The variable pass in remotemail needed to be set to
+         NULL.  (From MH-6.8.4 diff).  Fixes core dump of msgchk when
+         using POP.
+
+       * inc and msgchk were using -rpop by default when configured
+         with POP support.  Default is now -norpop.
+
+Thu Jan 23 02:01:17 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * By default, post will now give the SMTP HELO command with
+         the local hostname.  If you specify a hostname with the
+         clientname: option in mts.conf file, post will give the
+         HELO command with that name instead.  If the argument to the
+         clientname: option is empty, no HELO command is given.
+         (From the MH-6.8.4 diff)
+
+Wed Jan 22 01:55:45 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * When using `-help' for a command, it will also print its
+         profile compents from .mh_profile. (From MH-6.8.4 diff)
+
+       * "slocal -file" will now correctly takes its input from
+         a file (currently need to specify full path).
+
+Sun Jan 19 20:37:21 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * "slocal -debug" will now issue a warning if a non-blank
+         line in the .maildelivery file has less than 5 fields.
+
+Sat Jan 18 02:26:41 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Changed slocal so that code for duplicate suppression
+         (MH config was MSGID) is always built. Added the options
+         -[no]suppressdup to slocal to turn this on/off.
+
+Thu Jan 16 00:26:34 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.03.
+
+       * Fixed problem where mark would core dump if no
+         .mh_sequence file existed.
+
+       * Fixed problem where slocal would core dump if -debug
+         option was given, and certain headers were missing.
+
+       * Added patch to slocal to add `folder' (+) action, which
+         is shorthand for piping message to rcvstore.  Updated
+         man page.
+
+Wed Jan 15 21:30:17 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Changed flist option -unseen to -[no]all.  Cleaned up
+         flist man page.
+
+Fri Jan 10 20:36:33 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Fixed flist.  Changed the profile component `Folder-Order'
+         to `Flist-Order.  Added option `-sequence' to flist, so
+         you can specify the name of the sequence to search for.
+
+Thu Jan  9 00:20:48 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * A few minor portability cleanups.  Changed to use PATH_MAX
+         rather than MAXPATHLEN.  Don't assume ospeed variable exists
+         in termsbr.c.  Removed some conflicting prototypes.
+
+Wed Jan  8 11:05:02 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Add configure test to check if tgetent will accept NULL
+         and allocate its own buffer.  Borrowed from zsh.
+
+       * Changed libpath to etcpath.
+
+Mon Jan  6 04:15:35 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Cleaned up source code and Makefiles, so that if your `make'
+         supports the VPATH option, you can build nmh in a different
+         directory from where the source code is located.
+
+Fri Jan  3 05:05:18 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Released nmh-0.02.
+
+Wed Jan  1 17:41:52 1997  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Split mhook man page into man pages for rcvdist, rcvpack,
+         and rcvtty.
+
+Tue Dec 31 03:07:48 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Changed code to use strerror, rather than using sys_errlist
+         and sys_nerr directly.
+
+Mon Dec 30 02:15:25 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * -compat switch from install-mh removed.
+
+       * Changed the default POP port from "pop" to "pop3".
+
+Sat Dec 28 13:25:05 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Changed mhn_defaults to mhn.defaults.  Changed create_mhn_defaults
+         (again) to mhn.defaults.sh.  Changed find_program (again) to
+         mhn.find.sh.  mhn.defaults.sh now takes the search path
+         as an argument.  Default search path is now specified in Makefile
+         rather than in script.
+
+Fri Dec 27 16:34:01 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Changed mtstailor file to mts.conf.  Updated man pages.
+
+       * Changed si_value to si_val in mhn.c, since it conflicts with
+         macro defined on Solaris.
+
+Thu Dec 26 02:50:15 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Added --enable-nmh-mhe (and --disable-nmh-mhe) to enable/disable
+         support for Emacs front-end mhe.  It is on by default.
+
+       * Added the following configure options: --enable-nmh-pop to
+         enable client side pop support, --enable-nmh-smtp to enable
+         SMTP support.  Client-side pop support now compiles.  Man
+         pages for inc, msgchk, mh-chart now correctly added pop
+         options if enabled.
+
+Tue Dec 24 14:33:20 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Added configure test for bug in C libraries where linker
+         can't find ruserpass, but can find _ruserpass.
+
+       * Fixed configure test so that termcap variable ospeed is
+         correctly found.
+
+Mon Dec 23 19:40:17 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Source files converted to ANSI C.
+       
+       * md5 now compiled separately rather than being included
+         in mhn.c.  Changed md5 to use memset and memcpy.
+
+Fri Dec 20 02:29:37 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Collected the error routines adios, advise, admonish, and advertise
+         into one file (error.c), and did some rearranging of the code.
+
+Thu Dec 19 19:05:29 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Added awk script sigmsg.awk (originally written by
+         Geoff Wing <mason@werple.apana.org.au> for zsh) to
+         automatically generate signal messages for pidstatus.c.
+         Added files sbr/signals.c, h/signals.h.  Code now uses
+         sigprocmask to block signals (if available).  Code now uses
+         signal blocking on non-BSD machines.
+
+Wed Dec 18 01:55:17 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Add configure check for ATTVIBUG.  From Soren's mh autoconf work.
+
+       * Released nmh-0.01.
+
+       * Added configure code to check for type of signals functions
+         you have (POSIX or BSD style signals).  Added function
+         SIGPROCMASK to simulate sigprocmask on machines that don't
+         have POSIX signals.
+
+Fri Dec 13 19:40:48 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Added -version switch to all commands.  Also added to
+         their man pages.
+
+Mon Dec  9 16:36:54 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Renamed uip/trmsbr.c to termsbr.c and changed it to use
+         POSIX termios.h style functions if present.
+
+Tue Dec  3 16:18:39 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Changed support/general/bootmhn.sh to output new mhn_defaults
+         file to standard output by default (makes it easier for testing).
+         Changed name of script to create_mhn_defaults.  Changed bootmhn.findit
+         script to find_program.
+
+Sun Dec  1 10:00:00 1996  Richard Coleman  <coleman@math.gatech.edu>
+
+       * Added patch to uip/folder.c from exmh distribution to
+         speed up -recurse option.
+
+       * Added flist command from exmh distribution.  It doesn't work
+         yet, but it compiles :-)
+
+       * Changed default location for install to
+         /usr/local/nmh/{bin,etc,lib,man}.  Split files so that format
+         and configuration files go in nmh/etc, and support binaries go
+         in nmh/lib.  Of course, all this can now be changed in the top
+         level Makefile. 
+
+       * Started with mh-6.8.3 as based and converted to autoconf.
+         Rewrote all the Makefiles.  Currently only works with sendmail/smtp.
+         Pop support and plenty of other things, are now broken.
diff --git a/docs/MACHINES b/docs/MACHINES
new file mode 100644 (file)
index 0000000..df884bb
--- /dev/null
@@ -0,0 +1,123 @@
+#
+# MACHINE -- operating system specific information
+#
+# $Id$
+#
+
+--------------------------------------
+
+FreeBSD:
+OpenBSD:
+NetBSD:
+
+Some BSD4.4 machines have problems when running nmh's configure script.
+They will be unable to find the location of vi and sendmail.  This is
+due to POSIX features (breakage?) in the shell sh.  The solution is to
+run the configure script under the shell `bash'
+
+bash configure
+
+--------------------------------------
+Mac OS X/Rhapsody 5:
+
+Version 5.3 at least has the same sh/bash bug as the *BSD systems
+above. This appears to be fixed in 5.5.
+
+Will not compile correctly unless you configure with the --enable-debug
+option. It appears to find conflicts in the headers only when debugging
+is disabled. With debugging enabled, it compiles and runs happily.
+
+--------------------------------------
+
+HPUX:
+
+Lots of problems have been reported with using HPUX `cc'.  In particular,
+problems with `scan' giving incorrect dates (everything is 01/00).
+It is highly recommended that you use `gcc' instead.
+
+Also, new versions of HPUX (10.20?) will core dump in `scan' because
+of some workaround code in zotnet/tws/lexstring.c.  This workaround is
+needed for older versions of HPUX, but causes problems on newer versions.
+The solution is the added the line
+
+#undef hpux
+
+after line 15 of the file zotnet/tws/lexstring.c.
+
+--------------------------------------
+
+Irix (SGI):
+
+Irix make is notoriously buggy. If you're using it, you should "touch
+config.h.in" before configuring to prevent a problem where it tries to
+rebuild targets that shouldn't be rebuilt. (Alternately, you can just
+use GNU make instead of Irix make.)
+
+If you are compiling nmh with POP support, then the configuration
+process will search for (and find) the Irix version of "ruserpass".
+Unfortunately, this version is buggy and causes core dumps.  The best
+bet is to use the version that comes with nmh.  After running configure,
+edit the Makefile in the "sbr" directory, and add "ruserpass.o" to the
+LIBOBJS line.  Then run "make" as normal.
+
+--------------------------------------
+
+Linux:
+
+*** No longer necessary ***
+Make sure you uncomment the Linux section in the config.h file after
+running configure. 
+
+*** This test has been updated and should work now ***
+The configuration script does a test to discover the functions
+sigsetjmp/siglongjmp.  Since they are macros on Linux, the configuration
+process doesn't find them.  After running configure, you should change
+the line in config.h to define HAVE_SIGSETJMP. 
+
+*** This test has been updated and should work now ***
+For some Linux distributions, the configure script doesn't find the
+ndbm/gdbm library (dbm_open, dbm_close).  In this case, you should try to
+configure nmh like this:
+
+    LIBS=-lgdbm ./configure [configure options]
+
+The configuration script does a test to discover if your vi is broken
+(if it reports non-zero exit codes on certain pseudo-errors).  This test
+will hang if the program `ex' on your system is a link to the vi clone
+`vile'.  The workaround is to replace the command ex as a link to another
+vi clone such as nvi or elvis.
+
+--------------------------------------
+
+SCO:
+
+*** currently handled by config.guess ***
+Make sure you uncomment the SCO section in the config.h file after
+running configure.
+
+--------------------------------------
+
+Solaris:
+
+With --enable-debug you'll see a lot of warnings. This is even worse
+when compiling using the Sun Workshop compiler since it issues a
+warning for every instance of a problem instead of summarizing them.
+The main one concerns arrays with an index of type char. This is ok.
+The array itself is a hash of chars, so the array size and the type
+match. There isn't another safe and portable way to do this at the
+moment. An explicit cast would get rid of the warnings, but I think
+it's better to leave it complaining for now until we come up with
+a better solution. The whole thing is probablly going to be chucked
+with UTC-8 support anyway.
+
+Other than the warnings, it builds ok.
+
+--------------------------------------
+
+SunOS 4.1.1/4.1.3/4.1.4:
+
+You can't use the C compiler that comes with SunOS 4 since
+it isn't ANSI C.  But nmh builds just fine with gcc. With
+--enable-debug you will see a lot of warnings. 
+
+--------------------------------------
diff --git a/docs/MAILING-LISTS b/docs/MAILING-LISTS
new file mode 100644 (file)
index 0000000..afbbe01
--- /dev/null
@@ -0,0 +1,35 @@
+#
+# $Id$
+#
+
+There are currently three mailing lists, related to nmh. 
+
+nmh-bugs@mhost.com
+------------------
+This an open-submission list for reporting bugs. It is moderated to
+prevent being spammed. Any nmh-related mail is approved.
+
+nmh-announce@mhost.com
+----------------------
+This is a very low-traffic mailing list for announcing new releases,
+patches, and important events related to nmh. 
+
+nmh-workers@mhost.com
+---------------------
+This is the main list for discussing work on nmh. Both of the above
+mailing lists are forwarded to this one. 
+
+mail archives
+-------------
+The mail archives are only available to people subscribed to the
+mailing list. This restriction is in place to prevent harvesting of
+email addresses by spammers. To access the archives, you need to send
+mail to nmh-workers-request with an archive access command. You can
+get a current list of commands the archive server understands by
+sending a message to nmh-workers-request@mhost.com with the subject
+"archive help". 
+
+Of interest in the archive are the directories "latest" which contains
+everything since the nmh-workers mailing list has been hosted on
+mhost.com, and "old-list" which contians all the mail from when the
+list was formerly hosted at math.gatech.edu.
diff --git a/docs/README.about b/docs/README.about
new file mode 100644 (file)
index 0000000..e755961
--- /dev/null
@@ -0,0 +1,58 @@
+#
+# README -- I love README files.
+#
+# $Id$
+#
+
+-----------
+what is it?
+-----------
+nmh (new MH) is an electronic mail handling system.  It was
+originally based on the package MH-6.8.3, and is intended to be
+a (mostly) compatible drop-in replacement for MH.
+
+Although development of nmh is ongoing, it appears to be generally
+stable and is in current use.  But it is possible that we may
+break things as changes are made.
+
+--------------
+installing nmh
+--------------
+To install nmh, check the INSTALL and MACHINES files.  If you have
+previously used MH, check the file DIFFERENCES for a list of the
+differences between nmh and MH.
+
+--------------------------------
+ftp and web sites, mailing lists
+--------------------------------
+To find out about the mailing lists, ftp sites, and web page
+for nmh, check the FAQ included in this distribution.
+
+---------------
+nmh maintenance
+---------------
+nmh is currently being developed and maintained by a loosely organized
+group of volunteers. Please send bug reports and suggestions to
+nmh-bugs@mhost.com. This list is moderated (to prevent spamming) but
+allows submissions from anyone. General discussion of the development
+work is available by subscribing to the nmh development mailing list
+at nmh-workers@mhost.com. Note that you can only post to this list if
+you are subscribed as well. To subscribe, send a message to
+nmh-workers-request@mhost.com with "subscribe" in the subject. You do
+not need to provide anything in the message body.
+
+----------------
+acknowledgments
+----------------
+The original MH system was developed by the RAND Corporation and the
+University of California.
+
+nmh was started by Richard Coleman (coleman@math.gatech.edu) after
+development on MH mostly stopped. He did the original autoconfiscation
+and most of the other work up until version 1.0.
+
+nmh uses (v)snprintf code from the Apache web server, so we need to
+make the following acknowlegement:
+
+This product includes software developed by the Apache Group
+for use in the Apache HTTP server project (http://www.apache.org/).
diff --git a/docs/README.developers b/docs/README.developers
new file mode 100644 (file)
index 0000000..4437340
--- /dev/null
@@ -0,0 +1,172 @@
+#
+# README.developers
+#
+# $Id$
+#
+
+This file is intended to provide a few tips for anyone doing development on nmh.
+Developers who learn things "the hard way" about the nmh codebase (as opposed to
+local info best encoded in a comment) are encouraged to share their wisdom here.
+
+The topics are organized alphabetically.
+
+
+--------------
+autoconf files
+--------------
+
+If you wish to change the `configure' script or its related files, you'll need
+to first install GNU m4, available from <ftp://ftp.gnu.org/pub/gnu/m4/> and then
+GNU autoconf (<ftp://ftp.gnu.org/pub/gnu/autoconf/>).
+
+Most of the configure-related files are automatically generated.  The only files
+you should need to manually edit are acconfig.h and configure.in.  Don't, for
+instance, edit config.h.in.  Though it is an input file from the point of view
+of the users (and the configure script) it is an output file from the point of
+view of the developers (and the autoconf script).
+
+If you do change acconfig.h or configure.in and want to `cvs commit' them, be
+sure to regenerate the output files and commit them as well.  The easiest way to
+regenerate the files is to simply run `make' -- it'll do the necessary calls of
+autoconf and autoheader and will do a `./config.status --recheck', which will
+exercise your new configure script.
+
+When you commit the configure-related files, it's very important to commit them
+in the right order.  The timestamps on the files in the CVS archive are based on
+the current time at the moment they were committed -- the timestamps from the
+local files you commit are not copied over.  If you commit the files in the
+wrong order, you'll cause unnecessary calls of `autoconf' to occur when people
+try to `make' their copies of the latest CVS source.  These people may be
+end-users who don't have any interest in changing the configure-related files
+and don't have autoconf installed.  They'll be unable to make without playing
+around with `touch'.
+
+The correct order to commit the configure-related files is:
+
+    % cvs commit acconfig.h config.h.in configure.in configure stamp-h.in
+
+If you haven't changed all of those files, just commit the rest in the stated
+order (e.g. cvs commit acconfig.h config.h.in stamp-h.in).
+
+
+-------------------
+directory structure
+-------------------
+
+Following is a list of nmh's directories along with a brief description of the
+purpose of each one.  Meanings are given for the abbreviations, but note that
+these meanings are just informed guesses as to what the MH developers were
+thinking. 
+
+./
+    The top-level directory.  Contains files like README and INSTALL.
+
+config/
+    Contains utility files for the `configure' process.  Ordinarily nothing in
+    here needs to be messed with.
+
+etc/
+    Contains files, file templates, and scripts to generate files that will be
+    installed in the ${prefix}/etc directory.  Stuff like replcomps.
+
+h/
+    Most of nmh's header (.h) files are kept not in the individual source
+    directories, but in this central location.
+
+man/
+    Contains all the input files that are processed to generate nmh's manual
+    pages.
+
+mts/
+    "mts" stands for "Message Transfer Service".  Source files specific to the
+    different MTSs go in the subdirectories.
+
+mts/mmdf/
+    "mmdf" stands for "Multichannel Memorandum Distribution Facility".  It is an
+    alternative to sendmail used primarily on SCO UNIX.
+
+mts/sendmail/
+    When nmh is configured --with-mts=sendmail, the files in this directory are
+    used. 
+
+mts/smtp/
+    When nmh is configured to just talk to an SMTP server over TCP/IP, the
+    source in this directory is compiled.
+
+sbr/
+    "sbr" stands for "subroutine(s)".  For the most part, each source file in
+    this directory contains a single function with the same name as the source
+    file.  These functions are of general use and are called from throughout
+    nmh.  
+
+uip/
+    "uip" stands for "User Interface Programs".  Most nmh commands have a file
+    in this directory named <command>.c containing the code for that command
+    (e.g. repl.c).  In some cases there is also an auxiliary file called
+    <command>sbr.c which contains additional subroutines called from <command>.c
+    (which would contain not much else besides main()).
+
+zotnet/
+    Files in this hierarchy were either written by or moved here by UCI
+    (University of California, Irvine) after they took over MH from the Rand
+    Corporation.  "Zot!" is the sound effect made by the anteater in the "B.C."
+    comic strip when its tongue lashes out at ants.  The anteater is UCI's
+    official mascot.  Not sure whether UCInet was once called ZotNet...
+
+zotnet/bboards/
+    UCI added Bulletin Board functionality to MH with the `bbc' command.  This
+    functionality has been removed from nmh but apparently files in this
+    directory are still needed for other purposes.
+
+zotnet/mf/
+    "mf" stands for "Mail Filter".  The filtering in this case apparently refers
+    to translation between different address and mailbox formats.
+
+zotnet/mts/
+    MTS code not specific to any single MTS apparently goes here.
+
+zotnet/tws/
+    No idea what "tws" stands for, other than 't' almost certainly standing for
+    "time".  Date and time manipulation routines go here.
+
+
+-------------
+releasing nmh
+-------------
+
+To make a public release of nmh (we'll use version 1.0.4 and my mhost.com
+account, danh, as examples here):
+
+1. % echo 1.0.4 > VERSION
+
+2. Put a comment like "Released nmh-1.0.4." in the ChangeLog.
+
+3. % cvs commit ChangeLog VERSION
+
+4. % cvs tag nmh-1_0_4
+   (cvs treats dots specially, so underscores are substituted here.)
+
+5. % make nmhdist
+
+6. Preferably make an MD5 hash and/or a PGP signature of nmh-1.0.4.tar.gz.
+
+7. Preferably test out the tarball, making sure you can uncompress and untar it,
+   and configure, make, install, and use nmh from it.
+
+8. % scp -p nmh-1.0.4.tar.gz* your-uid@mhost.com:/home/ftp/pub/nmh
+
+9. Send an announcement to exmh-users@redhat.com, exmh-workers@redhat.com,
+   mh-users@ics.uci.edu, and nmh-announce@mhost.com.  If the release fixes
+   significant security holes, also send an announcement to
+   bugtraq@securityfocus.com.  None of these lists require you to be subscribed
+   to post.  Note that you don't need to post separately to comp.mail.mh, as the
+   mh-users mailing list is apparently bidirectionally gatewayed to it.
+
+   Preferably, the announcement should contain the MD5 hash generated above, and
+   should be PGP-signed.  It should include the FTP URL for the tarball as well
+   as the URL of the website.  It should contain a brief summary of visible
+   changes, as well as the URL of the cvsweb diff page that would show a
+   detailed list of changes.  The changes between 1.0.3 and 1.0.4 would be shown
+   by:
+
+       http://www.mhost.com/cgi-bin/cvsweb/nmh/ChangeLog?r1=1.40&r2=1.71