remove Previus-Sequence support The Previus-Sequence was racy and introduce a lot of write accesses. Also most use cases can solved better with shell history and command line editing.
redesign version string Now we have two version nummbers one for the tool and one for the lib. Also the version number is changed everytime the object is rebuild.
Replace getcpy() and strdup() with mh_xstrdup() this harmonise the code. Also fix some bugs, if return value of strdup is not checked.
Replace free() with mh_free0() mh_free0() free's the memmory and set's the pointer to NULL after the free. This avoids doublefree and dereferenc of a non valid poiter.
remove unnecessary casts These casts after malloc just make the code harder to read
No error-checking for error-checking alloc functions The mh_x(m|c|re)alloc function always return successful ... or terminate the program on their own, otherwise.
replaced calloc with mh_xcalloc This finished the work of David Levine, which was portet in the last commit.
Use sysexits.h for better exit-codes The sysexits header describe some standard exit-codes, which should be used. adios has now a status argument so sysexits.h can be used.
Move #include from h/mh.h to source files Included files should not include further files. Now, only the necessary files are included and not all of them in every file. A large bunch of this work is done, but there are some more nested include files.
nonstatic function for atexit, check if atexit fails atexit needs nonstatic functions to work correct. The error check is importent, because atexit can fail for some reasons and the cleanup woulden't work.
Replace done with exit at uip Replace done with exit in most sourcefiles of uip. This makes the code better to read. If the done was overwritten by an externel function atexit() is used instand. send.c and mhl.c are excluded, because need a bit rewrite first.
Removed configure flag --disable-locale and have it always enabled. Todays system are assumed to have locale support.
Require at least 2 chars for `no' variants of switches. This results in: ali -n --> -normalize ali -no --> ambiguous folder -n --> unknown (don't know if this case is good) folder -no --> ambiguous
Renamed -version switch to -Version to remove the conflict with -verbose. Now, `mhlist -V' prints the version and `mhlist -v' lists verbosely. There are only a few switches left that conflict on the first character, apart from the inverted (no*) variants.
mhbuild: Removed the -ebcdicsafe switch. It only influenced MIME messages, where quoted-printable encoding encoded some punctuation chars (e.g. $) as well. I guess this is not much of a problem anymore today. The switch was deactivated by default and didn't even appear in the 1991's version of Jerry Peek's MH book. In the 1999's version there is a parenthesed note about the switch, not more. I guess we won't miss it.
Remove caching of external MIME parts. I.e. -rcache/-wcache switches and nmh-cache/nmh-private-cache profile entries. External MIME parts are *very* rare nowadays, who cares about caching them, anyway?
Removed RFC 1864 (Content-MD5) support. I.e. -check switches. Transfer integrity should be cared for in the transfer protocols. Data integrity is better covered with digital signatures.
Added missing NULL sentinels in switches array.
Switch from using RETSIGTYPE via autoconf to void. POSIX says that's the type to use for a signal handler. Pulled in from nmh. Thanks to Ken Hornstein. (btw: `to pull in' describes my action better than `to merge'.)
The result from the call to parse_mime() was ignored. Detected by `gcc -Wempty-body'. It has been that way since the beginning of history and was probably of no consequence, but fixed anyway. Merged from nmh. Thanks to David Levine.