"Fossies" - the Fresh Open Source Software Archive

Member "nmh-1.7.1/ChangeLog" (6 Mar 2018, 841841 Bytes) of package /linux/misc/nmh-1.7.1.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes reports for "ChangeLog": 1.7.1-RC3_vs_1.7.1 or 1.7_vs_1.7.1.

    1 Author: Ken Hornstein <kenh@pobox.com>
    2 Date:   Tue Mar 6 14:10:00 2018 -0500
    3 
    4     Updating for 1.7.1 release.
    5 
    6 Author: Ken Hornstein <kenh@pobox.com>
    7 Date:   Tue Feb 20 10:57:44 2018 -0500
    8 
    9     Update DATE and VERSION for third release candidate
   10 
   11 Author: David Levine <levinedl@acm.org>
   12 Date:   Mon Feb 19 21:30:17 2018 -0500
   13 
   14     Fixed mhshow/test-charset to work on all tested platforms.
   15     
   16     Restores the functionality of commit f81046da6.  Also, skips the
   17     last two tests if iconv isn't enabled.  And removes the test
   18     files if the last test, without iconv_elides_question_marks, behaves
   19     as expected.  Finally, some comments have been updated.
   20     
   21     (cherry picked from commit 8ed8876c673325b1af92d67012dc2e8ae3cf1019)
   22 
   23 Author: David Levine <levinedl@acm.org>
   24 Date:   Sat Feb 3 08:00:36 2018 -0500
   25 
   26     Removed comment about testing noiconv portion of get_param_value().
   27     
   28     I'm not sure if it ever did, but it doesn't seem to now.
   29     
   30     (cherry picked from commit 63041ccfe270ccecede25ac4f4c18d71aa43b1a4)
   31 
   32 Author: Ralph Corderoy <ralph@inputplus.co.uk>
   33 Date:   Sat Feb 3 10:49:40 2018 +0000
   34 
   35     test-charset: Fix test when HAVE_ICONV is false.
   36     
   37     When the Content-Type's charset parameter's encoding is `invalid', it
   38     makes no difference whether HAVE_ICONV is defined or not as the
   39     parameter's value can't be decoded.
   40     
   41     (cherry picked from commit d4814561eafc238a9ed2b4fa67ef2755e5e83858)
   42 
   43 Author: Ralph Corderoy <ralph@inputplus.co.uk>
   44 Date:   Thu Jan 25 00:16:15 2018 +0000
   45 
   46     test-charset: Divulge mhshow output if iconv_open(3) doesn't gripe.
   47     
   48     Andy Bradford was finding the grep failed, but was left with no
   49     explanation that's what happened, or what the file that didn't match
   50     contained.
   51     
   52     (cherry picked from commit 695ed941eb3d907a7c2912d9ea8fdad06a3fd0f5)
   53 
   54 Author: Ken Hornstein <kenh@pobox.com>
   55 Date:   Mon Feb 12 16:01:08 2018 -0500
   56 
   57     Avoid free() in format engine for now.
   58     
   59     This free() call messes up the buffer handling in scansbr.c:scan();
   60     for now we're going to live with the leak and fix this properly when
   61     we normalize the format engine's memory handling.
   62     
   63     (cherry picked from commit 19c69cf39d0ab9aee0cf45caa13d39edf1997fef)
   64 
   65 Author: Ken Hornstein <kenh@pobox.com>
   66 Date:   Sat Feb 10 01:29:46 2018 -0500
   67 
   68     Add a few more MacOS X valgrind suppressions
   69     
   70     (cherry picked from commit 42db3a2c36e26e0106b1e480407e32d3c8c09bef)
   71 
   72 Author: Ken Hornstein <kenh@pobox.com>
   73 Date:   Fri Feb 9 23:15:32 2018 -0500
   74 
   75     Clean up memory leaks by callers of scan().
   76     
   77     Make sure we reuse the "scanl" argument to the scan() function, as that's
   78     the signal to have scan() reuse it's buffers.  Otherwise repeated calls
   79     to scan will leak a TON of memory.  Reported by Ralph Corderoy.
   80     
   81     (cherry picked from commit 946ddda2565e28600b65cb666a59182a6d95ff48)
   82 
   83 Author: Ken Hornstein <kenh@pobox.com>
   84 Date:   Sun Jan 21 17:59:13 2018 -0500
   85 
   86     Update for second release candidate.
   87 
   88 Author: Ralph Corderoy <ralph@inputplus.co.uk>
   89 Date:   Sat Jan 20 11:48:30 2018 +0000
   90 
   91     test-whom: Send whom's stderr down pipe; don't discard.
   92     
   93     Fixes 2a02eef3.
   94     
   95     (cherry picked from commit c349c172bd195190c0ddb7754644f16ba8545fda)
   96 
   97 Author: Ralph Corderoy <ralph@inputplus.co.uk>
   98 Date:   Sat Jan 20 11:45:32 2018 +0000
   99 
  100     test-msgchk: Send msgchk's stderr down pipe; don't discard.
  101     
  102     Present since original 26ac907a.
  103     
  104     (cherry picked from commit 341ac166ef0f1e9b0eac5ab3fa74899e5323c242)
  105 
  106 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  107 Date:   Sat Jan 20 11:38:24 2018 +0000
  108 
  109     test: Send command's stderr down pipe; don't discard.
  110     
  111     Fixes 880ff2a4 that turned `foo >$actual 2>&1' into
  112     `foo | sed ... >$actual 2>&1'.
  113     
  114     (cherry picked from commit 025963d5fe8ca0781eee8c83c23b4ea1209a3b0b)
  115 
  116 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  117 Date:   Sat Jan 20 08:57:40 2018 +0000
  118 
  119     test/common.sh.in: Unset libcurl(3)'s proxy environment variables.
  120     
  121     Debian's packager, Alexander Zanger, reported test/oauth/test-* problems
  122     due to environment variables for the system's network proxies.  David
  123     Levine suggested the unsetting of them.  The tests only make HTTP
  124     connections so just the variables affecting those are unset.
  125     
  126     (cherry picked from commit 5303e0f65b71e1336944a5b10356d6a99528511a)
  127 
  128 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  129 Date:   Sat Jan 20 07:33:36 2018 +0000
  130 
  131     test-subpart: Send mhshow's stderr down pipe; don't discard.
  132     
  133     Fixes 2f1e191a.
  134     
  135     (cherry picked from commit ca079bfa8e3812ebf21ffec1c27edeaa03cb9280)
  136 
  137 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  138 Date:   Sat Jan 20 07:28:29 2018 +0000
  139 
  140     test-textcharset: Send mhshow's stderr down pipe; don't discard.
  141     
  142     Fixes 67bb0fc0.
  143     
  144     (cherry picked from commit f7a2498729e0c642c7c7fb573deee3a35176de44)
  145 
  146 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  147 Date:   Sat Jan 20 00:08:33 2018 +0000
  148 
  149     fmttest.c: Avoid `++' with bools, silencing compiler warnings.
  150     
  151     A partial application of fmttest.c's changes in 8c6e995a to fix the
  152     errors introduced by the cherry-picking of another commit in 88ba19fc.
  153 
  154 Author: David Levine <levinedl@acm.org>
  155 Date:   Thu Jan 18 21:46:13 2018 -0500
  156 
  157     Removed quotes around "%{charset}" in mhbuild-convert-text.
  158     
  159     They broke test/repl/test-convert on Cygwin.  It looks like parameter
  160     quoting differs between mhbuild and mhshow.
  161     
  162     Fix to commit 47629e9e87a324531be881cebfca38dd38f8afaa.
  163     
  164     (cherry picked from commit 73e1f01148bb9709a405e27f7d3c5a95ea03b859)
  165 
  166 Author: David Levine <levinedl@acm.org>
  167 Date:   Thu Jan 18 20:21:40 2018 -0500
  168 
  169     Removed quotes from charset argument to iconv.
  170     
  171     Fix to commit 47629e9e87a324531be881cebfca38dd38f8afaa.  Ken
  172     noticed that it broke test/repl/test-convert on MacOS X.
  173     
  174     (cherry picked from commit a3953e07ac53f83373326301d049faea82eb97d0)
  175 
  176 Author: David Levine <levinedl@acm.org>
  177 Date:   Thu Jan 18 19:03:52 2018 -0500
  178 
  179     Filter test output to remove added whitespace.
  180     
  181     Ralph noticed that lynx added whitespace to the (empty) converted
  182     html document, breaking the test.
  183     
  184     Fix to commit 47629e9e87a324531be881cebfca38dd38f8afaa.
  185     
  186     (cherry picked from commit 67bb0fc0c930d5c91b6a2881b4596e1044546297)
  187 
  188 Author: David Levine <levinedl@acm.org>
  189 Date:   Wed Jan 17 19:36:12 2018 -0500
  190 
  191     Wrapped uses of %{charset} in mhn.defaults with double quotes.
  192     
  193     (cherry picked from commit 47629e9e87a324531be881cebfca38dd38f8afaa)
  194 
  195 Author: Ken Hornstein <kenh@pobox.com>
  196 Date:   Tue Jan 16 21:16:32 2018 -0500
  197 
  198     Update for first release candidate of 1.7.1.
  199 
  200 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  201 Date:   Wed Nov 22 13:44:01 2017 +0000
  202 
  203     Rewrite cpnumber() to fix `%2(msg)' with 123 overflowing to `?23'.
  204     
  205     Reported in 1.7 by Ken on nmh-workers yesterday.
  206     `It seems this was introduced in commit 92128dacf'.
  207     We now use the C library to format the number, and then manipulate the
  208     result.  A temporary charstring_t is no longer used.
  209     Also adds left justification using negative width.
  210     
  211     (cherry picked from commit a034d7e5edab2f0d56a62f6e1fcbbc76f3e5f31b)
  212 
  213 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  214 Date:   Mon Jan 15 16:25:35 2018 +0000
  215 
  216     Add test-fmttest for cpstripped(), cptrimmed(), and cpnumber().
  217     
  218     Many more tests could be done, and some, like those below, would produce
  219     known erroneous results, but this is a start and helps spot regressions.
  220     
  221      create mode 100755 test/format/test-fmttest
  222     
  223     (cherry picked from commit 3e2ca6f83691294fece17b00f8f08b203821c91f)
  224 
  225 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  226 Date:   Sat Jan 13 13:54:15 2018 +0000
  227 
  228     fmttest: Allow `-outsize 0' to mean no output, not default size.
  229     
  230     `0' might be arrived at by a script tracking remaining space.
  231     
  232     (cherry picked from commit 4fd4b0afa64f34a399c0b1bbbffacb859d1e55b8)
  233 
  234 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  235 Date:   Wed Nov 29 17:28:50 2017 +0000
  236 
  237     Add Arch Linux to the often-built-and-tested distro list.
  238     
  239     And correct a `Mac OS' to have an `X', and `HPUX' to be `HP-UX'.
  240     
  241     (cherry picked from commit 9283525375671f0c4c6d0c021440074b3c96ac0a)
  242 
  243 Author: David Levine <levinedl@acm.org>
  244 Date:   Sat Dec 2 15:43:16 2017 -0500
  245 
  246     Removed version number from OpenBSD, it's in the "recent" section.
  247     
  248     (cherry picked from commit 0813132987677a8b0cf3b4d0e8bf851657deeadd)
  249 
  250 Author: David Levine <levinedl@acm.org>
  251 Date:   Sat Dec 2 09:44:19 2017 -0500
  252 
  253     Moved OpenBSD back to "routinely built and tested" category.
  254     
  255     (cherry picked from commit a640546144e14bc303c3ca0de019b40818ccc319)
  256 
  257 Author: David Levine <levinedl@acm.org>
  258 Date:   Mon Nov 27 20:56:30 2017 -0500
  259 
  260     Updated platform lists in MACHINES.
  261     
  262     (cherry picked from commit ac30294d6103652024539ebb76af348977812050)
  263 
  264 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  265 Date:   Mon Sep 25 17:43:04 2017 +0100
  266 
  267     Delete "blank" lines at start of files to bring content into view.
  268     
  269     (cherry picked from commit a7c1ec95e26ca515d95bfda1e260e3827ba25a1e)
  270 
  271 Author: David Levine <levinedl@acm.org>
  272 Date:   Mon Jan 15 17:30:49 2018 -0500
  273 
  274     Also trap ambiguous post switch.
  275     
  276     Fix to commit d321a6ee82fce5d187f4342199c090909a72e9b8.
  277     
  278     (cherry picked from commit ff7b97ca9ddcf66640aaeef01934a6b45a5f183b)
  279 
  280 Author: David Levine <levinedl@acm.org>
  281 Date:   Mon Jan 15 17:16:41 2018 -0500
  282 
  283     Fixed rcvdist to pass switch arguments to post(1).
  284     
  285     Looks like this has always been broken.  Found by Steven Winikoff
  286     when he tried to pass a -port switch, to override the default
  287     submission port.
  288     
  289     This is intended to be a temporary fix.  The post switches should
  290     be factored out into one place.
  291     
  292     (cherry picked from commit d321a6ee82fce5d187f4342199c090909a72e9b8)
  293     and manually changed die() to adios()
  294 
  295 Author: David Levine <levinedl@acm.org>
  296 Date:   Sun Jan 14 15:04:53 2018 -0500
  297 
  298     Removed escape before newline.
  299     
  300     It was causing a *roff font selection code to appear in the
  301     formatted man page.
  302     
  303     Fix to commit 95e0df2af.  That commit removed a space after the
  304     escape, which used to cause a double space in the formatted output.
  305     
  306     (cherry picked from commit 28ebf6bb835e9954c0f959b56c8abac2bf3decd5)
  307 
  308 Author: David Levine <levinedl@acm.org>
  309 Date:   Sat Nov 18 10:35:19 2017 -0500
  310 
  311     Move etc/rmmproc.messageid to fix its install permissions.
  312     
  313     And removed duplicate docs/contrib/replaliases to fix its install permissions.
  314     
  315     (cherry picked from commit f102d048fdd4679534460ac5cb0c610ee228d063)
  316 
  317 Author: David Levine <levinedl@acm.org>
  318 Date:   Mon Nov 27 20:11:30 2017 -0500
  319 
  320     Removed sbr/dtimep.c from CLEANFILES.
  321     
  322     automake puts it in maintainer-clean-generic, which is where it belongs.
  323     Reversal of commit 1353a95720e4049e5f8357cd009b76c0450ec39f.
  324     
  325     (cherry picked from commit babec898bb63d36349aae85a8cbde6b97b274192)
  326 
  327 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  328 Date:   Mon Nov 27 15:20:44 2017 +0000
  329 
  330     test-mhfixmsg: pwd(1)'s `-P' needed to avoid failure with symlinks.
  331     
  332     Steven Winikoff reported to nmh-workers that one of this file's tests
  333     failed in 1.7.  It attempts to manipulate the output of mhpath(1)
  334     assuming it starts with the result of `pwd', but symlinks in the latter
  335     may cause this to fail.  Use POSIX's `-P' option to ensure no symlinks,
  336     as done in some other tests.
  337     
  338     (cherry picked from commit 0e593b90e45687680b8ea9eb6c7643b44abde0fb)
  339 
  340 Author: David Levine <levinedl@acm.org>
  341 Date:   Sun Nov 26 17:27:48 2017 -0500
  342 
  343     Use ISO-2022-KR instead of EBCDIC-US in test-charset, because
  344     Robert Elz reported that it is installed on his NetBSD host.
  345     Also, don't run that check without iconv.
  346     
  347     (cherry picked from commit f81046da683a14b2265a501f0de00df264a77413)
  348 
  349 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  350 Date:   Sun Nov 26 12:09:22 2017 +0000
  351 
  352     Fix tests that assume the backup prefix is a comma.
  353     
  354     Steven Winikoff reported to nmh-workers that some tests failed in 1.7
  355     configured with --with-hash-backup because they assume the backup prefix
  356     is comma rather than hash.  Alter those tests to use `mhparam sbackup',
  357     as other tests already do.  PATH is already set to use the mhparam being
  358     tested.
  359     
  360     test-mhfixmsg used find(1) to check for leftover files that globbed
  361     `mhfix*' or `,mhfix*'.  Changed to just `*mhfix*' as I think any file
  362     containing that would be unwanted, and it will also spot mhfixmsg
  363     hard-coding the comma prefix.
  364     
  365     (cherry picked from commit 47b86722957cca6057bf5fcd07c9d1f01b4516f8)
  366 
  367 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  368 Date:   Sat Nov 25 15:42:09 2017 +0000
  369 
  370     mhshow/test-charset: Protect question mark from shell globbing.
  371     
  372     (cherry picked from commit f227479ac47aea8bc8f31f9c6d97a94af72ee147)
  373 
  374 Author: David Levine <levinedl@acm.org>
  375 Date:   Fri Nov 24 18:41:23 2017 -0500
  376 
  377     Reworked parameter value tests to reflect Ralph's (re-?) discovery
  378     that GNU iconv elides the ? from charset names.  nmh uses it as a
  379     replacement character when decoding fails.
  380     
  381     (cherry picked from commit 523641d2282ce5606a8b83250f9e45f33650edf6)
  382 
  383 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  384 Date:   Wed Nov 22 15:12:11 2017 +0000
  385 
  386     fmttest.c: Clear output buffer after each write.
  387     
  388     Otherwise each write outputs the whole buffer again, including what's
  389     already appeared.  Instead of the three lines 1, 2, 3, one sees 1, 1, 2,
  390     1, 2, 3.
  391     
  392     (cherry picked from commit 1670e4d1af608291d93f02e74c57b6aef69a83ad)
  393 
  394 Author: David Levine <levinedl@acm.org>
  395 Date:   Sun Dec 17 20:41:34 2017 -0500
  396 
  397     Removed sysconfdir overrides from SPECS examples.
  398 
  399 Author: Ken Hornstein <kenh@pobox.com>
  400 Date:   Fri Nov 17 10:23:34 2017 -0500
  401 
  402     Update for 1.7 final release.
  403 
  404 Author: David Levine <levinedl@acm.org>
  405 Date:   Tue Sep 5 10:51:00 2017 -0400
  406 
  407     Revised expected output with -prefer in test/mhlist/test-mhlist.
  408     
  409     Update to commit 5dce1b38ace6cf61398df3ee4ca5aee0e1dedb5d.
  410     
  411     (cherry picked from commit f6d438b5e08d12eacb62f93a8ce1a6c22d2ae16d)
  412 
  413 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  414 Date:   Fri Nov 17 12:04:01 2017 +0000
  415 
  416     NEWS: Encourage nmh-announce subscription.  Capitalise `Gmail'.
  417     
  418     (cherry picked from commit 532e14e4e60411b4375b34f6c99b0c988259415c)
  419 
  420 Author: Ken Hornstein <kenh@pobox.com>
  421 Date:   Sat Nov 4 09:59:18 2017 -0400
  422 
  423     Use va_copy() to get a copy of va_list, instead of using original.
  424     
  425     netsec_vprintf() can call vsnprintf() twice if the outgoing buffer is
  426     full (but it happens rarely in practice, given the way the current
  427     code uses it).  But if this DOES happen, vsnprintf() will use the
  428     same va_list argument twice, and the second time around either it will
  429     grab a random bit of memory off of the stack OR it will segfault.
  430     So we always use va_copy() to get our own copy of the passed-in va_list
  431     and work on that.
  432     
  433     (cherry picked from commit b47b562525f149f175c3d216feea20a6db2e9ff5)
  434 
  435 Author: Paul Fox <pgf@foxharp.boston.ma.us>
  436 Date:   Sat Sep 2 11:24:01 2017 -0400
  437 
  438     Add -noprefer switch to mhshow, mhstore, and mhlist
  439     
  440     Allow profile-specified -prefer switches to be cancelled from the
  441     command line.
  442     
  443     (cherry picked from commit ceeb47c04f8abb144a3fbaeae3a54010175c2d36)
  444 
  445 Author: Paul Fox <pgf@foxharp.boston.ma.us>
  446 Date:   Sat Sep 2 09:13:44 2017 -0400
  447 
  448     Change the priority ordering for multiple -prefer switches
  449     
  450     Interpreting multiple -prefer switches in ascending priority
  451     order allows the command line to override the user's profile.
  452     
  453     (cherry picked from commit 5dce1b38ace6cf61398df3ee4ca5aee0e1dedb5d)
  454 
  455 Author: Ken Hornstein <kenh@pobox.com>
  456 Date:   Fri Sep 8 12:08:41 2017 -0400
  457 
  458     Add a -credentials argument when we call post.
  459     
  460     If we are using -check, post(8) will need to talk to a remote SMTP server,
  461     and it might need to perform authentication when doing so.  So include a
  462     -credentials option if there is the appropriate line in the user's profile.
  463     
  464     (cherry picked from commit 9a4413187b1cf9562bceef8cfe442278ed67afd9)
  465 
  466 Author: Ken Hornstein <kenh@pobox.com>
  467 Date:   Fri Sep 8 13:46:08 2017 -0400
  468 
  469     Send a QUIT instead of RSET at session end when doing 'whom'.
  470     
  471     When running 'whom -check' (which really invokes post(8)), at the
  472     end of the SMTP session we would send a RSET instead of a QUIT.  This was
  473     technically a RFC violation (RFC 5321 says a QUIT has to be the last
  474     thing you send), and this would cause some SMTP servers to complain.
  475     So make sure if we're being invoked by whom to send a QUIT at the end
  476     of the session.  Reported by Ralph Corderoy.
  477     
  478     (cherry picked from commit 6396778780e014c789e3d18a0880525ee1cde4f6)
  479 
  480 Author: Ken Hornstein <kenh@pobox.com>
  481 Date:   Wed Aug 23 14:35:21 2017 -0400
  482 
  483     Update for release candidate 3
  484 
  485 Author: Ken Hornstein <kenh@pobox.com>
  486 Date:   Wed Aug 23 12:08:24 2017 -0400
  487 
  488     Make sure we return the descriptor from the file handle.  Noted by
  489     Ralph Corderoy.
  490     
  491     (cherry picked from commit 15fde7dd84cc29c054857e5d8a7fdd4a8db10a97)
  492 
  493 Author: David Levine <levinedl@acm.org>
  494 Date:   Mon Aug 21 16:44:07 2017 -0400
  495 
  496     Removed conditional addition of -D_FORTIFY_SOURCE=2 from CPPFLAGS.
  497     
  498     And added to CFLAGS in build_nmh.
  499     
  500     (cherry picked from commit 7d728514c2c11f194afd433445666ae6c3b7dba7)
  501 
  502 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  503 Date:   Sun Aug 20 14:59:26 2017 +0100
  504 
  505     man: Vet the NAME sections, especially mhfixmsg's.
  506     
  507     Don't limit mhfixmsg to fixing "nmh MIME" emails.
  508     
  509     (cherry picked from commit aae36dd297503787301fef6b9573c749846a6392)
  510 
  511 Author: David Levine <levinedl@acm.org>
  512 Date:   Sun Aug 20 09:20:49 2017 -0400
  513 
  514     Add -D_FORTIFY_SOURCE=2 to CPPFLAGS instead of AM_CPPFLAGS.
  515     
  516     To make it easier for packagers to override.
  517     Fix to commit 35d2b4dc00d705e6816bcb0ccab491aabda688dc.
  518     
  519     (cherry picked from commit 73a94823f58fa921f9e6c58632f9cecead0e10fd)
  520 
  521 Author: David Levine <levinedl@acm.org>
  522 Date:   Sun Aug 20 08:50:17 2017 -0400
  523 
  524     Restored old NAME in mhical(1) man page.
  525     
  526     mhical only operates on iCalendar event requests, not messages.
  527     Fix to commit 0e7daaa2daf6c668c8c6feb9da3c9a6639fa4e7e.
  528     
  529     (cherry picked from commit b1fb6f46efb8956aae6397c704db26e1310a6564)
  530 
  531 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  532 Date:   Sun Aug 20 12:33:38 2017 +0100
  533 
  534     scan.man: Note that %{body} does not decode MIME.
  535     
  536     (cherry picked from commit b852bee5757ed6aaee4046f68cbe458a1ffa623d)
  537 
  538 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  539 Date:   Sun Aug 20 10:34:01 2017 +0100
  540 
  541     NEWS: Add bug fix: EPIPE when writing error no longer recurses.
  542     
  543     Also move an existing item into the Bug Fixes section.
  544     
  545     (cherry picked from commit 5da45d9802e59261cba09af83ebc77e106345b04)
  546 
  547 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  548 Date:   Sun Aug 20 09:31:18 2017 +0100
  549 
  550     NEWS: Consistent punctuation.  Mention SI and IEC quantities.
  551     
  552     (cherry picked from commit 7ec9aaa931525abed3df348a22f824c49c828225)
  553 
  554 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  555 Date:   Sat Aug 19 15:58:49 2017 +0100
  556 
  557     test-sendfiles: Feed `lzma -cd' stdin rather than a filename.
  558     
  559     Håkon Alstadheim reported that Debian's lzma-9.22-2 would complain at
  560     `lzma -cd foo.tar' with `unknown suffix -- unchanged' even though it was
  561     not being asked to alter the file, or produce a new one based on its
  562     filename.  This appears to be https://bugs.debian.org/700681.  The lzma
  563     from Arch Linux's xz 5.2.3-1 does no have this fault.  Work around it by
  564     feeding the file to decompress on standard input for all the compression
  565     programs being tested;  none of the others should mind.
  566     
  567     (cherry picked from commit 937ee92013bed7b3ebd30fff2c17a751d37b1a61)
  568 
  569 Author: David Levine <levinedl@acm.org>
  570 Date:   Fri Aug 18 23:18:15 2017 -0400
  571 
  572     Protect fileno() call against NULL argument.
  573     
  574     Fix to commit 337b4e616e8f53ba06285b1645e1df9918ed5c16.  Thanks to
  575     Norm for reporting and Ken for diagnosing the bug.
  576     
  577     (cherry picked from commit c8815b7b63b710e1480d4be759744583e59308e9)
  578 
  579 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  580 Date:   Fri Aug 18 14:29:59 2017 +0100
  581 
  582     lock_file.c: Compiler warns of unused isnewlock if HAVE_LIBLOCKFILE.
  583     
  584     (cherry picked from commit bb8a255634719c63cfae1ee4d0fb12f056efa71b)
  585 
  586 Author: David Levine <levinedl@acm.org>
  587 Date:   Thu Aug 17 19:45:20 2017 -0400
  588 
  589     Default CFLAGS to -std=c99 instead of -ansi.
  590     
  591     gcc -ansi -pedantic issued a few warnings about C90 not supporting the
  592     "ll" printf length modifier.  Ralph pointed out that
  593     http://www.unix.org/version4/overview.html says:
  594     
  595         The following source code portability standards lie at the core of
  596         the Single UNIX Specification:
  597     
  598             POSIX.1-2008
  599     
  600         (This is technically identical to the Base Specifications, Issue 7;
  601         they are one and the same document.)
  602     
  603             The ISO/IEC 9899:1999 standard
  604     
  605     So perhaps we're wrong to expect modern POSIX code to compile as C90.
  606     
  607     (cherry picked from commit f4ec967205c6fa0f3d37aad24335337251f17e16)
  608 
  609 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  610 Date:   Thu Aug 17 12:42:57 2017 +0100
  611 
  612     Both f_typestr(): Remove parenthesis from long list of returns.
  613     
  614     It's not a function call, they're just noise.
  615     
  616     (cherry picked from commit 16b794c5709dc07a81534fd90fed5d1f25f3fbea)
  617 
  618 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  619 Date:   Thu Aug 17 12:36:50 2017 +0100
  620 
  621     Both f_typestr(): Rebuild switch from FT_* to string from scratch.
  622     
  623     Adds missing cases, e.g. FT_LS_CFIND.  Removes inconsistent "FT_" prefix
  624     from some strings, e.g. FT_LS_DECODE.  Re-orders cases to match
  625     definitions.
  626     
  627     (cherry picked from commit ce8a66e8b8e9a818d165d09f8df56178e0b40dc9)
  628 
  629 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  630 Date:   Thu Aug 17 12:20:16 2017 +0100
  631 
  632     fmtdump.c, fmttest.c: Remove tests for FT_LIT_FORCE.
  633     
  634     It isn't defined, and git-grep(1) suggests it was a local Lawrence
  635     Berkeley Laboratory modification that output a literal without consuming
  636     any of the width budget.
  637     
  638     (cherry picked from commit efb2c94fbc4861fc81307cd5d0ce22eb16e6de26)
  639 
  640 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  641 Date:   Thu Aug 17 11:35:51 2017 +0100
  642 
  643     cpnumber(): Cast desired width to size_t to silence gcc's warning.
  644     
  645     Add a comment on `wid = -wid' that it's OK because wid's value was
  646     originally a short so won't remain the same value.
  647     
  648     (cherry picked from commit ac0bb0e1e19bedfd9d7105db0aad1cdfc5ef994f)
  649 
  650 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  651 Date:   Wed Aug 16 13:44:32 2017 +0100
  652 
  653     INSTALL: Update c89(1) mention to c99(1), that exists today.
  654     
  655     (cherry picked from commit 0d0d0e65a4c093f3f8827d4cd3375dcde4d4aab0)
  656 
  657 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  658 Date:   Wed Aug 9 16:00:17 2017 +0100
  659 
  660     fmtdump.c: Add string for FT_LS_UNQUOTE case.
  661     
  662     It was missing since e8635a8a1 and the default case that attempted to
  663     format it as a number was faulty, fixed in 39ecf70bb.  That fix broke
  664     test/format/test-fmtdump as it expected the broken "blank line" to be
  665     output instead.
  666     
  667     (cherry picked from commit 4bdd57be745679ee8fc97a3029fa837b14a80b50)
  668 
  669 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  670 Date:   Sun Aug 13 15:04:58 2017 +0100
  671 
  672     post.man: Detail -port's default value: submission, 587.
  673     
  674     (cherry picked from commit d9c165f79476d60ac59515d3b23ede004759fe06)
  675 
  676 Author: Leonardo Taccari <iamleot@gmail.com>
  677 Date:   Thu Aug 17 19:42:48 2017 -0400
  678 
  679     mhical expected an ics file as input and after just pressing
  680     ^D I've found that mhical wasn't happy about an empty input.
  681     A trivial patch that should fix this issue.
  682     
  683     (cherry picked from commit 76b9af849ba1c93eb2b6807e57268b7a7a2e205c)
  684 
  685 Author: Ken Hornstein <kenh@pobox.com>
  686 Date:   Thu Aug 17 13:01:09 2017 -0400
  687 
  688     Update for release candidate 2.
  689 
  690 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  691 Date:   Thu Aug 17 11:59:38 2017 +0100
  692 
  693     Makefile.am: Remove multiple `mkdir -p' for etc;  use ./configure.
  694     
  695     A `mkdir -p' was used in each rule that created a file in etc to ensure
  696     the directory already existed.  Ken pointed out existing ./configure
  697     code to do that for the man directory, just once.  Use that for etc too.
  698     Remove the `test -d' because `mkdir -p' does that itself.
  699     
  700     (cherry picked from commit 1009a32da2ba2b0caae7b71708625e00d8cf58c6)
  701 
  702 Author: Ken Hornstein <kenh@pobox.com>
  703 Date:   Thu Aug 17 01:24:08 2017 -0400
  704 
  705     Fix bug in cpnumber().
  706     
  707     The cpnumber() function (which handles the NUMF instruction, among others)
  708     would hang if a 0 width was given to it.  Make sure that (and negative
  709     widths) are handled correctly.  Note that normally NUMF did not handle
  710     left padding which is indicated by a negative width; that may change
  711     in the future.
  712     
  713     (cherry picked from commit 58fa16ef1e6d6c3a698d220409416bccec187287)
  714 
  715 Author: Ken Hornstein <kenh@pobox.com>
  716 Date:   Thu Aug 17 01:12:22 2017 -0400
  717 
  718     Improve installation documentation
  719     
  720     Fix up the various installation information so it matches reality.
  721     
  722     (cherry picked from commit b7a676587f92187d2270be73a1ede5be0af9f104)
  723 
  724 Author: Ken Hornstein <kenh@pobox.com>
  725 Date:   Wed Aug 16 23:55:23 2017 -0400
  726 
  727     Make sure the %(kilo) and %(kibi) instructions are in fmttest(1).
  728     
  729     Man, we should really merge fmttest and fmtdump at some point.
  730     
  731     (cherry picked from commit 877306f0cf8700241efc2e245f66df5ba95113f9)
  732 
  733 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  734 Date:   Sun Aug 6 18:15:41 2017 +0100
  735 
  736     cpstripped(): Rewrite multi-byte version.
  737     
  738     Removes the assert(3) failure reported on the list for 1.7-RC1 when a
  739     non-space, non-cntrl, rune has a wcwidth(3) of -1; output L'?' in its
  740     place.  The old code also didn't reset mbtowc(3)'s state before trying
  741     to parse "?";  that's handled differently now so isn't an issue.  Pad
  742     with the multi-byte encoding of L" ", having ensured the wcwidth(1) of
  743     L' ' is one, rather than with a non-wchar_t ' '.  Point out padding only
  744     occurs in one particular case, and not the other two;  quite odd.
  745     
  746     (cherry picked from commit a091c28b416f83aa46dcb0bd0da81ca1d3b8a7f9)
  747 
  748 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  749 Date:   Sat Aug 5 18:20:07 2017 +0100
  750 
  751     cpstripped(), single-byte: Simplify logic.
  752     
  753     Now that it doesn't have to fit in with the multi-byte version's logic,
  754     it can be re-structured to be simpler.  No functional change intended.
  755     
  756     (cherry picked from commit 8ba2c2e0a5c0e2c087cd1684a885b959c101e010)
  757 
  758 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  759 Date:   Sat Aug 5 17:57:48 2017 +0100
  760 
  761     cpstripped: Split into two versions, each with a single #ifdef.
  762     
  763     Got fed up trying to read C logic when the preprocessor's logic didn't
  764     nest neatly with the function's.  No intentional change to either
  765     version.
  766     
  767     (cherry picked from commit 0a934c0ff1b5623956da677751e485c52e1ab361)
  768 
  769 Author: David Levine <levinedl@acm.org>
  770 Date:   Tue Aug 8 20:10:49 2017 -0400
  771 
  772     Fixed scan to handle empty files without violating an assert [Bug #51693].
  773     
  774     (cherry picked from commit 0d593e1ce1a218332af78b83987543756b0c6cf4)
  775 
  776 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  777 Date:   Thu Aug 3 12:22:07 2017 +0100
  778 
  779     NEWS: Move "new features" that might bite a user to the top.
  780 
  781 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  782 Date:   Thu Aug 3 12:17:30 2017 +0100
  783 
  784     NEWS: Re-order 1.7's sections, as discussed on nmh-workers.
  785 
  786 Author: Ken Hornstein <kenh@pobox.com>
  787 Date:   Wed Aug 2 22:20:46 2017 -0400
  788 
  789     Updates for 1.7 release.
  790 
  791 Author: Ken Hornstein <kenh@pobox.com>
  792 Date:   Wed Aug 2 00:03:40 2017 -0400
  793 
  794     Update DATE and VERSION for start of 1.7 release.
  795 
  796 Author: Ken Hornstein <kenh@pobox.com>
  797 Date:   Tue Aug 1 23:53:05 2017 -0400
  798 
  799     Use correct error code for SSL context retrieval.
  800     
  801     Make sure we use the correct error code if we are unable to retrieve
  802     the SSL context from the context from the BIO.
  803 
  804 Author: Ken Hornstein <kenh@pobox.com>
  805 Date:   Tue Aug 1 13:28:04 2017 -0400
  806 
  807     Document bug fix
  808 
  809 Merge: 8f460dd a2d70b2
  810 Author: Ken Hornstein <kenh@pobox.com>
  811 Date:   Tue Aug 1 13:22:36 2017 -0400
  812 
  813     Merge branch 'fix-post-bcc'
  814     
  815     This branch fixes bug #51098; the lack of alias expansion on a From line
  816     when doing a Bcc.  Admittedly, this is rather an obscure bug, and AFAICT
  817     it never worked in any version of MH or nmh, but it is fixed now.
  818 
  819 Author: Ken Hornstein <kenh@pobox.com>
  820 Date:   Tue Aug 1 13:21:21 2017 -0400
  821 
  822     Implemented test for this patch.
  823     
  824     This patch tests the code that does alias expansion in a From line when
  825     doing bcc.  Which is, now that I think about it, one heck of a corner case.
  826 
  827 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  828 Date:   Tue Aug 1 14:41:20 2017 +0100
  829 
  830     Move m_getfld's MS_* mbox-type macros to the only user.
  831 
  832 Author: David Levine <levinedl@acm.org>
  833 Date:   Mon Jul 31 22:00:39 2017 -0400
  834 
  835     Restricted application of the adjustment in m_Eom().
  836     
  837     Per Ralph's suggestion.  Update to commit 29db9a64a.  Also,
  838     consolidated print statments in test-eom-align.
  839 
  840 Author: David Levine <levinedl@acm.org>
  841 Date:   Sun Jul 30 20:24:34 2017 -0400
  842 
  843     Hacked m_Eom() to fix test-eom-align.
  844 
  845 Author: David Levine <levinedl@acm.org>
  846 Date:   Sat Jul 29 17:55:25 2017 -0400
  847 
  848     Restored local variable to m_Eom(), to not truncate EOF.
  849     
  850     Reversion of significant part of commit d3e11c5e9.  Thanks to Ralph
  851     for noticing that it wasn't a good change.
  852 
  853 Author: David Levine <levinedl@acm.org>
  854 Date:   Sat Jul 29 17:07:06 2017 -0400
  855 
  856     Removed a local variable from m_Eom().
  857     
  858     Minor code simplification in preparation for upcoming fix.
  859 
  860 Author: David Levine <levinedl@acm.org>
  861 Date:   Sat Jul 29 12:42:35 2017 -0400
  862 
  863     Simplified m_strn() per Ralph's suggestions.
  864     
  865     Update to commit 4a56a28ac.
  866 
  867 Author: David Levine <levinedl@acm.org>
  868 Date:   Sat Jul 29 10:47:16 2017 -0400
  869 
  870     Use m_strn() to allow restoration of buffer size to 26 bytes.
  871     
  872     Fix to commit a3724ed39.
  873 
  874 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  875 Date:   Sat Jul 29 15:06:11 2017 +0100
  876 
  877     dtimezone(): Explain abs(3) is undefined on INT_MIN.
  878     
  879     That's why a negative int is flipped over into unsigned by assuming
  880     two's complement.
  881 
  882 Author: David Levine <levinedl@acm.org>
  883 Date:   Sat Jul 29 10:02:28 2017 -0400
  884 
  885     Added m_str() and m_strn() functions to convert int to string.
  886     
  887     Allows better fix to uip/forw.c than commit d711510305.
  888 
  889 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  890 Date:   Sat Jul 29 14:29:15 2017 +0100
  891 
  892     Simplify dtimezone()'s logic by working with unsigned int.
  893     
  894     Character buffer is resized down from arbitrary 64 to suit 32-bit int,
  895     a change to the recent a3724ed3.
  896 
  897 Author: Ken Hornstein <kenh@pobox.com>
  898 Date:   Tue Jul 25 15:40:28 2017 -0400
  899 
  900     Finished implementation, but tests need to be written.
  901 
  902 Author: David Levine <levinedl@acm.org>
  903 Date:   Sun Jul 23 11:39:24 2017 -0400
  904 
  905     Added some specific tests to test-eom-align.
  906     
  907     These were found by scanning a much larger range of buffer sizes,
  908     over nmh versions from cvs, 1.4, 1.5, 1.6, and current HEAD.
  909 
  910 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  911 Date:   Mon Jul 17 12:58:38 2017 +0100
  912 
  913     Bump up size of two static char[] so gcc knows they won't overflow.
  914 
  915 Author: David Levine <levinedl@acm.org>
  916 Date:   Sun Jul 16 20:06:01 2017 -0400
  917 
  918     Increase size of buffer to avoid warning from gcc -Wformat-truncation.
  919 
  920 Author: David Levine <levinedl@acm.org>
  921 Date:   Sun Jul 16 17:25:51 2017 -0400
  922 
  923     Replaced snprintf() to convert an int with m_name().
  924     
  925     At Ralph's suggestion.  The goal was to get rid of a warning from
  926     gcc -Wformat-truncation, but the code ends up being cleaner as well.
  927 
  928 Author: David Levine <levinedl@acm.org>
  929 Date:   Sun Jul 16 09:02:08 2017 -0400
  930 
  931     Enhanced mhical syntax error message to provide some context.
  932     
  933     Specifically for the case of improperly folded lines.
  934 
  935 Author: David Levine <levinedl@acm.org>
  936 Date:   Sat Jul 15 09:37:26 2017 -0400
  937 
  938     Fixed flex fixups to not break LFLAGS.
  939     
  940     Addresses comment added in commit 4ac978448.
  941 
  942 Author: David Levine <levinedl@acm.org>
  943 Date:   Sat Jul 15 09:16:47 2017 -0400
  944 
  945     Added flex fixup for Fedora 26's flex 2.6.1.
  946     
  947     The fix is compatible with unpatched flex 2.6.1.
  948 
  949 Author: Ken Hornstein <kenh@pobox.com>
  950 Date:   Fri Jun 23 11:53:28 2017 -0400
  951 
  952     Start of work to fix lack of address rewriting for bcc
  953     
  954     This is the start of work to fix the problems described in #51098.  Is
  955     not finished yet.
  956 
  957 Author: David Levine <levinedl@acm.org>
  958 Date:   Sat Jun 17 13:42:59 2017 -0400
  959 
  960     Rearranged statements to eliminate memory allocation.
  961     
  962     Update to commit a5bf16c0928cb4044b082f9cf6f44f9bb3998824.
  963 
  964 Author: David Levine <levinedl@acm.org>
  965 Date:   Sat Jun 17 11:01:32 2017 -0400
  966 
  967     Show display program name and arguments in error message if it fails.
  968 
  969 Author: David Levine <levinedl@acm.org>
  970 Date:   Sat Jun 17 09:32:00 2017 -0400
  971 
  972     Don't bypass scan_content() when expanding pseudoheaders.
  973     
  974     expand_pseudoheader() would avoid the call to scan_content() in order
  975     to inhibit use of quoted-printable for text content.  Removed that;
  976     the user still has control over the use of quoted-printable via
  977     -maxunencoded.  Though now, lines over 998 bytes long will always
  978     be encoded.
  979 
  980 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  981 Date:   Sat Jun 10 18:32:08 2017 +0100
  982 
  983     sbr/netsec.c: Report popped TLS error code, don't pop again.
  984     
  985     ERR_get_error() pops an error code so having tested that value it should
  986     also be the one that's reported in an error message, not another popped
  987     error code by calling ERR_get_error() again as this misleads as to the
  988     error's cause.
  989 
  990 Author: Ralph Corderoy <ralph@inputplus.co.uk>
  991 Date:   Tue May 30 23:00:10 2017 +0100
  992 
  993     uip/inc.c: Don't increment variable of type bool.
  994     
  995     gcc 7.1.1 is warning against incrementing `bool' variables.
  996     Assign true instead.
  997 
  998 Author: David Levine <levinedl@acm.org>
  999 Date:   Thu Jun 1 19:54:21 2017 -0400
 1000 
 1001     Fixed double fclose().
 1002 
 1003 Author: Ken Hornstein <kenh@pobox.com>
 1004 Date:   Thu Jun 1 12:26:23 2017 -0400
 1005 
 1006     Remove ancient SENDMAILBUG code.
 1007     
 1008     Old SMTP code used to treat a code 451 the same as code 250 (success).  It's
 1009     not clear if this was ever a real bug in sendmail, but regardless this code
 1010     is long obsolete.
 1011 
 1012 Author: Ken Hornstein <kenh@pobox.com>
 1013 Date:   Thu Jun 1 12:25:15 2017 -0400
 1014 
 1015     Comment cleanup; removed ancient reference to 4.2BSD systems.
 1016 
 1017 Author: Ken Hornstein <kenh@pobox.com>
 1018 Date:   Wed May 31 14:39:48 2017 -0400
 1019 
 1020     Normalize connection shutdown handling.
 1021     
 1022     I originally tried to make things work so that the netsec client code gave
 1023     the client the option of closing the file descriptors if it wanted to, but
 1024     I was running into a problem where if TLS negotiation failed part of the
 1025     negotiation would be interpreted as connection data.  The code has been
 1026     changed to have the sockets close when the SSL BIO is released and to
 1027     have netsec_shutdown unconditionally close the file descriptors.
 1028 
 1029 Author: Ken Hornstein <kenh@pobox.com>
 1030 Date:   Wed May 31 11:53:47 2017 -0400
 1031 
 1032     Use original error code from OpenSSL.
 1033     
 1034     Reuse the error code we already retrieved from OpenSSL, otherwise the
 1035     error might be cleared the next time we call ERR_get_error().
 1036 
 1037 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1038 Date:   Mon May 29 13:20:00 2017 +0100
 1039 
 1040     sbr/brkstring.c: Use strchr(3) in brkany(), not own loop.
 1041 
 1042 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1043 Date:   Mon May 29 12:56:10 2017 +0100
 1044 
 1045     sizeof char is always 1, so don't bother to divide by it.
 1046 
 1047 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1048 Date:   Mon May 29 12:53:24 2017 +0100
 1049 
 1050     Use DIM(a) macro a few more times;  array's dimension using sizeof.
 1051 
 1052 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1053 Date:   Mon May 29 12:23:38 2017 +0100
 1054 
 1055     uip/scansbr.c: Add PUTC() macro, similar to FPUTS().
 1056     
 1057     FPUTS() exists, but all the putc(3) checks for error were written
 1058     alongside in longhand.  May as well have a PUTC() to match, though
 1059     perhaps just the existing check of the FILE's sticky error state with
 1060     ferror(3) is sufficient and neither macro is required.
 1061 
 1062 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1063 Date:   Mon May 29 11:49:29 2017 +0100
 1064 
 1065     uip/scansbr.c: Stop `scan -file' copying mailbox to /dev/null.
 1066     
 1067     scan() was copying the mailbox to /dev/null when called for `scan -file
 1068     foo.mbox' because it used outnum being non-zero as the test of whether
 1069     to write instead of FILE pointer scnout being non-NULL.  By switching,
 1070     we can avoid the opening of /dev/null that was just to give scnout a
 1071     valid value for the needless fputs(3), etc.
 1072     
 1073     Add comment explaining scan()'s outnum input parameter's three
 1074     functions: -1, 0, and positive.
 1075 
 1076 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1077 Date:   Sun May 28 13:07:25 2017 +0100
 1078 
 1079     h/mts.h: Replace char pointer mmdlm1 with macro MMDF_DELIM.
 1080     
 1081     mmdlm1 only ever pointed to its initial string constant.
 1082 
 1083 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1084 Date:   Sun May 28 12:32:28 2017 +0100
 1085 
 1086     sbr/mts.c: Delete mmdlm2;  use same-valued mmdlm1 instead.
 1087     
 1088     mmdlm1 and mmdlm2 had the same compile-time value.  Both could be
 1089     changed at run-time by mts.conf(5), but d205d39a stopped that.  Use
 1090     mmdlm1 instead of mmdlm2 and delete mmdlm2.
 1091 
 1092 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1093 Date:   Sun May 28 12:21:12 2017 +0100
 1094 
 1095     sbr/mts.c: Make MMDF's delimeters fixed at compile time.
 1096     
 1097     mts.conf(5) allowed `mmdelim1' and `mmdelim2' to alter the default MMDF
 1098     begin and end markers of four ASCII SOHs and an LF.  There doesn't seem
 1099     to be a modern use for this, and nmh wouldn't have handled longer
 1100     markers correctly so remove the capability.
 1101 
 1102 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1103 Date:   Sat May 27 17:04:48 2017 +0100
 1104 
 1105     uip/forw.c, uip/repl.c: Remove -file's "msh" comment.
 1106     
 1107     The comment claims -file is "interface from msh", but msh(1) was removed
 1108     in e6917522.  The options remain as discussion on the list prompted
 1109     David to say he uses them occasionally.
 1110 
 1111 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1112 Date:   Fri May 26 23:34:10 2017 +0100
 1113 
 1114     uip/mhparse.c: Fix body starting a byte too soon when no blank line.
 1115     
 1116     m_getfld() returns BODY when the headers run into a line without a colon
 1117     instead of being separated from the body by a blank line.  The file's
 1118     position and the returned `bufsz' differ from the normal case of a blank
 1119     line and then the start of the body, causing confusion.  get_content()
 1120     was aware of the difference, documented it, and attempted to correct for
 1121     it, but got it wrong and included the `\n' that terminates the last real
 1122     header at the start of the "body".  This affected a struct Content's
 1123     c_begin.
 1124     
 1125     Use the correct file position for c_begin, adding a comment that
 1126     explains the theory for both cases.  Add a test-mhlist case that checks
 1127     mhlist(1) states the body size is the same whether it is separated from
 1128     the headers by a blank line or not.  Correct existing
 1129     test/bad-input/test-header test that expected the extra blank line to be
 1130     counted and to appear in the output.
 1131 
 1132 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1133 Date:   Fri May 26 12:36:32 2017 +0100
 1134 
 1135     Remove mention of msh in comments and to-do list.
 1136     
 1137     msh(1) was removed in e6917522.
 1138 
 1139 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1140 Date:   Fri May 26 11:56:37 2017 +0100
 1141 
 1142     Makefile.am: Add test/inc/test-eom-align to XFAIL_TESTS.
 1143     
 1144     Since 5f34de43, it's expected the test will fail.
 1145     Add it to XFAIL_TESTS so it's still run, but its failure doesn't cause
 1146     the `check' target to fail.
 1147 
 1148 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1149 Date:   Thu May 25 18:12:55 2017 +0100
 1150 
 1151     Don't cast lseek(2)'s offset to off_t when it's 0.
 1152     
 1153     `lseek(fd, (off_t)0, SEEK_SET)' does not need the cast when a prototype
 1154     is in scope, and <unistd.h> is #include'd.
 1155 
 1156 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1157 Date:   Thu May 25 17:23:10 2017 +0100
 1158 
 1159     uip/slocal.c: Tidy `verbose' logic in usr_file().
 1160     
 1161     Boolean was being tested three times instead of once after recent
 1162     dead-code deletions.
 1163 
 1164 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1165 Date:   Thu May 25 16:29:33 2017 +0100
 1166 
 1167     uip/popsbr.c: Delete unused pop_list(), etc.
 1168     
 1169     Those deleted: pop_list(), pop_noop(), pop_rset(), and pop_top().
 1170 
 1171 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1172 Date:   Thu May 25 16:23:00 2017 +0100
 1173 
 1174     sbr/utils.c: Delete dead-code open_form();  not called.
 1175 
 1176 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1177 Date:   Thu May 25 14:36:59 2017 +0100
 1178 
 1179     uip/comp.c: Delete single-use NULLMP macro.
 1180     
 1181     It just cast 0 to a pointer to struct msgs and was used once, as a
 1182     function's parameter.  Replace that with NULL since a prototype for the
 1183     function is visible.
 1184 
 1185 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1186 Date:   Thu May 25 14:36:33 2017 +0100
 1187 
 1188     sbr/fmt_compile.c: Delete single-use NEWFMT macro.
 1189     
 1190     Its simple content was to increment a variable;  doing that in situ is
 1191     more clear.
 1192 
 1193 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1194 Date:   Thu May 25 13:53:27 2017 +0100
 1195 
 1196     Remove support for ./.foo.map index for ./foo mailbox.
 1197     
 1198     An MH-only index of a mailbox, mbox or MMDF format, called a map file,
 1199     could be built and maintained by packf(1), rcvpack(1), and slocal(1),
 1200     but since msh(1) was removed in e6917522, there hasn't been a user of
 1201     the index file so stop producing it and delete all the supporting code
 1202     in uip/dropsbr.c.
 1203     
 1204     mbx_copy() loses its `mapping' and `noisy' parameters;  noisy was only
 1205     used when mapping.  Delete mbx_read() and mbx_size() as they have no
 1206     callers without maps.
 1207 
 1208 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1209 Date:   Thu May 25 13:03:53 2017 +0100
 1210 
 1211     test/runpty.c: Add more detail to "timed out" message.
 1212     
 1213     test/install-mh/test-version-check was skipped due to timeout, but it
 1214     took a lot less than the thirty-second timeout to run.  Add start time
 1215     and the time now to the diagnostic, and select(2)'s return value.
 1216 
 1217 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1218 Date:   Thu May 25 11:24:54 2017 +0100
 1219 
 1220     uip/prompter.c: Make getln() static;  only called locally.
 1221 
 1222 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1223 Date:   Thu May 25 11:21:40 2017 +0100
 1224 
 1225     uip/prompter.c: Delete obfuscating ERASE, etc., macros.
 1226     
 1227     Their few uses are clearer as `t_io.c_cc[VERASE]' as otherwise the
 1228     storage, t_io, isn't mentioned, and c_cc and VERASE match termios.h's
 1229     man page.
 1230 
 1231 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1232 Date:   Thu May 25 11:18:11 2017 +0100
 1233 
 1234     uip/prompter.c: Delete unused macros CKILL and CERASE.
 1235     
 1236     They haven't been used in git's history.  Their definitions of `@' and
 1237     `#' might surprise younger users if put into use.  :-)
 1238 
 1239 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1240 Date:   Wed May 24 19:22:02 2017 +0100
 1241 
 1242     uip/inc.c: Delete POP3's -pack option for msh users.
 1243     
 1244     inc(1)'s -pack option, only available with POP3 access, stored the
 1245     emails in a spool file instead of a folder.  The man page says this was
 1246     intended for msh(1) users, but msh was deleted in e6917522.  The spool
 1247     file was always in packf(1)'s MMDF format, no option of -mbox, and was a
 1248     rare producer of `map' files that indexed the spool file, again intended
 1249     for msh.  Removing -pack makes deletion of map files elsewhere in the
 1250     code easier.
 1251 
 1252 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1253 Date:   Wed May 24 13:50:25 2017 +0100
 1254 
 1255     uip/dropsbr.c: Delete unused mbx_write() and map_read().
 1256     
 1257     Most recently used by msh(1), removed by e6917522.
 1258 
 1259 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1260 Date:   Tue May 23 12:56:00 2017 +0100
 1261 
 1262     Replace some "FALLTHRU" comments with control flow.
 1263     
 1264     Instead of a case statement falling through, with a "FALLTHRU" comment,
 1265     to the follow case that just does a break, continue, goto, etc.,
 1266     control-flow statement, duplicate the statement in place of the comment.
 1267     Fall-through should be the exception, and saving a break statement
 1268     doesn't offset the cognitive cost when reading the source.
 1269 
 1270 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1271 Date:   Tue May 23 12:53:32 2017 +0100
 1272 
 1273     config/config.c: Fix indentation of "FALLTHRU" comment.
 1274     
 1275     It's not part of the preceding if-statement, but unconditional.
 1276 
 1277 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1278 Date:   Sun May 21 12:45:54 2017 +0100
 1279 
 1280     sbr/m_getfld.c: Fix and improve `delim' comment.
 1281     
 1282     fdelimlen is one higher than was described in 86c5ebc87.
 1283     Describe pointer positions pictorially.
 1284 
 1285 Author: David Levine <levinedl@acm.org>
 1286 Date:   Mon May 22 20:17:48 2017 -0400
 1287 
 1288     Fixed a couple of typos.
 1289 
 1290 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1291 Date:   Sat May 20 12:46:04 2017 +0100
 1292 
 1293     test/inc/test-eom-align: Show size of test email as progress.
 1294     
 1295     Don't bother over-printing;  Perhaps when it's working again and lots of
 1296     output is being produced.
 1297 
 1298 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1299 Date:   Sat May 20 12:38:22 2017 +0100
 1300 
 1301     test/inc/test-eom-align: Fix tests; they've never worked.
 1302     
 1303     Instead of cycling through lots of mbox sizes, $STDIO_BUFSZ was always
 1304     used as the desired size resulting in tests A and B being duplicated 221
 1305     times each.  Slowly, if using valgrind.  The tests fail now they're
 1306     fixed.
 1307 
 1308 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1309 Date:   Sat May 20 12:09:13 2017 +0100
 1310 
 1311     test/common.sh.in: test_skip(): Remove unused variable.
 1312     
 1313     `$Test' was being interpolated into the output, but has never existed.
 1314     Rephrase the output given a /^SKIP: / line follows from the test harness
 1315     due to the `exit 77'.
 1316 
 1317 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1318 Date:   Sat May 20 11:53:55 2017 +0100
 1319 
 1320     test/runpty.c: Add missing exit(3) after child fails to execvp(3).
 1321 
 1322 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1323 Date:   Sat May 20 11:48:10 2017 +0100
 1324 
 1325     uip/aliasbr.c: Remove dead code used for Unix groups.
 1326     
 1327     Main functionality removed in afaab789.
 1328 
 1329 Author: Ken Hornstein <kenh@pobox.com>
 1330 Date:   Thu May 18 14:03:09 2017 -0400
 1331 
 1332     Remove support for aliases based on Unix groups.
 1333     
 1334     Remove support for expanding aliases based on group membership (=) and
 1335     all users who have a particular primary group (+).  This was the result
 1336     of a discussion on nmh-workers; these features were of dubious value, likely
 1337     not used, and interfered with RFC-2047 encoded names in alias files.
 1338 
 1339 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1340 Date:   Wed May 17 17:56:00 2017 +0100
 1341 
 1342     uip/mhshowsbr.c: Increase buffer size for showing-content command.
 1343     
 1344     Experimenting with small BUFSIZ to try and trigger programs caused one
 1345     test to fail because the code detected BUFSIZ was too small a string to
 1346     hold the command to execute.  Use NMH_BUFSIZ instead.
 1347 
 1348 Author: Ken Hornstein <kenh@pobox.com>
 1349 Date:   Wed May 17 23:28:02 2017 -0400
 1350 
 1351     After further reflection, I decided I didn't like that previous
 1352     implementation.  Instead, allocate two ptys and connect one to standard
 1353     input and the other to standard output and standard error of the child
 1354     process.  After the first data is received from the slave, close the
 1355     master connected to standard input; that will generate an EOF on input
 1356     to the child process.  This ends up being much cleaner than looping and
 1357     waiting to send the EOF character to the child process.
 1358 
 1359 Author: Ken Hornstein <kenh@pobox.com>
 1360 Date:   Wed May 17 21:40:57 2017 -0400
 1361 
 1362     Apparently on Linux if a slave pty is closed, instead of the master
 1363     getting an EOF they get an EIO, which strikes me as unfriendly.  So
 1364     make sure we exit the main read loop without complaint on an EOF or
 1365     error.
 1366 
 1367 Author: Ken Hornstein <kenh@pobox.com>
 1368 Date:   Wed May 17 21:00:47 2017 -0400
 1369 
 1370     Switch from using script(1) to a new custom utility, runpty.  It turns out
 1371     on some systems script(1) has a bug that results in hangs that is simply
 1372     too difficult to test for, and this custom utility is simpler.
 1373 
 1374 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1375 Date:   Wed May 17 15:15:18 2017 +0100
 1376 
 1377     uip/mhbuildsbr.c: Fix long-line truncation when BUFSIZ is 1024.
 1378     
 1379     a23477eb changed one char array from BUFSIZ to NMH_BUFSIZ elements, but
 1380     the long line read into it was passed to user_content() that
 1381     strncpy(3)'d it, silently truncating, to another char array, still
 1382     BUFSIZ long.  This show up on platforms where BUFSIZ is 1024 versus
 1383     NMH_BUFSIZ's minimum of 8192.
 1384 
 1385 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1386 Date:   Wed May 17 13:06:40 2017 +0100
 1387 
 1388     test/common.sh.in: Clarify it's the first failure by a *named* test.
 1389     
 1390     Unnamed tests may have failed earlier.
 1391 
 1392 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1393 Date:   Wed May 17 12:58:15 2017 +0100
 1394 
 1395     test/mhbuild/test-cte: Move run_prog() to just before check().
 1396     
 1397     Prepare the input and output files, then run the program and check the
 1398     result.  Makes it easier to see every run is being checked if a,
 1399     sometimes large, expected-output file isn't being produced in between.
 1400 
 1401 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1402 Date:   Wed May 17 12:47:07 2017 +0100
 1403 
 1404     test/mhbuild/test-cte: Add missing check() for earlier run_prog().
 1405     
 1406     be6c3984 added a new run_prog and swiped the earlier check.
 1407 
 1408 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1409 Date:   Wed May 17 12:45:26 2017 +0100
 1410 
 1411     test/common.sh.in: Clarify test name in failure message.
 1412     
 1413     Some test names don't stand out as that when suffixed with `failed'
 1414     amidst all the other output.  Change `foo failed' to `first test
 1415     failure: foo' instead.  Also makes clear there's possibly other tests
 1416     that failed later.
 1417 
 1418 Author: Ken Hornstein <kenh@pobox.com>
 1419 Date:   Tue May 16 21:30:10 2017 -0400
 1420 
 1421     Make sure we are in the correct directory when we do "git describe".
 1422 
 1423 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1424 Date:   Wed May 17 00:27:54 2017 +0100
 1425 
 1426     sbr/check_charset.c: Fix warning on unspecified struct initialisers.
 1427     
 1428     A different C compiler disliked `{NULL}' as the initialiser for a
 1429     two-member struct so specify NULL for the other member too.
 1430 
 1431 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1432 Date:   Tue May 16 12:57:25 2017 +0100
 1433 
 1434     Rewrite norm_charmap(), moving code into data.
 1435     
 1436     Also removes return of static char array, and is more precise, e.g.
 1437     `CP1242' doesn't become `WINDOWS-1242' as it's not a known code page.
 1438 
 1439 Merge: 684716b 3d0e5b6
 1440 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1441 Date:   Tue May 16 11:44:18 2017 +0100
 1442 
 1443     Merge commit '3d0e5b6a4383a5228732edd6cb1532375b771262'
 1444 
 1445 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1446 Date:   Tue May 16 11:35:49 2017 +0100
 1447 
 1448     Merge sbr/norm_charmap.c into sbr/check_charset.c.
 1449     
 1450     Alter norm_charmap() to be static now its only caller is in the same
 1451     file.  I've checked the upstream cam.ac.uk source and it's still the
 1452     same and hasn't changed in years, so I don't think there's much benefit
 1453     from having it standalone to ease checking.
 1454 
 1455 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1456 Date:   Tue May 16 11:29:17 2017 +0100
 1457 
 1458     Part 1 of merging sbr/norm_charmap.c into sbr/check_charset.c.
 1459     
 1460     This commit won't compile, but I'm attempting to get the rename into git
 1461     so the history after the next, merge, commit will continue through both
 1462     parents.
 1463 
 1464 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1465 Date:   Tue May 16 11:21:50 2017 +0100
 1466 
 1467     sbr/unquote.c: Move prototype from h/prototypes.h to new header.
 1468 
 1469 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1470 Date:   Tue May 16 10:59:07 2017 +0100
 1471 
 1472     sbr/mime_type.c: Move prototype from h/prototypes.h to new header.
 1473 
 1474 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1475 Date:   Tue May 16 10:53:17 2017 +0100
 1476 
 1477     sbr/message_id.c: Move duplicate prototypes to new header.
 1478 
 1479 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1480 Date:   Tue May 16 10:41:35 2017 +0100
 1481 
 1482     sbr/makedir.c: Move prototype from h/prototypes.h to new header.
 1483 
 1484 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1485 Date:   Tue May 16 10:36:02 2017 +0100
 1486 
 1487     sbr/m_popen.c: Move prototypes from h/prototypes.h to new header.
 1488 
 1489 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1490 Date:   Tue May 16 00:30:59 2017 +0100
 1491 
 1492     sbr/m_maildir.c: Move prototypes from h/prototypes.h to new header.
 1493 
 1494 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1495 Date:   Tue May 16 00:02:30 2017 +0100
 1496 
 1497     sbr/m_rand.c: Move prototype from h/prototypes.h to new header.
 1498 
 1499 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1500 Date:   Mon May 15 23:54:05 2017 +0100
 1501 
 1502     h/prototypes.h: Give sbr/lock_file.c's prototypes their own header.
 1503 
 1504 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1505 Date:   Mon May 15 18:58:19 2017 +0100
 1506 
 1507     sbr/utils.c: Delete unused upcase() function.
 1508 
 1509 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1510 Date:   Mon May 15 18:52:32 2017 +0100
 1511 
 1512     h/utils.h: Move in PLURALS() macro from h/mh.h.
 1513 
 1514 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1515 Date:   Mon May 15 18:47:46 2017 +0100
 1516 
 1517     h/prototypes.h: Remove duplicate prototype for pwd().
 1518     
 1519     It is already in h/utils.h.
 1520 
 1521 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1522 Date:   Mon May 15 18:39:45 2017 +0100
 1523 
 1524     h/utils.h: Move in nmh_init() prototype from h/prototypes.h.
 1525 
 1526 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1527 Date:   Mon May 15 18:06:19 2017 +0100
 1528 
 1529     uip/mhshowsbr.h: Move in declarations from h/mhparse.h.
 1530     
 1531     Delete non-existent markerform parameter from show_all_messages()'s
 1532     comment.  Alter show_all_messages()'s definition's concatsw parameter to
 1533     match comment and prototype.
 1534 
 1535 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1536 Date:   Mon May 15 17:14:01 2017 +0100
 1537 
 1538     uip/mhshowsbr.c: Create header file with exports' declarations.
 1539     
 1540     Create a single set of externs for mhshowsbr.c's global variables.  Have
 1541     the other users of those use the new include file instead of their own
 1542     declarations.
 1543 
 1544 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1545 Date:   Mon May 15 16:09:28 2017 +0100
 1546 
 1547     uip/mhcachesbr.c: Move exported symbols to existing h/mhcachesbr.h.
 1548     
 1549     Remove the user's copies of the declarations.
 1550     A static struct swit caches[] was declared everywhere that included
 1551     h/mhcachesbr.h.  The larger number of includers causes `variable not
 1552     used' for `caches'.  Move that declaration to uip/mhcachesbr.c and have
 1553     an exported `cache_policy' symbol that points to it for the existing
 1554     users.
 1555 
 1556 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1557 Date:   Mon May 15 15:14:44 2017 +0100
 1558 
 1559     uip/mhoutsbr.c: Move exported prototype to new header file.
 1560     
 1561     Alter the callers to include the new header file instead of having their
 1562     own copy of the prototype.
 1563 
 1564 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1565 Date:   Mon May 15 15:07:10 2017 +0100
 1566 
 1567     sbr/m_mktemp.h: Move remaining prototypes from h/prototypes.h.
 1568     
 1569     Gives the normal one header file showing interface exported by one C
 1570     file.
 1571 
 1572 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1573 Date:   Mon May 15 14:40:52 2017 +0100
 1574 
 1575     sbr/m_mktemp.h: Create with missing prototypes.
 1576     
 1577     Some of sbr/m_mktemp.c's functions didn't have prototypes in a header
 1578     file so callers were declaring prototypes themselves.  Have them include
 1579     the new header file instead.
 1580 
 1581 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1582 Date:   Mon May 15 14:31:36 2017 +0100
 1583 
 1584     sbr/utils.c: Use h/signals.h for setup_signal_handlers prototype.
 1585     
 1586     Deleted its own prototype for setup_signal_handlers() and added it to
 1587     the existing h/signals.h as it's defined in h/signals.c.
 1588 
 1589 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1590 Date:   Mon May 15 14:23:53 2017 +0100
 1591 
 1592     uip/picksbr.c: Use function prototypes for `nexus' functions.
 1593     
 1594     Prototypes for ORaction(), etc., now state the parameters they expect.
 1595     Removed the args() macro, instead explicitly listing the arguments being
 1596     passed to functions.
 1597 
 1598 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1599 Date:   Mon May 15 14:12:21 2017 +0100
 1600 
 1601     Specify function parameters in prototypes, mainly void.
 1602     
 1603     These prototypes are all in *.[cl] source compared with the *.h of the
 1604     earlier commit.  All but one had void added, that one's parameter was a
 1605     char pointer.
 1606 
 1607 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1608 Date:   Mon May 15 13:45:39 2017 +0100
 1609 
 1610     h/prototypes.h: Remove scan_reset_m_getfld_state() prototype.
 1611     
 1612     Function removed back in 2014 by 58eaf2c2.
 1613 
 1614 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1615 Date:   Mon May 15 13:39:08 2017 +0100
 1616 
 1617     Use `void' in prototypes for functions with no parameters.
 1618     
 1619     The old-style `int foo()' still lived on in a few places.
 1620 
 1621 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1622 Date:   Mon May 15 13:29:28 2017 +0100
 1623 
 1624     h/mhparse.h: Move mhfree.c's free_content prototype to new header.
 1625     
 1626     It was the only thing of mhfree.c's in h/mhparse.h.
 1627 
 1628 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1629 Date:   Mon May 15 13:25:23 2017 +0100
 1630 
 1631     Match `NORETURN' function prototypes by adding it to definition.
 1632 
 1633 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1634 Date:   Mon May 15 13:13:45 2017 +0100
 1635 
 1636     Create and use header file for uip/mhfree.c's exports.
 1637     
 1638     Remove all the duplicate inconsistent prototypes from mhfree.c's users.
 1639 
 1640 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1641 Date:   Mon May 15 13:10:30 2017 +0100
 1642 
 1643     test/mhical/test-mhical: Force UTC timezone for mhical.
 1644     
 1645     Commit c3238c0e added a test but mhical's output depends on its
 1646     timezone;  force it to UTC for consistent results.
 1647 
 1648 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1649 Date:   Mon May 15 12:52:23 2017 +0100
 1650 
 1651     uip/mhfree.c: Make free_header() static.
 1652 
 1653 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1654 Date:   Mon May 15 12:38:26 2017 +0100
 1655 
 1656     uip/flist.c: Make locally defined and used functions static.
 1657 
 1658 Author: David Levine <levinedl@acm.org>
 1659 Date:   Sun May 14 17:27:23 2017 -0400
 1660 
 1661     Support iCalendar event request files that don't end with a newline.
 1662     
 1663     Such files do not conform to RFC 5545 § 3.1, which requires that each
 1664     contentline end with a CRLF.  But be liberal in what we accept.
 1665 
 1666 Author: David Levine <levinedl@acm.org>
 1667 Date:   Sun May 14 13:08:03 2017 -0400
 1668 
 1669     Added explicit dependency to build sbr/icalparse.h before running LEX.
 1670     
 1671     "Fix" to commit 665dfc96.  The build had been relying upon the listed
 1672     order of files.
 1673 
 1674 Author: David Levine <levinedl@acm.org>
 1675 Date:   Sun May 14 12:18:35 2017 -0400
 1676 
 1677     Have post(1) report name of fileproc if it fails.
 1678 
 1679 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1680 Date:   Sun May 14 23:17:36 2017 +0100
 1681 
 1682     Replace calls to unputenv() with unsetenv(3).
 1683 
 1684 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1685 Date:   Sun May 14 22:56:52 2017 +0100
 1686 
 1687     Replace calls to m_putenv() with setenv(3).
 1688 
 1689 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1690 Date:   Sun May 14 19:35:13 2017 +0100
 1691 
 1692     sbr/dtimep.l: Remove redundant wrapping parenthesis in definitions.
 1693     
 1694     It's been decades since a lex(1) didn't follow POSIX and treat `{foo}'
 1695     as parenthesis surrounding foo's definition.  Other nmh lex files work
 1696     without the extra wrapping.
 1697 
 1698 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1699 Date:   Sun May 14 12:53:33 2017 +0100
 1700 
 1701     uip/mhstoresbr.c: Fix single-character nmh-storage bug.
 1702     
 1703     If the profile component nmh-storage was a single character, e.g. the
 1704     relative directory `d', then it would be dropped from the output path so
 1705     instead of `d/foo' being written, `/foo' would probably fail.  I think
 1706     this was due to a faulty check for nmh-storage being `/'.  Add a test
 1707     for a non-/ single-character nmh-storage.
 1708 
 1709 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1710 Date:   Sun May 14 12:08:06 2017 +0100
 1711 
 1712     sbr/fmt_rfc2047.c: Simplify test for /^=\?./.
 1713 
 1714 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1715 Date:   Sun May 14 11:23:33 2017 +0100
 1716 
 1717     Use new PLURALS(n) macro instead of variety of tests.
 1718     
 1719     Whether to output a plural noun in a message was decided by ternary
 1720     operators that tested n==1, n!=1, n>1, etc.  Make them all consistent by
 1721     using PLURALS(n).
 1722 
 1723 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1724 Date:   Sat May 13 23:40:50 2017 +0100
 1725 
 1726     uip/folder.c: Use `%s' for plural, not `%c'.
 1727     
 1728     Instead of a ternary operator with 's' and ' ' as the outcomes, switch
 1729     the format specifier from `%c' to `%s' and use strings "s" and " ".
 1730 
 1731 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1732 Date:   Sat May 13 18:39:06 2017 +0100
 1733 
 1734     uip/folder.c: Rewrite plural test to common form.
 1735     
 1736     The common form is a choice between "" and "s".  This one occurrence was
 1737     using " " and "s" so either output was a fixed width.  Alter the
 1738     printf(3) format string from `%s' to `%1s' to provide that instead.
 1739     Allows the new code to be altered by an upcoming `plural' change.
 1740 
 1741 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1742 Date:   Sat May 13 18:35:15 2017 +0100
 1743 
 1744     Makefile.am: Alter long lists to be sorted, one entry per line.
 1745     
 1746     It was hard to see what files were included in some variables when
 1747     searching for the best place for new content.  Some variables had
 1748     definitions that were almost sorted, by weren't.  Switch to a
 1749     one-entry-per-line list, in `LC_ALL=C sort' order, documented at the
 1750     start of the file.  Makes it easy to run through the lists and see the
 1751     patterns.
 1752 
 1753 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1754 Date:   Sat May 13 13:24:03 2017 +0100
 1755 
 1756     Use FENDNULL() instead of duplicate, locally defined, empty().
 1757     
 1758     Three files had an empty() that was defined using FENDNULL();  use the
 1759     latter directly.
 1760 
 1761 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1762 Date:   Sat May 13 13:13:18 2017 +0100
 1763 
 1764     Add FENDNULL(s): fends off NULL by giving an empty string instead.
 1765     
 1766     Use it in place of all the `foo->bar_xyzzy ? foo->bar_xyzzy : ""'.
 1767     Avoids the reader having to check first two of the ternary operands are
 1768     the same.
 1769 
 1770 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1771 Date:   Sat May 13 12:56:58 2017 +0100
 1772 
 1773     sbr/mf.c: Rename path to routepath to avoid h/mh.h clash.
 1774     
 1775     Adding #include of h/mh.h brings two path global symbols together;
 1776     path() and char *path.  Rename the latter.  h/mh.h is needed by a future
 1777     commit.
 1778 
 1779 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1780 Date:   Fri May 12 23:29:31 2017 +0100
 1781 
 1782     Replace `a == b ? 1 : 0' and similar with `a == b'.
 1783 
 1784 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1785 Date:   Fri May 12 23:14:43 2017 +0100
 1786 
 1787     Replace `e ? 0 : 1' with `!e'.
 1788     
 1789     Needs less thought to read.
 1790 
 1791 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1792 Date:   Fri May 12 22:45:34 2017 +0100
 1793 
 1794     sbr/icalparse.y: Replace max(BUFSIZ, 8192) with NMH_BUFSIZ.
 1795 
 1796 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1797 Date:   Fri May 12 22:42:35 2017 +0100
 1798 
 1799     Use existing macros min() and max() more.
 1800 
 1801 Author: David Levine <levinedl@acm.org>
 1802 Date:   Thu May 11 22:41:02 2017 -0400
 1803 
 1804     Clarified the phrasing added by commit 44ce2010.
 1805 
 1806 Author: David Levine <levinedl@acm.org>
 1807 Date:   Thu May 11 20:20:16 2017 -0400
 1808 
 1809     Added warning about when post(1) can't refile(1) a draft.
 1810 
 1811 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1812 Date:   Wed May 10 12:13:28 2017 +0100
 1813 
 1814     sbr/fmt_scan.c: Fix `foo%-42{bar}' right-justification bug.
 1815     
 1816     The space padding was added at the start of the output buffer, not the
 1817     start of the component being formatted.  Caused by 92128dac's move to
 1818     dynamic allocation for fmt_scan()'s output.  Only shows if the component
 1819     isn't at the start of the buffer.  Expand existing
 1820     test/format/test-rightjustify to cover this.
 1821 
 1822 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1823 Date:   Tue May 9 23:10:06 2017 +0100
 1824 
 1825     config/version.sh: Rewrite.  Use uname(1), git-describe(1), and UTC.
 1826     
 1827     Not sure why it searched through PATH manually for uname(1) and
 1828     hostname(1).  uname and its -n option are POSIX so just use those.  It
 1829     was the preference over hostname anyway.
 1830     
 1831     Use git-describe(1), not just git-branch(1), as it gives more detail,
 1832     including --dirty to show the built source differs from the commit.
 1833     
 1834     Specify the format for the build date, and its timezone; +0000.
 1835 
 1836 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1837 Date:   Tue May 9 22:48:11 2017 +0100
 1838 
 1839     sbr/mf.c: Simplify isat();  it's /^ at /i.
 1840     
 1841     This one's for all those RFC 733 emails out there.
 1842     You know who you are.
 1843 
 1844 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1845 Date:   Sun May 7 23:30:46 2017 +0100
 1846 
 1847     uip/inc.c: Use bool, not int, for some of the options.
 1848     
 1849     Makes clear there's no special meaning to repeating these options more
 1850     than once.
 1851 
 1852 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1853 Date:   Sun May 7 22:43:19 2017 +0100
 1854 
 1855     sbr/netsec.c: Remove extraneous semicolon.
 1856 
 1857 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1858 Date:   Sun May 7 22:35:41 2017 +0100
 1859 
 1860     Split some comma-operator terms into separate statements.
 1861     
 1862     Some uses of the comma operator weren't the idiomatic `p++, len--'.
 1863     Split its terms into two statements instead, e.g. `close(fd); fd = -1'.
 1864 
 1865 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1866 Date:   Sun May 7 18:02:03 2017 +0100
 1867 
 1868     uip/picksbr.c: Increase line-buffer size for "grep" action.
 1869     
 1870     Alter LBSIZE from 1024 to NMH_BUFSIZ, e.g. 8192.  This dominates the
 1871     size of the char array used to hold a single unfolded header line when
 1872     evaluating a "grep" action, e.g. `-to foo' becomes `^to[ ^I]*:.*foo'.
 1873 
 1874 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1875 Date:   Sun May 7 14:01:48 2017 +0100
 1876 
 1877     uip/scansbr.c: Replace uses of SBUFSIZ with NMH_BUFSIZ.
 1878     
 1879     Now that the former is defined as the latter, the uses of SBUFSIZ were
 1880     all in the same expression and it simplifies from a ternary expression
 1881     to NMH_BUFSIZ.
 1882 
 1883 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1884 Date:   Sun May 7 13:57:39 2017 +0100
 1885 
 1886     uip/rcvdist.c: Replace SBUFSIZ with NMH_BUFSIZ.
 1887     
 1888     The former was defined as the latter and had only one proper use: to
 1889     size a char array.  The other uses should have been the sizeof operator
 1890     on that array, and now are.
 1891 
 1892 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1893 Date:   Sun May 7 13:56:40 2017 +0100
 1894 
 1895     uip/replsbr.c: Replace single use of SBUFSIZ with NMH_BUFSIZ.
 1896     
 1897     The former was defined as the latter;  not a lot of point having it.
 1898 
 1899 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1900 Date:   Sun May 7 13:03:01 2017 +0100
 1901 
 1902     Make many m_getfld() buffer parameters NMH_BUFSIZ big.
 1903     
 1904     char arrays were often stdio.h's BUFSIZ large, and that's 8192 with here
 1905     with glibc 2.25-1 on Linux x86_64, so using NMH_BUFSIZ is no different
 1906     as that's max(BUFSIZ, 8192).  But some were 256 or 512 with a local
 1907     SBUFSIZ macro and they caused scan(1) to truncate a field, or pick(1) to
 1908     not spot text because the field was truncated.
 1909     
 1910     Delete bad-input/test-header's test for m_getfld()'s detection for a
 1911     header without a colon that's under the header-length NAMESZ limit, but
 1912     longer than the passed in buffer.  This no longer happens in scan as the
 1913     buffer is larger than the longest allowed header.
 1914 
 1915 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1916 Date:   Fri May 5 13:11:15 2017 +0100
 1917 
 1918     configure.ac: Enable assert(3) by default.
 1919     
 1920     Revert 167e542b that disabled assert(3) by default after private email
 1921     discussion with David Levine.  I suggested it being enabled by default
 1922     in git so those running nmh from git were testing them for us, with it
 1923     being disabled as part of the release process so packagers continue with
 1924     it disabled.  David pointed out that would make the release
 1925     intentionally different from what had been long tested so the default is
 1926     now enabled assertions everywhere unless disabled by a packager.
 1927 
 1928 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1929 Date:   Mon May 1 23:02:06 2017 +0100
 1930 
 1931     mhstoresbr.c: Flip logic to simplify.  Remove else after continue.
 1932     
 1933     Former in store_partial(), latter in parse_format_string().
 1934 
 1935 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1936 Date:   Mon May 1 22:57:44 2017 +0100
 1937 
 1938     mhlsbr.c: Flip parse()'s logic.  Remove oneline()'s else after break.
 1939 
 1940 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1941 Date:   Mon May 1 22:56:30 2017 +0100
 1942 
 1943     dropsbr.c: Flip mbx_open()'s logic to simplify.
 1944 
 1945 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1946 Date:   Mon May 1 22:47:38 2017 +0100
 1947 
 1948     base64.c: Remove some else after break.  Flip logic to simplify.
 1949 
 1950 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1951 Date:   Mon May 1 22:46:38 2017 +0100
 1952 
 1953     mhfixmsg.c: Flip logic to simplify.  Remove else after break.
 1954 
 1955 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1956 Date:   Mon May 1 22:36:30 2017 +0100
 1957 
 1958     path.c: Simplify compath()'s flow;  return, don't break twice.
 1959 
 1960 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1961 Date:   Mon May 1 21:49:38 2017 +0100
 1962 
 1963     mhshowsbr.c: Remove else after break in iconv_start().
 1964 
 1965 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1966 Date:   Mon May 1 21:46:20 2017 +0100
 1967 
 1968     mhparse.c: Remove a couple of else after continue.
 1969     
 1970     In openQuoted() and parse_header_attrs().
 1971 
 1972 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1973 Date:   Mon May 1 21:43:36 2017 +0100
 1974 
 1975     m_getfld.c: Remove else after break in m_unknown() and m_Eom().
 1976 
 1977 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1978 Date:   Mon May 1 21:42:59 2017 +0100
 1979 
 1980     picksbr.c: Remove some else after break in plist().
 1981 
 1982 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1983 Date:   Mon May 1 18:42:07 2017 +0100
 1984 
 1985     fmt_rfc2047.c: Remove else after decode_rfc2047()'s break.
 1986 
 1987 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1988 Date:   Mon May 1 18:33:15 2017 +0100
 1989 
 1990     sortm.c: Flip get_fields()'s logic to simplify.
 1991 
 1992 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1993 Date:   Sun Apr 30 15:25:20 2017 +0100
 1994 
 1995     README.developers: Add pointers to Debian's Lintian's complaints.
 1996 
 1997 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 1998 Date:   Sun Apr 30 15:14:46 2017 +0100
 1999 
 2000     README.developers: Add blank lines for consistent headers.
 2001 
 2002 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2003 Date:   Sat Apr 29 00:01:58 2017 +0100
 2004 
 2005     Fix spelling in C comments.
 2006 
 2007 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2008 Date:   Fri Apr 28 22:42:46 2017 +0100
 2009 
 2010     bvector_copy: Use bvector's tiny storage if big enough.
 2011     
 2012     Otherwise a source bvector that's using tiny storage has its bits
 2013     duplicated into a malloc'd area when the destination's tiny storage was
 2014     sufficient.
 2015 
 2016 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2017 Date:   Fri Apr 28 22:08:26 2017 +0100
 2018 
 2019     sbr/oauth.c: Remove const to avoid curl's debug_callback warning.
 2020     
 2021     The curl_debug_callback typedef doesn't use const for any of the
 2022     function's parameters.  On one of the compilation platforms here,
 2023     oauth.c's debug_callback having const specifiers for some parameters
 2024     causes compilation warnings, and -Werror stops the compilation.  Remove
 2025     them.
 2026 
 2027 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2028 Date:   Fri Apr 28 17:12:31 2017 +0100
 2029 
 2030     sbr/folder_read.c: Don't malloc() once per message.
 2031     
 2032     Instead of struct msgs having a pointer to a malloc'd array of pointers,
 2033     each to a malloc'd struct bvector, 1+N, it now has a pointer to a
 2034     malloc'd array of struct bvector;  one malloc for all of them.  This
 2035     avoids the large number of calls to malloc() and free() that's linear
 2036     with the size of the folder.
 2037     
 2038     But there are some downsides.  In order to step through an array of
 2039     struct bvector, code outside of sbr/vector.c needs to know the struct's
 2040     size.  The simplest way to do this is to make the struct's definition
 2041     public, with a comment that access should be through vector.c.
 2042     
 2043     New functions are needed to initialise the content of an already
 2044     allocated bvector, and to finish with its content prior to deallocation.
 2045     bvector_create() and bvector_free() now also use these new functions.
 2046     
 2047     Before, it was the array of pointers to bvector that would be realloc'd.
 2048     That doesn't work for the array of bvectors as they may contain pointers
 2049     to within themselves.  The solution is to malloc a new array and
 2050     bvector_copy() the ones to keep across, as folder_realloc() now does.
 2051     The other half of its logic that coped with growth at the end of the
 2052     array, has been deleted.  Also deleted, is the code to clear the
 2053     bvectors before and after the old ones as they start in that state.
 2054 
 2055 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2056 Date:   Fri Apr 28 17:00:54 2017 +0100
 2057 
 2058     valgrind: Add suppression for dbm_open(3)'s write(2).
 2059     
 2060     It writes bytes from an area it mallocs, but doesn't set all of those
 2061     bytes first.  See with gdbm 1.13-1 on Arch Linux.
 2062 
 2063 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2064 Date:   Fri Apr 28 12:45:26 2017 +0100
 2065 
 2066     sbr/vector.c: Only allocate bvector storage for set bits.
 2067     
 2068     Now that a pointer to all the bit storage doesn't escape vector.c,
 2069     there's no need to allocate storage, that's initialised to 0, just to
 2070     then clear a bit in it.  Only extend the bits's storage for set bits.
 2071     Remove the unused initial size parameter from bvector_create() as it
 2072     simplifies the implementation.
 2073 
 2074 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2075 Date:   Fri Apr 28 12:27:44 2017 +0100
 2076 
 2077     sbr/vector.c: Add bvector comments, tidy identifiers.
 2078 
 2079 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2080 Date:   Fri Apr 28 12:16:01 2017 +0100
 2081 
 2082     sbr/vector.c: Rewrite BVEC_BYTES(n) macro to remove branch.
 2083     
 2084     Use the idiom of integer truncation.
 2085 
 2086 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2087 Date:   Fri Apr 28 12:12:15 2017 +0100
 2088 
 2089     sbr/vector.c: Use new BVEC_BITS_BITS macro.
 2090     
 2091     Factors out a common expression from a few other places.
 2092 
 2093 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2094 Date:   Thu Apr 27 00:14:28 2017 +0100
 2095 
 2096     sbr/vector.c: Zero the growth with memset(3), not loop.
 2097     
 2098     When the resize functions grow the vectors, as they always do, zero the
 2099     new slots with memset(3) rather than a for loop.  Particularly of note
 2100     for the bit vector where it was bvector_clear()ing one bit at a time.
 2101     Although a NULL pointer needn't have a representation of all-zero bits,
 2102     the code was already assuming that, e.g. on the initial allocation, so
 2103     we're no worse off.
 2104 
 2105 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2106 Date:   Wed Apr 26 13:41:27 2017 +0100
 2107 
 2108     sbr/vector.c: Change bvector_bits() to return first word.
 2109     
 2110     Rename it to bvector_first_bits() to represent its new behaviour.  It
 2111     has only one caller that uses it to produce debug.  Tighten the API so
 2112     other callers don't get access to the location of the bvector's bits.
 2113 
 2114 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2115 Date:   Tue Apr 25 23:21:21 2017 +0100
 2116 
 2117     sbr/vector.c: Embed initial vector storage in header struct.
 2118     
 2119     Instead of a malloc(3)'d struct bvector having a pointer to a separately
 2120     malloc'd area for the bits in the normal case of the default initial
 2121     size, have non-malloc'd storage in the struct itself, and set the
 2122     pointer to that.  It's two unsigned longs, which is less than the
 2123     previous default of 256 bits for struct bvector, but still double the
 2124     pre-bvector norm of one word on 32 and 64-bit architectures.
 2125     
 2126     This halves the mallocs needed to create a struct bvector in the common
 2127     case, but does mean that embedded memory is wasted should it not be
 2128     enough.  That's probably an unusual case.  It also means derefencing the
 2129     pointer to the bits probably hits the same cache line.
 2130     
 2131     Have separate initial sizes for string and int vectors.
 2132 
 2133 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2134 Date:   Tue Apr 25 00:20:08 2017 +0100
 2135 
 2136     sbr/vector.c: Remove `vec' argument from BVEC_OFFSET(), etc.
 2137     
 2138     A few macros took a struct bvector pointer as their first argument just
 2139     to get the sizeof one of its fields.  This can be done with a NULL
 2140     pointer so remove that argument from all of them.
 2141 
 2142 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2143 Date:   Mon Apr 24 23:47:46 2017 +0100
 2144 
 2145     sbr/vector.c: Delete unused bvector_maxsize() and ivector_size().
 2146     
 2147     May as well keep the proffered interface as small as possible so the
 2148     implementation can make greater assumptions knowing some internal
 2149     details aren't available.
 2150 
 2151 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2152 Date:   Mon Apr 24 22:58:56 2017 +0100
 2153 
 2154     sbr/vector.c: Move assert(3)s into bvector_create().
 2155     
 2156     Rather than asserting on every bit-related operation, assert just when
 2157     creating the vector.  Whether the assertion is true is decided at
 2158     compile time, so it only needs checking once;  once for every vector is
 2159     an easy compromise.
 2160 
 2161 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2162 Date:   Mon Apr 24 22:08:09 2017 +0100
 2163 
 2164     sbr/vector.c: Replace Nbby with <limits.h>'s CHAR_BIT.
 2165     
 2166     POSIX mandates CHAR_BIT is 8;  see stdint.h(0p).
 2167 
 2168 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2169 Date:   Mon Apr 24 21:19:56 2017 +0100
 2170 
 2171     sbr/vector.c: calloc(3) rather than malloc(3) and memset(3).
 2172     
 2173     calloc(3) tells libc upfront that the memory needs to be zeroed rather
 2174     than giving it the news later with memset.  Perhaps this allows it to
 2175     allocate from a CoW page of zero bytes, or it benefits from some other
 2176     way in memset not having to clear each bit, but it knocks about 15% off
 2177     the wall-clock time and the number of library calls under ltrace(1).
 2178 
 2179 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2180 Date:   Mon Apr 24 21:13:52 2017 +0100
 2181 
 2182     sbr/folder_read.c: Don't clear newly created bvectors.
 2183     
 2184     The newly created bvectors are already clear;  don't loop clearing each
 2185     again with memset(3).
 2186 
 2187 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2188 Date:   Wed Apr 26 00:14:26 2017 +0100
 2189 
 2190     sbr/fmt_scan.c: Only wcwidth(3) a valid mbtowc(3) result.
 2191     
 2192     The assert(3) added by 80a9e99f7078199500d2d53c8d77d1b92af06fbc is
 2193     failing, but not reproducibly.  It's probable that mbtowc() is returning
 2194     a negative, and not altering wide_char, leaving it as random stack
 2195     content.  Taking its wcwidth() then sometimes also returns negative,
 2196     causing the assert() failure.  Initialising wide_char before the call
 2197     isn't a solution as it isn't documented if it's modified to an invalid
 2198     value on an error return.
 2199     
 2200     Instead, delay calculating the wcwidth() until after the possible
 2201     substitution of "?".  Leave the assert() in place.
 2202 
 2203 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2204 Date:   Sun Apr 23 16:17:09 2017 +0100
 2205 
 2206     Remove return statements at end of void functions.
 2207 
 2208 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2209 Date:   Sun Apr 23 16:10:59 2017 +0100
 2210 
 2211     tws.h: Remove ADJUST_NUMERIC_ONLY_TZ_OFFSETS_WRT_DST.
 2212     
 2213     Code that's conditional on its definition has been kept;  just the tests
 2214     removed.  The comment explaining its purpose has been kept, just without
 2215     the "If defined...".
 2216 
 2217 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2218 Date:   Sun Apr 23 15:48:53 2017 +0100
 2219 
 2220     Use C's `++', `+=', etc., not the longhand.
 2221 
 2222 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2223 Date:   Sun Apr 23 15:19:33 2017 +0100
 2224 
 2225     Remove unneeded incomplete, member-less `struct tag;'.
 2226     
 2227     The forward declaration isn't needed to typedef based on the struct.
 2228 
 2229 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2230 Date:   Sun Apr 23 14:47:20 2017 +0100
 2231 
 2232     mh.h: Compact the reserved sequence bit-masks.
 2233     
 2234     Removes the gap created by axing DELETED.
 2235 
 2236 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2237 Date:   Sun Apr 23 14:36:57 2017 +0100
 2238 
 2239     mh.h: Remove unused MODIFIED and DELETED macros.
 2240     
 2241     MODIFIED was a folder attribute used by msh(1), and DELETED a message
 2242     attribute that may have last been used in the 1980s.
 2243     Adjust corresponding FBITS and MBITS definitions.
 2244 
 2245 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2246 Date:   Sun Apr 23 14:36:47 2017 +0100
 2247 
 2248     md5.h: Remove unused UINT2 typedef for unsigned short.
 2249 
 2250 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2251 Date:   Sun Apr 23 13:50:02 2017 +0100
 2252 
 2253     ap.man, dp.man: Add fmttest(1) to SEE ALSO section.
 2254 
 2255 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2256 Date:   Sun Apr 23 13:33:57 2017 +0100
 2257 
 2258     tws.h: Remove zero-valued TW_SNIL macro, used once.
 2259     
 2260     Macro TW_SNIL was the zero value for a two-bit field.  It was only used
 2261     once, and that is better ordered to check for bits set with none set
 2262     being the last, else, case, rather than in the middle.  Kept the
 2263     behaviour of undefined value 3 being treated as TW_SIMP, 2.
 2264 
 2265 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2266 Date:   Sun Apr 23 13:18:20 2017 +0100
 2267 
 2268     tws.h: Remove redundant TW_SZONE and TW_SZNIL bit-masks.
 2269     
 2270     TW_SZONE is a mask of one bit that can either be 0, TW_SZNIL, or set,
 2271     TW_SZEXP.  Rather than three macros for the single  bit, have one,
 2272     TW_SZEXP.  Simplifies the test too when the mask is known to be one-bit
 2273     wide.
 2274 
 2275 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2276 Date:   Sun Apr 23 11:01:18 2017 +0100
 2277 
 2278     mh-format.man: Fix `Return' column heading alignment.
 2279     
 2280     Two of the column headings were separated by spaces rather than a tab.
 2281     The other two similar tables used `Return' instead of `Result', so
 2282     switch to that at the same time.
 2283 
 2284 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2285 Date:   Sun Apr 23 09:48:13 2017 +0100
 2286 
 2287     sbr/dtime.c: Remove struct-assigning twscopy().
 2288     
 2289     Historically, twscopy() assigned all the struct's members individually,
 2290     but that was `#if 0'd as far back as the repository goes.  The one
 2291     caller now uses assignment, making clear the direction of data flow.
 2292 
 2293 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2294 Date:   Sun Apr 23 09:28:24 2017 +0100
 2295 
 2296     uip/sortm.c: Remove unused variable and dlocaltimenow() call.
 2297     
 2298     read_hdrs() has a auto `struct tws tb'.  It's only use is as the
 2299     destination for dlocaltimenow()'s result.  Remove the variable.  Also
 2300     remove the dlocaltimenow() call;  this I'm unsure about as it has a side
 2301     effect of calling tzset(3).  However, tests pass.  Repository history
 2302     sheds no light.
 2303 
 2304 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2305 Date:   Sun Apr 23 09:19:13 2017 +0100
 2306 
 2307     sbr/dtimep.l: Remove always false `europeandate' flag.
 2308     
 2309     Switched from reverse-podium MM/DD/YY interpretation to DD/MM/YY.
 2310     Never set so conditional code unused.
 2311 
 2312 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2313 Date:   Sun Apr 23 00:47:32 2017 +0100
 2314 
 2315     Append descriptions to C source files with first-line filenames.
 2316 
 2317 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2318 Date:   Sun Apr 23 00:29:02 2017 +0100
 2319 
 2320     Add first-line comment describing C source's purpose.
 2321     
 2322     I had a stab at them after a bit of a skim;  they're better than
 2323     nothing.
 2324 
 2325 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2326 Date:   Sun Apr 23 00:02:41 2017 +0100
 2327 
 2328     Ensure a space after `#!'.
 2329     
 2330     The majority of the `#!' scripts have a space before the `/';
 2331     add one to the three deviants.
 2332 
 2333 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2334 Date:   Sat Apr 22 23:36:19 2017 +0100
 2335 
 2336     Correct first-line comments where filename is wrong.
 2337     
 2338     Having jiggled the start-of-file comment about, it's apparent that a few
 2339     files either don't know their own name, or the format the rest of the
 2340     gang follow.  To wit, "basename(filename) -- ...".
 2341 
 2342 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2343 Date:   Sat Apr 22 23:19:39 2017 +0100
 2344 
 2345     Replace "/*\n * " with "/* " at the start of a file.
 2346     
 2347     Pulls the meat of the comment onto the file's first line, now that the
 2348     blank line at the start of the file has been deleted.  Allows `sed -ns
 2349     1p ...' or similar to give a summary of lots of files.
 2350 
 2351 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2352 Date:   Sat Apr 22 19:05:32 2017 +0100
 2353 
 2354     Remove leading and trailing blank lines from code.
 2355     
 2356     Many of the main source file start with a blank line, and many end with
 2357     one or more too.  They seem to serve little purpose so delete them.
 2358     This makes all the files consistent in not having them and ideally the
 2359     first line of a C source file will say something about its content in
 2360     time instead of just "/*".  Avoided editing format files, etc,. where
 2361     the line could be significant, and historical files.
 2362 
 2363 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2364 Date:   Sat Apr 22 18:37:15 2017 +0100
 2365 
 2366     mts/smtp/smtp.h: Remove one-use rp_isbad() macro.
 2367     
 2368     It just cast its argument to signed char, and the sole user can do that
 2369     itself a few lines later.
 2370 
 2371 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2372 Date:   Sat Apr 22 18:32:55 2017 +0100
 2373 
 2374     mts/smtp/smtp.h: Remove unused `MMDF' macros.
 2375     
 2376     The header file has a specification of a historical interface and
 2377     removing the unused parts leaves it incomplete, but it's unlikely those
 2378     parts will be needed and what remains seems more understandable;  partly
 2379     due to it being less to grok, and also because it relates more to modern
 2380     use.
 2381 
 2382 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2383 Date:   Sat Apr 22 18:21:01 2017 +0100
 2384 
 2385     mts/smtp/smtp.c: Remove unused SM_... timeout macros.
 2386     
 2387     SM_TEXT, SM_CLOS, and SM_AUTH are unused.
 2388     Alter the comment for the block of macros to state they're timeouts in
 2389     seconds.
 2390 
 2391 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2392 Date:   Sat Apr 22 17:28:18 2017 +0100
 2393 
 2394     h/mf.h: Remove many unused macros;  some UUCP related.
 2395     
 2396     MF... were "Codes returned by uucp2mmdf(), mmdf2uucp()".
 2397     A spot check of the others shows they've not been used in this git
 2398     repository.
 2399 
 2400 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2401 Date:   Sat Apr 22 17:16:54 2017 +0100
 2402 
 2403     sbr/mf.c: Remove unused functions: isfrom, lequal, mfgets.
 2404     
 2405     isfrom(s) checked for /^>?From /.
 2406     lequal(a, b) was another case-insensitive strcmp(3).
 2407     mfgets(fp, line) fetched a header at a time from fp, indicating when the
 2408     end of headers was reached.
 2409     Investigating their historical usage was, ironically, made too tedious
 2410     to complete by the pollution of mass commits of historical MH.
 2411 
 2412 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2413 Date:   Sat Apr 22 16:51:02 2017 +0100
 2414 
 2415     uip/mhbuildsbr.c: Remove unusused MAXURLTOKEN macro.
 2416     
 2417     "Maximum size of URL token in message/external-body".
 2418     Uses deleted in 95ad91ca30e1cda09efe454d12ed790a60661f56.
 2419 
 2420 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2421 Date:   Sat Apr 22 16:48:13 2017 +0100
 2422 
 2423     sbr/dtime.c: Remove unused `struct zone' definition.
 2424     
 2425     The uses went in 6a68057d8ef48bef3ee752741a53a629a2840e68.
 2426 
 2427 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2428 Date:   Sat Apr 22 16:46:33 2017 +0100
 2429 
 2430     uip/post.c: Don't bother naming `struct oauth_profile'.
 2431     
 2432     It's never used, and one more identifier to track when reading.
 2433     If there's no name, that's a signal it's not used elsewhere.
 2434 
 2435 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2436 Date:   Sat Apr 22 16:42:51 2017 +0100
 2437 
 2438     h/nmh.h: Remove unused NLENGTH(dirent) macro.
 2439     
 2440     It just does a strlen(3) of its argument's d_name;  that's not even done
 2441     longhand anyway.  And its name is very generic for such a narrow task.
 2442 
 2443 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2444 Date:   Sat Apr 22 16:41:00 2017 +0100
 2445 
 2446     h/mts.h: Remove unused isdlm{1,2}() macros.
 2447     
 2448     They just do a strcmp(3) of their argument against mmdlm{1,2} and test
 2449     it's "equal".  That's more clearly written longhand than have yet
 2450     another small-scope, specialised, macro to recall;  as practice bears
 2451     out.
 2452 
 2453 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2454 Date:   Sat Apr 22 16:39:29 2017 +0100
 2455 
 2456     h/mh.h: Remove unused set_deleted() macro.
 2457     
 2458     Its comment says "for msh only".
 2459 
 2460 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2461 Date:   Sat Apr 22 14:31:10 2017 +0100
 2462 
 2463     h/tws.h: Remove TW_YES and TW_NO;  TW_SUCC good enough.
 2464     
 2465     TW_SUCC is a macro for the bit-mask 0x0040.  TW_YES, a vague name, was
 2466     the same value.  TW_NO was 0, and unused by the code.  Ditch both those
 2467     as TW_SUCC is sufficient for setting and testing.  Alter its comment to
 2468     make clear it means parsing was successful.
 2469 
 2470 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2471 Date:   Sat Apr 22 14:10:41 2017 +0100
 2472 
 2473     docs/FAQ: Replace suggestion of NOMHNPROC with -nocheckmime.
 2474     
 2475     Environment variable NOMHNPROC was removed in 1.6, as stated in NEWS.
 2476 
 2477 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2478 Date:   Sat Apr 22 01:00:29 2017 +0100
 2479 
 2480     sbr/discard.c: Simplify by inverting initial test.
 2481     
 2482     The function used to return early, but these days that's just avoiding a
 2483     single statement, so execute that conditionally instead.
 2484 
 2485 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2486 Date:   Sat Apr 22 00:48:47 2017 +0100
 2487 
 2488     sbr/lock_file.c: Move static variables into their functions.
 2489     
 2490     A couple of file-scoped statc ints were the typical "if this function is
 2491     being called for the first time" flags.  Move each into their respective
 2492     functions.  Make them bools.  Name them so the initial value is zero,
 2493     thus placing them in BSS.
 2494 
 2495 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2496 Date:   Fri Apr 21 14:01:21 2017 +0100
 2497 
 2498     send and whatnow: Remove deprecated -attach... switches.
 2499     
 2500     They were changed to do nothing but warn on stderr that they were
 2501     deprecated in 521674623 and 035c5db34, both before 1.6's release, and so
 2502     can be removed ready for 1.7's release.
 2503 
 2504 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2505 Date:   Thu Apr 20 14:27:46 2017 +0100
 2506 
 2507     uip/dropsbr.c: Fix buffer overrun in mbx_copy().
 2508     
 2509     The overrun occurs frequently, but typically zeroes a byte of a
 2510     character pointer on the stack that's not yet been used.
 2511     Caused by 28610ff9a604a75ae0c383be03aa19415ddb1965 appending a NUL after
 2512     the bytes stored by read(2).
 2513 
 2514 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2515 Date:   Tue Apr 18 15:37:54 2017 +0100
 2516 
 2517     h/mime.h: Delete unused isatom(c) macro.
 2518 
 2519 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2520 Date:   Tue Apr 18 12:54:28 2017 +0100
 2521 
 2522     man/*.man: Fix some multi-word .B invocations.
 2523     
 2524     Some needed to be .B for the first word, but .I for the second, or just
 2525     plain text for the rest of the words that should be on their own line.
 2526     Others were just plain wrong and became .IR for a man-page reference.
 2527     Then the .TP macro uses an input trap so only a single following line of
 2528     source is used and this prevents a two-line `.B .I', so use embedded
 2529     font escapes instead.
 2530 
 2531 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2532 Date:   Tue Apr 18 01:14:57 2017 +0100
 2533 
 2534     man/*.man: Use italic for emphasis, not bold or SHOUTING.
 2535     
 2536     When reading a body of text, italic is sufficient to add emphasis to
 2537     what's already being read.  Bold draws the eye to the word on the page
 2538     and is more useful for keywords, concepts, etc.  Some `.B' remain that
 2539     should probably be `.I', but they looked to have other problems so I
 2540     left them out of this pass.
 2541 
 2542 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2543 Date:   Tue Apr 18 00:27:35 2017 +0100
 2544 
 2545     README.manpages: `user ID', not `user-id'.
 2546 
 2547 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2548 Date:   Tue Apr 18 00:24:07 2017 +0100
 2549 
 2550     man/*.man: Replace minus sign with hyphen: `\-' with `-'.
 2551     
 2552     Conservatively changed many of the troff minus-signs, `\-', with a troff
 2553     hyphen, `-'.  Where it wasn't quickly obviously, I left it unchanged.
 2554     There were also cases that shouldn't be either minus sign or hyphen.
 2555     Those were changed to hyphen and still need to be fixed properly.
 2556 
 2557 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2558 Date:   Mon Apr 17 23:36:28 2017 +0100
 2559 
 2560     README.manpages: It's a `From header', not a `From: header'.
 2561 
 2562 Author: David Levine <levinedl@acm.org>
 2563 Date:   Mon Apr 17 18:06:05 2017 -0400
 2564 
 2565     Use stat(3) instead of lstat(3), to dereference symbolic links.
 2566     
 2567     Fix to commit 4318012376e06229307c0ed4f62a00faae9edc63.
 2568 
 2569 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2570 Date:   Mon Apr 17 14:53:28 2017 +0100
 2571 
 2572     Don't ignore bit 5 of a char when comparing alias names.
 2573     
 2574     It's a crude method of ignoring case, but makes `^' equal to `~'.
 2575     Use tolower(3) instead.
 2576     http://lists.nongnu.org/archive/html/nmh-workers/2017-03/msg00050.html
 2577 
 2578 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2579 Date:   Mon Apr 17 14:34:14 2017 +0100
 2580 
 2581     man/mh-profile.man: Note MHTMPDIR is deprecated.
 2582     
 2583     In future, only TMPDIR and /tmp will be used, e.g. not `mhpath +'.
 2584 
 2585 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2586 Date:   Mon Apr 17 14:06:36 2017 +0100
 2587 
 2588     README.manpages: Add `Common errors and subjective conventions'.
 2589     
 2590     Based partly on recent mailing-list posts about Larry's patches.
 2591 
 2592 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2593 Date:   Mon Apr 17 13:32:47 2017 +0100
 2594 
 2595     README.manpages: Add question to guide update of .TH's date.
 2596 
 2597 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2598 Date:   Mon Apr 17 13:29:38 2017 +0100
 2599 
 2600     README.manpages: Clarify that man-page source is ASCII.
 2601 
 2602 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2603 Date:   Mon Apr 17 12:10:35 2017 +0100
 2604 
 2605     Fix post's die() to save errno before unlink(2)ing.
 2606 
 2607 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2608 Date:   Mon Apr 17 11:50:39 2017 +0100
 2609 
 2610     Allow advertise() to assume strerror(3) won't fail.
 2611     
 2612     The code already assumes that elsewhere when it calls strerror().
 2613 
 2614 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2615 Date:   Mon Apr 17 11:42:39 2017 +0100
 2616 
 2617     Change admonish(NULL, "foo") to inform("foo, continuing...").
 2618     
 2619     Removes more uses of the ad... functions with unneeded parameters.
 2620     Puts the "continuing" at the call site rather than the reader having to
 2621     remember it's being magically appended.  (Some calls were passing
 2622     "foo\n" that would result in "foo\n, continuing...\n" appearing.)
 2623 
 2624 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2625 Date:   Mon Apr 17 11:13:36 2017 +0100
 2626 
 2627     Don't store getname()'s return value during flushing.
 2628     
 2629     `cp' after the loop is overwritten before being read.
 2630     Not storing the return value makes it clear it's not used.
 2631 
 2632 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2633 Date:   Mon Apr 17 11:06:12 2017 +0100
 2634 
 2635     Improve function comments for the ad... diagnostic functions.
 2636     
 2637     Give the resulting layout of parameters that appears on stderr.
 2638 
 2639 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2640 Date:   Mon Apr 17 10:57:54 2017 +0100
 2641 
 2642     Fix bug in advertise("", "", "foo", ap).
 2643     
 2644     A non-NULL but empty `what' would result in "fooerrno\n" without
 2645     separation.  Improve the function's comment to try and make it obvious
 2646     how its out of order parameters appear.
 2647 
 2648 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2649 Date:   Mon Apr 17 10:42:09 2017 +0100
 2650 
 2651     Replace advise(NULL, fmt, ...) with inform(fmt, ...).
 2652 
 2653 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2654 Date:   Mon Apr 17 10:16:51 2017 +0100
 2655 
 2656     Add inform() to provide an equivalent to advise(NULL, ...).
 2657     
 2658     A small step in clearing up the confusing ad... names of the diagnostic
 2659     routines.  `inform' isn't great, but err(3) nabs `warn' already.
 2660 
 2661 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2662 Date:   Sun Apr 16 23:49:00 2017 +0100
 2663 
 2664     Replace add(nonnull, NULL) with mh_xstrdup(nonnull).
 2665     
 2666     Only a few cases where it's obvious that the first parameter will not be
 2667     NULL.
 2668 
 2669 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2670 Date:   Sun Apr 16 23:36:07 2017 +0100
 2671 
 2672     uip/aliasbr.c: Add FIXME to prove test of add()'s return value.
 2673     
 2674     add() always returns true so perhaps some other test is intended
 2675     instead.
 2676 
 2677 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2678 Date:   Sun Apr 16 23:25:32 2017 +0100
 2679 
 2680     man/*.man: Replace \(ru with an underscore, e.g. .mh_profile.
 2681     
 2682     The character is an underscore, and that's what's wanted.
 2683     \(ru gives a "rule", which draws as a thick baseline in PDFs;
 2684     not a character at all.
 2685     Other devices map \(ru onto underscore, e.g. ASCII,
 2686     but an underscore should be used in the first place.
 2687 
 2688 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2689 Date:   Sun Apr 16 14:01:42 2017 +0100
 2690 
 2691     Replace some strdup() with mh_xstrdup().
 2692     
 2693     (This is an old patch I had stashed.)
 2694     Some surrounding `if...adios()' are removed too, but most of the
 2695     strdup() calls weren't being checked for success, thus their
 2696     replacement.
 2697 
 2698 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2699 Date:   Sun Apr 16 00:35:11 2017 +0100
 2700 
 2701     Remove unneeded `\&' from man pages.
 2702     
 2703     The zero-width character is used before a command character that is
 2704     intended to be literal but may end up at the start of a line.
 2705     Similarly, it's used after an end-of-sentence character when it may end
 2706     up at the end of the line but isn't the end of a sentence.
 2707     Remove the other cases because they're noise that confuses the issue of
 2708     when `\&' should be used.
 2709 
 2710 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2711 Date:   Sun Apr 16 00:34:01 2017 +0100
 2712 
 2713     Alter mh-chart(7)'s NAME to be lowercase.
 2714     
 2715     And mention the commands' options.
 2716 
 2717 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2718 Date:   Sat Apr 15 20:14:42 2017 +0100
 2719 
 2720     man/*.man: No need for empty comment to be comments.
 2721     
 2722     A line that's just a `.' suffices.
 2723 
 2724 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2725 Date:   Sat Apr 15 20:11:33 2017 +0100
 2726 
 2727     Ensure .TH is the first line of a man page.
 2728 
 2729 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2730 Date:   Sat Apr 15 19:17:31 2017 +0100
 2731 
 2732     Fix errors in man-page NAME sections.
 2733     
 2734     man/fmttest.man didn't have a NAME section, but a FMTTEST one.
 2735     And it broke lexgrog(1) by splitting the section over multiple lines and
 2736     using `.IR'.  Re-write to use inline escapes.
 2737     man/rcvtty.man had two spaces before the `\-'.
 2738 
 2739 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2740 Date:   Sat Apr 15 15:29:02 2017 +0100
 2741 
 2742     Switch date to yyyy-mm-dd in generated mh-chart.man.
 2743     
 2744     It's still today's date, but improving on that seems non-trivial.
 2745 
 2746 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2747 Date:   Sat Apr 15 14:48:02 2017 +0100
 2748 
 2749     Specify yyyy-mm-dd date format for a man page's .TH date.
 2750 
 2751 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2752 Date:   Sat Apr 15 14:36:51 2017 +0100
 2753 
 2754     Use `Unix', not `UNIX', in man pages.
 2755     
 2756     "...in deference to dmr's wishes."
 2757         — http://catb.org/jargon/html/U/Unix.html
 2758 
 2759 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2760 Date:   Sat Apr 15 14:25:12 2017 +0100
 2761 
 2762     Fix forward-reference and `news.*' in mh-alias(5)'s example.
 2763     
 2764     Spotted by Bob Carragher.
 2765     The example's forward reference was made a backward one, and `news.*'
 2766     explanation removed, in ff3060cefb460cce2174058eefff38b6e11ee2f1.
 2767 
 2768 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2769 Date:   Sat Apr 15 11:31:22 2017 +0100
 2770 
 2771     Set man-page date to last significant change, UTC.
 2772 
 2773 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2774 Date:   Sat Apr 15 13:26:42 2017 +0100
 2775 
 2776     Wind man-page date back to last significant change, UTC.
 2777 
 2778 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2779 Date:   Fri Apr 14 18:34:43 2017 +0100
 2780 
 2781     Wind man-page date back to the earliest git revision, UTC.
 2782     
 2783     No significant changes since then, and I can't find an earlier reference
 2784     date.
 2785 
 2786 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2787 Date:   Sat Apr 15 13:21:07 2017 +0100
 2788 
 2789     Convert, already correct, man-page date to UTC.
 2790 
 2791 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2792 Date:   Fri Apr 14 23:49:21 2017 +0100
 2793 
 2794     Convert, already correct, man-page date to yyyy-mm-dd format.
 2795 
 2796 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2797 Date:   Fri Apr 14 15:55:47 2017 +0100
 2798 
 2799     Remove trailing spaces from lines in man pages.
 2800 
 2801 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 2802 Date:   Fri Apr 14 15:51:58 2017 +0100
 2803 
 2804     Escape literal leading full stop in man/new.man.
 2805     
 2806     Error made in 5e32ede8e40251bf02f35b864e32a86e91599b3f.
 2807 
 2808 Author: Larry Hynes <larry@larryhynes.com>
 2809 Date:   Fri Mar 24 23:20:07 2017 +0000
 2810 
 2811     Editing of man/rmm.man.
 2812     
 2813     - formatting, mostly
 2814     - don't make NOT bold
 2815 
 2816 Author: Larry Hynes <larry@larryhynes.com>
 2817 Date:   Fri Mar 24 23:09:32 2017 +0000
 2818 
 2819     Editing of man/rmf.man.
 2820     
 2821     - delete trailing whitespace
 2822     - remove some \- things
 2823     - some formatting
 2824     - sort SEE ALSO
 2825 
 2826 Author: Larry Hynes <larry@larryhynes.com>
 2827 Date:   Fri Mar 24 23:02:00 2017 +0000
 2828 
 2829     Editing of man/repl.com.
 2830     
 2831     - unashamedly add nmh to .SH NAME
 2832     - replace the delightfully baroque 'may be used to produce a reply
 2833       to an existing message' with 'may be used to reply to a message'.
 2834     - remove some \- objects
 2835     - deflower 'repl uses a reply template to guide its actions'
 2836     - remove multiple instances of 'replied\-to', with 'replied to'
 2837     - change 'tab\-stop' to 'tab stop'
 2838     - some formatting
 2839     - replace .B mhbuild with .IR mhbuild (1)
 2840     - replace whatnow with .B whatnow
 2841 
 2842 Author: Larry Hynes <larry@larryhynes.com>
 2843 Date:   Fri Mar 24 19:05:21 2017 +0000
 2844 
 2845     Editing of man/refile.man.
 2846     
 2847     - some formatting
 2848     - change .B mh\-sequence (5) to .IR mh\-sequence (5)
 2849 
 2850 Author: Larry Hynes <larry@larryhynes.com>
 2851 Date:   Fri Mar 24 18:54:52 2017 +0000
 2852 
 2853     Editing of man/rcvstore.man.
 2854     
 2855     - delete some \- things
 2856     - some formatting
 2857     - change protection to mode, in line with inc.man
 2858     - Uncapitalize .SS Locking and \-unseen
 2859     - sort SEE ALSO
 2860 
 2861 Author: Larry Hynes <larry@larryhynes.com>
 2862 Date:   Fri Mar 24 18:21:58 2017 +0000
 2863 
 2864     Editing of man/prompter.man.
 2865     
 2866     - remove some \- items; quite a few, actually
 2867     - put .B prompter on a line by itself, a number of times
 2868     - some formatting
 2869 
 2870 Author: Larry Hynes <larry@larryhynes.com>
 2871 Date:   Fri Mar 24 17:54:58 2017 +0000
 2872 
 2873     Editing of man/prev.man.
 2874     
 2875     - Delete trailing whitespace
 2876 
 2877 Author: Larry Hynes <larry@larryhynes.com>
 2878 Date:   Fri Mar 24 17:52:22 2017 +0000
 2879 
 2880     Editing of man/post.man.
 2881     
 2882     - Delete trailing whitespace
 2883     - Change inline mh-profile(5) refs to .IR mh-profile (5)
 2884     - Some formatting
 2885     - Change take to read
 2886     - Say 'all message drafts' instead of 'all message draft'
 2887 
 2888 Author: Larry Hynes <larry@larryhynes.com>
 2889 Date:   Fri Mar 24 17:35:37 2017 +0000
 2890 
 2891     Editing of man/pick.man.
 2892     
 2893     - Some formatting
 2894     - Delete trailing whitespace
 2895     - Change complimentary to complementary, because English
 2896     - delete some \- things
 2897 
 2898 Author: Larry Hynes <larry@larryhynes.com>
 2899 Date:   Fri Mar 24 17:21:19 2017 +0000
 2900 
 2901     Editing of man/packf.man.
 2902 
 2903 Author: Larry Hynes <larry@larryhynes.com>
 2904 Date:   Fri Mar 24 17:08:00 2017 +0000
 2905 
 2906     Editing of man/next.man.
 2907     
 2908     - Delete trailing whitespace
 2909 
 2910 Author: Larry Hynes <larry@larryhynes.com>
 2911 Date:   Fri Mar 24 01:19:47 2017 +0000
 2912 
 2913     Editing of man/rcvtty.man.
 2914     
 2915     - Add missing 'command'
 2916     - Some formatting
 2917     - Remove a \-, the mark that dare not speak its name
 2918     - Use 'switches' instead of 'options'
 2919     - Sort SEE ALSO programs
 2920 
 2921 Author: Larry Hynes <larry@larryhynes.com>
 2922 Date:   Fri Mar 24 00:54:05 2017 +0000
 2923 
 2924     Editing of man/mhfixmsg.man.
 2925     
 2926     - 8bit -> 8-bit, nbit -> n-bit, except in flags and error msgs
 2927     - Add nmh to .SH NAME
 2928     - Formatting
 2929     - use .B for -outfile
 2930     - use .IR for mh-profile (5)
 2931     - sort SEE ALSO programs
 2932 
 2933 Author: Larry Hynes <larry@larryhynes.com>
 2934 Date:   Thu Mar 23 22:52:46 2017 +0000
 2935 
 2936     Editing of man/mhstore.man.
 2937     
 2938     - store -> stored
 2939     - some formatting
 2940 
 2941 Author: Larry Hynes <larry@larryhynes.com>
 2942 Date:   Thu Mar 23 22:08:44 2017 +0000
 2943 
 2944     Editing of man/mhshow.man.
 2945     
 2946     - Add some stray s's
 2947     - Some formatting
 2948     - Remove an \- object (I now pronounce \- as uh-unh; it's easier this way)
 2949     - Use alternative instead of alternate
 2950 
 2951 Author: Larry Hynes <larry@larryhynes.com>
 2952 Date:   Thu Mar 23 21:07:49 2017 +0000
 2953 
 2954     Editing of man/mhpath.man.
 2955     
 2956     - Add some commas
 2957     - Some formatting
 2958     - Delete empty .PP
 2959 
 2960 Author: Larry Hynes <larry@larryhynes.com>
 2961 Date:   Thu Mar 23 20:24:19 2017 +0000
 2962 
 2963     Editing of man/mhparam.man.
 2964     
 2965     - Add some commas
 2966     - Some formatting
 2967     - Delete 'just'
 2968 
 2969 Author: Larry Hynes <larry@larryhynes.com>
 2970 Date:   Thu Mar 23 20:11:10 2017 +0000
 2971 
 2972     Editing of man/mhmail.man.
 2973     
 2974     - Add reference to nmh in .SH NAME
 2975     - Delete empty .PP
 2976     - Remove a few 'various'es
 2977     - Some formatting
 2978     - SEE ALSO in alphabetical order
 2979 
 2980 Author: Larry Hynes <larry@larryhynes.com>
 2981 Date:   Thu Mar 23 18:12:46 2017 +0000
 2982 
 2983     Editing of man/mhlist.man.
 2984     
 2985     - Make clear that -headers is the default
 2986     - Some formatting
 2987 
 2988 Author: Larry Hynes <larry@larryhynes.com>
 2989 Date:   Thu Mar 23 17:31:12 2017 +0000
 2990 
 2991     Editing of man/mhl.man.
 2992     
 2993     - Refer to environment variables (in text) without preceding $
 2994     - Don't put environment variables in bold (as per most other pages)
 2995     - Some better formatting
 2996 
 2997 Author: Larry Hynes <larry@larryhynes.com>
 2998 Date:   Thu Mar 23 17:05:26 2017 +0000
 2999 
 3000     Editing of man/mhical.man.
 3001     
 3002     - Don't use capitalised .SH, when uncapitalised .SS will do
 3003     - Remove some early .SH/.SS to improve narrative
 3004     - Delete superfluous .fi
 3005     
 3006     It could be argued that each of the (now) .SSs, which have been
 3007     demoted from .SHs, are unnecessary or, at least, not in line with
 3008     the other man pages . Demotion may suffice, for now.
 3009 
 3010 Author: Larry Hynes <larry@larryhynes.com>
 3011 Date:   Thu Mar 23 14:15:46 2017 +0000
 3012 
 3013     Editing of man/mhbuild.man.
 3014     
 3015     - EDTIOR -> EDITOR
 3016     - remove some \- things
 3017     - formatting
 3018     - use 8-bit, like 7-bit
 3019 
 3020 Author: Larry Hynes <larry@larryhynes.com>
 3021 Date:   Thu Mar 23 01:49:06 2017 +0000
 3022 
 3023     Editing of man/mh-tailor.man.
 3024     
 3025     - Straighten up some formatting
 3026     - Don't escape hyphens unecessarily
 3027     - Pluralise message (so that outgoing messages...)
 3028 
 3029 Author: Larry Hynes <larry@larryhynes.com>
 3030 Date:   Thu Mar 23 01:29:20 2017 +0000
 3031 
 3032     Editing of man/mh-sequence.man.
 3033     
 3034     - Don't escape hyphens unecessarily
 3035     - Remove duplicate 'when' (when when)
 3036     - Straighten up some formatting
 3037     - Bring RFC reference into line (don't hyphenate)
 3038 
 3039 Author: Larry Hynes <larry@larryhynes.com>
 3040 Date:   Thu Mar 23 00:46:53 2017 +0000
 3041 
 3042     Editing of man/mh-profile.man.
 3043     
 3044     - Clean up some formatting
 3045     - Replace an .sp with a .PP
 3046     - Remove a couple of empty .PPs and .REs
 3047     - Make the good English, yes please
 3048 
 3049 Author: Larry Hynes <larry@larryhynes.com>
 3050 Date:   Wed Mar 22 22:57:13 2017 +0000
 3051 
 3052     Editing of man/mh-mime.man.
 3053     
 3054     - Clean up .SH NAME to one line without .IR nmh (7) on it
 3055     - Don't use escaped hyphens when not necessary
 3056     - Clean up some formatting
 3057     - Use 'Attach:' consistently (instead of 'Attach')
 3058 
 3059 Author: Larry Hynes <larry@larryhynes.com>
 3060 Date:   Tue Mar 21 22:56:39 2017 +0000
 3061 
 3062     Editing of man/mh-mail.man.
 3063     
 3064     I think we can rise above ourselves, and delete 'antiquated'.
 3065 
 3066 Author: Larry Hynes <larry@larryhynes.com>
 3067 Date:   Tue Mar 21 22:35:50 2017 +0000
 3068 
 3069     Editing of man/mh-folders.man.
 3070 
 3071 Author: Larry Hynes <larry@larryhynes.com>
 3072 Date:   Tue Mar 21 19:54:56 2017 +0000
 3073 
 3074     Editing of man/mh-draft.man.
 3075 
 3076 Author: Larry Hynes <larry@larryhynes.com>
 3077 Date:   Tue Mar 21 01:48:34 2017 +0000
 3078 
 3079     Editing of man/new.man.
 3080 
 3081 Author: Larry Hynes <larry@larryhynes.com>
 3082 Date:   Tue Mar 21 01:31:52 2017 +0000
 3083 
 3084     Mention `nmh' in man-page NAME section for apropos(1).
 3085 
 3086 Author: Larry Hynes <larry@larryhynes.com>
 3087 Date:   Sun Mar 19 23:40:59 2017 +0000
 3088 
 3089     Replace `maildrop' with `mail drop' in man pages.
 3090 
 3091 Author: Larry Hynes <larry@larryhynes.com>
 3092 Date:   Sun Mar 19 14:51:30 2017 +0000
 3093 
 3094     Review inc.man.
 3095     
 3096     First cut at a cleanup of inc.man, including: maildrop -> mail drop;
 3097     Ralph's mode/octal suggestion, with a change (by me) to refer to
 3098     chmod(1).
 3099 
 3100 Author: David Levine <levinedl@acm.org>
 3101 Date:   Sun Apr 2 09:26:17 2017 -0400
 3102 
 3103     Attempt to fix test-ap on fbsd-10 build host.
 3104 
 3105 Author: David Levine <levinedl@acm.org>
 3106 Date:   Sat Apr 1 18:53:26 2017 -0400
 3107 
 3108     Check for sufficient room for multi-column character.
 3109     
 3110     Fix to commit 92128dacf8d5db02379e8f872dc50d31c6aaa55f.  The sympton,
 3111     reported by Valdis, was overrun of scan -width.
 3112 
 3113 Author: David Levine <levinedl@acm.org>
 3114 Date:   Sat Mar 25 07:47:53 2017 -0400
 3115 
 3116     Escaped repl, in case the user has it as a shell alias.
 3117 
 3118 Author: David Levine <levinedl@acm.org>
 3119 Date:   Sat Mar 25 07:46:45 2017 -0400
 3120 
 3121     Added etc/rmmproc.messageid.
 3122 
 3123 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3124 Date:   Wed Mar 22 14:47:18 2017 +0000
 3125 
 3126     Fix free(3) of unmalloc()'d string in whatnow's refile.
 3127     
 3128     `ref +foo' at comp(1)'s whatnow prompt was trying to free "+foo".
 3129     Take a copy of the string so the later free works.
 3130     Tom Rodman reported the problem to nmh-workers.
 3131     Bug introduced in 3b6be5607a251a3a793e97382e251ce66ea2bca0.
 3132 
 3133 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3134 Date:   Wed Mar 22 10:51:34 2017 +0000
 3135 
 3136     Work around flex 2.6.3 bug by conditionally #undef yywrap.
 3137     
 3138     There's no sign on https://github.com/westes/flex/issues/162 that they
 3139     will release a new flex with the fix soon.
 3140 
 3141 Author: Larry Hynes <larry@larryhynes.com>
 3142 Date:   Tue Mar 21 12:49:12 2017 -0400
 3143 
 3144     Cleanup of .SH NAME sections.
 3145 
 3146 Author: Larry Hynes <larry@larryhynes.com>
 3147 Date:   Sat Mar 18 13:49:06 2017 +0000
 3148 
 3149     Fixed forw.man to pass test-manpages.
 3150 
 3151 Author: David Levine <levinedl@acm.org>
 3152 Date:   Sat Mar 18 16:53:15 2017 -0400
 3153 
 3154     Added test case for commit 4318012376e06229307c0ed4f62a00faae9edc63.
 3155 
 3156 Author: David Levine <levinedl@acm.org>
 3157 Date:   Sat Mar 18 09:49:31 2017 -0400
 3158 
 3159     Don't let parse_mime() try to parse a directory.
 3160 
 3161 Author: Larry Hynes <larry@larryhynes.com>
 3162 Date:   Fri Mar 17 12:36:06 2017 -0400
 3163 
 3164     Cleanup to forw(1) man page.
 3165 
 3166 Author: David Levine <levinedl@acm.org>
 3167 Date:   Sun Feb 26 22:50:42 2017 -0500
 3168 
 3169     Added /* FALLTHRU */ comments where gcc 7 noticed their need.
 3170     
 3171     And replaced similar comments to be consistent.  Used that comment
 3172     because it satisfies gcc -Wimplicit-fallthrough=4.
 3173 
 3174 Author: David Levine <levinedl@acm.org>
 3175 Date:   Sun Feb 26 14:07:38 2017 -0500
 3176 
 3177     Separate out backquote expression to please Heirloom shell.
 3178 
 3179 Author: David Levine <levinedl@acm.org>
 3180 Date:   Sun Feb 26 13:41:34 2017 -0500
 3181 
 3182     Tweaked to work with Heirloom shell.
 3183     
 3184     Shell parameter expansion ending in space needs it to be quoted.
 3185 
 3186 Author: David Levine <dlevine@akamai.com>
 3187 Date:   Tue Feb 21 10:31:57 2017 -0500
 3188 
 3189     Echo CFLAGS in configure line, and only include if set.
 3190 
 3191 Author: Ken Hornstein <kenh@pobox.com>
 3192 Date:   Sun Feb 19 17:05:12 2017 -0500
 3193 
 3194     Change "servers" mts.conf entry to only support a single SMTP server.
 3195     As part of this change, fix SMTP code so the chosen SMTP server is
 3196     configured correctly for the netsec code.
 3197 
 3198 Author: David Levine <dlevine@akamai.com>
 3199 Date:   Sun Feb 19 14:05:25 2017 -0500
 3200 
 3201     Reworked handling of multiple, space separated, smtp servers.
 3202 
 3203 Author: David Levine <dlevine@akamai.com>
 3204 Date:   Sun Feb 19 14:00:04 2017 -0500
 3205 
 3206     Suppress getcanon exit status check.
 3207     
 3208     To allow tests to run when the local hostname doesn't resolve.
 3209 
 3210 Author: David Levine <dlevine@akamai.com>
 3211 Date:   Sun Feb 19 13:58:20 2017 -0500
 3212 
 3213     Support mhparam -debug along with -all.
 3214     
 3215     Fix to commit 234c9cc4829d86589a079ace49cfa5bc251ef62c.
 3216 
 3217 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3218 Date:   Sat Feb 18 14:47:56 2017 +0000
 3219 
 3220     Limit mhparam's exit status to 120 missing components.
 3221     
 3222     Otherwise, 126 and 127 would clash with bash and zsh's use.
 3223     Higher than 127 would look like signals.  And 256 would wrap
 3224     to a falsely succesful zero.
 3225 
 3226 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3227 Date:   Tue Jan 17 12:54:02 2017 +0000
 3228 
 3229     mhfixmsg: Use folder name to open second message of a sequence.
 3230     
 3231     `mhfixmsg foo' where foo was sequence of more than one message would
 3232     sucessfully process the lowest numbered message of the sequence, but
 3233     fail to open(2) the second one as the folder was missing from the path.
 3234     For example, /home/ralph/mail/inbox/1 was used to open the first, but
 3235     /home/ralph/mail/2 was attempted for the second.  I guess this was
 3236     because a static array was being trampled during the first's processing,
 3237     though didn't try too hard to find where.  Making a copy of it fixed the
 3238     problem.
 3239 
 3240 Author: David Levine <levinedl@acm.org>
 3241 Date:   Sat Jan 14 10:57:09 2017 -0500
 3242 
 3243     Remove unused test file.
 3244 
 3245 Author: David Levine <levinedl@acm.org>
 3246 Date:   Sat Jan 14 10:51:40 2017 -0500
 3247 
 3248     Added delay for output file to be closed.
 3249 
 3250 Author: David Levine <levinedl@acm.org>
 3251 Date:   Sat Jan 14 10:16:22 2017 -0500
 3252 
 3253     Fixed references to --with-cyrus-sasl, and --without-, in comments.
 3254 
 3255 Author: Ken Hornstein <kenh@pobox.com>
 3256 Date:   Wed Jan 11 21:37:52 2017 -0500
 3257 
 3258     Make sure we always generate a Content-ID header for message/external-body
 3259     entities, as required by RFC 2045.
 3260 
 3261 Author: David Levine <levinedl@acm.org>
 3262 Date:   Wed Jan 11 21:32:20 2017 -0500
 3263 
 3264     Fixed permissions on test script.
 3265     
 3266     Fix to commit 77fff244ad1bb1e746c78bedc87659400e2c6535.
 3267 
 3268 Author: David Levine <levinedl@acm.org>
 3269 Date:   Wed Jan 11 20:53:41 2017 -0500
 3270 
 3271     Rearranged check for whether to skip param value checks so
 3272     that no files are left over.
 3273     
 3274     Update of commit 2cf4ff9dd2fba77c7f98bbd706b00d2e79a11a3b.
 3275 
 3276 Author: David Levine <levinedl@acm.org>
 3277 Date:   Wed Jan 11 20:49:12 2017 -0500
 3278 
 3279     Added valgrind suppressions for system libs on MacOS El Capitan.
 3280 
 3281 Author: David Levine <levinedl@acm.org>
 3282 Date:   Sat Jan 7 18:54:40 2017 -0500
 3283 
 3284     Fixed commit 60052b95778a065760a437859ee9b8a1cc4e39a9, wrong sense.
 3285 
 3286 Author: David Levine <levinedl@acm.org>
 3287 Date:   Sat Jan 7 18:00:05 2017 -0500
 3288 
 3289     Removed if ! bash-ism.
 3290 
 3291 Author: David Levine <levinedl@acm.org>
 3292 Date:   Sat Jan 7 17:38:27 2017 -0500
 3293 
 3294     Fixed a couple of tests to not fail when there is no text browser.
 3295 
 3296 Author: David Levine <levinedl@acm.org>
 3297 Date:   Sat Jan 7 17:37:52 2017 -0500
 3298 
 3299     Added missing AC_SUBST of AM_LDFLAGS.
 3300 
 3301 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3302 Date:   Sat Dec 10 23:55:50 2016 +0000
 3303 
 3304     crawl_context: Remove unused struct member `total'.
 3305     
 3306     It was maintained inconsistently, and checking what problems that caused
 3307     showed it wasn't used.
 3308 
 3309 Author: Larry Hynes <larry@larryhynes.com>
 3310 Date:   Sun Jan 1 23:15:56 2017 +0000
 3311 
 3312     Changes to folder.man
 3313     
 3314     Kill a couple of empty .PPs, resurrect a lost .SS, a little bit
 3315     of slash and burn, stray whitespace, the usual.
 3316     
 3317     As far as I know, which is not far, the \- construct is only
 3318     required for \-args, not, e.g., sub\-folder.
 3319     
 3320     I've changed instances of 'subfolder' to sub-folder.
 3321     
 3322     I've changed the 'the' in
 3323     
 3324     	These folders are all preceded by the read-only...
 3325     
 3326     to 'any'.
 3327 
 3328 Author: Larry Hynes <larry@larryhynes.com>
 3329 Date:   Sat Dec 31 17:57:13 2016 +0000
 3330 
 3331     Changes to install-mh.man
 3332     
 3333     Some more simple wordsmithing...
 3334     
 3335     Change instances of 'Install-mh' to 'install-mh', in line with
 3336     other pages, switch to single `' around 'Mail', in line with
 3337     other pages, option -> switch, clean up a little.
 3338 
 3339 Author: Larry Hynes <larry@larryhynes.com>
 3340 Date:   Sat Dec 31 15:57:42 2016 +0000
 3341 
 3342     A cleanup, and possibly some controversy: I've replaced
 3343     
 3344     	Rather than standard message skeleton
 3345     
 3346     with
 3347     
 3348     	User message skeleton
 3349     
 3350     My thinking here is that a) we can do away with the kinda weird
 3351     'Rather than', b) I find the distinction between 'default' and
 3352     'standard' to be vague and c) it only appears in a few pages
 3353     and is easily remedied. It turns up in comp(1) as "An alternative
 3354     to the standard skeleton.", where 'standard' is used in the same
 3355     way as 'default' is used in rcvdist(1), so I think it's worth
 3356     settling on something 'better' and applying it consistently.
 3357     
 3358     My proposal is 'Default foo', for the foo in %nmhetcdir% and
 3359     'User foo' for the foo in the user's <mh-dir>.
 3360 
 3361 Author: Larry Hynes <larry@larryhynes.com>
 3362 Date:   Sat Dec 31 15:54:55 2016 +0000
 3363 
 3364     Fix skeletons in comp(1), forw(1) and dist(1)
 3365     
 3366     While I was here, I removed two 'empty' paragraphs (.PP) in forw(1).
 3367     They may have been intended as line breaks, but I think they are
 3368     unnecessary; feel free to overrule me!
 3369     
 3370     Aside: I would not be unhappy if, some day, 'skeleton' was replaced by
 3371     something utilitarian like 'template'.
 3372 
 3373 Author: David Levine <levinedl@acm.org>
 3374 Date:   Sat Dec 31 09:30:07 2016 -0500
 3375 
 3376     Remove .w3m from test directory.
 3377 
 3378 Author: David Levine <levinedl@acm.org>
 3379 Date:   Sat Dec 31 09:22:19 2016 -0500
 3380 
 3381     Reverted commit 316068ee3b7105ea802c63b732ee4cfb584a2600.
 3382     
 3383     It was a repeat of commit 30a9c9b62fa92df289079080eb5ee57d2fda3951.
 3384     Also, wrapped a few $MH_TEST_DIR with quotes.
 3385 
 3386 Author: Larry Hynes <larry@larryhynes.com>
 3387 Date:   Thu Dec 29 21:47:21 2016 -0500
 3388 
 3389     Clean up, and change .SS case to Title Case, from UPPER,
 3390     in line with other pages.
 3391 
 3392 Author: Larry Hynes <larry@larryhynes.com>
 3393 Date:   Fri Dec 23 16:29:36 2016 +0000
 3394 
 3395     Changes to rcvpack.man
 3396 
 3397 Author: Ken Hornstein <kenh@pobox.com>
 3398 Date:   Wed Dec 21 15:38:11 2016 -0500
 3399 
 3400     Make the -fcc switch to repl actually work properly, and make sure that
 3401     any Fcc header in a replied-to message is not carried over to the draft.
 3402 
 3403 Author: Larry Hynes <larry@larryhynes.com>
 3404 Date:   Wed Dec 21 16:58:51 2016 +0000
 3405 
 3406     Changes to fmtdump.man
 3407     
 3408     Add a reference to fmttest(1), delete a superfluous 'the',
 3409     delete the '...is simply...' line.
 3410 
 3411 Author: David Levine <levinedl@acm.org>
 3412 Date:   Tue Dec 20 11:49:20 2016 -0500
 3413 
 3414     Added check of -fcc with no fcc in components.
 3415 
 3416 Author: David Levine <levinedl@acm.org>
 3417 Date:   Tue Dec 20 11:48:27 2016 -0500
 3418 
 3419     Protect repl -file against dereference of null mp.
 3420 
 3421 Author: David Levine <levinedl@acm.org>
 3422 Date:   Mon Dec 19 11:20:54 2016 -0500
 3423 
 3424     Removed #ifdef FT_PAUSE protection.
 3425     
 3426     FT_PAUSE is unconditionally defined in h/fmt_compile.h.
 3427 
 3428 Author: David Levine <levinedl@acm.org>
 3429 Date:   Mon Dec 19 11:18:38 2016 -0500
 3430 
 3431     Removed unused references to FT_ADDTOSEQ.
 3432     
 3433     They were #ifdef LBL relics.
 3434 
 3435 Author: Larry Hynes <larry@larryhynes.com>
 3436 Date:   Mon Dec 19 01:17:10 2016 +0000
 3437 
 3438     Changes to mh-format.man
 3439     
 3440     This is a beast, and we may not tame it at the first attempt.
 3441     
 3442     Mostly language simplification, some grammar and formatting, trailing
 3443     whitespace, that sort of thing. There are one or two instances where
 3444     I've taken (small) liberties with language, in favour of 'comprehension
 3445     at first glance'.
 3446     
 3447     There are some commented lines hanging around in this. I've left
 3448     them in, but I think they should go at the first opportunity.
 3449 
 3450 Author: David Levine <levinedl@acm.org>
 3451 Date:   Mon Dec 19 11:11:27 2016 -0500
 3452 
 3453     Removed obsolete comment about use of getcpy().
 3454 
 3455 Author: Larry Hynes <larry@larryhynes.com>
 3456 Date:   Sat Dec 17 19:28:30 2016 +0000
 3457 
 3458     Changes to dist.man
 3459     
 3460     Switch 'in place' for inplace, remove 'in truth of fact'.
 3461 
 3462 Author: Larry Hynes <larry@larryhynes.com>
 3463 Date:   Sat Dec 17 19:28:31 2016 +0000
 3464 
 3465     Changes to flist.man
 3466     
 3467     Replace 'option' with 'switch' in a couple of places, correct
 3468     (hopefully) a few sentences, restore '.SS "Multiple Folders" to its
 3469     rightful place.
 3470 
 3471 Author: Larry Hynes <larry@larryhynes.com>
 3472 Date:   Fri Dec 16 22:55:39 2016 +0000
 3473 
 3474     Changes to comp.man
 3475     
 3476     Remove the slightly legalistic 'in truth of fact', and bring the
 3477     mention of man whatnow into the preceding sentence.
 3478     
 3479     The line 'If the draft already exists, comp will ask you as to the
 3480     disposition of the draft.' makes no sense to me, and I'm struggling
 3481     to make it make sense. If we put to one side the fact that I think
 3482     it's a broken sentence, I still haven't managed to get comp to
 3483     accept - or prompt me for - a 'replace' option when 'the draft
 3484     already exists', so I'm afraid I have to admit defeat here and seek
 3485     the wisdom of the elders.
 3486 
 3487 Author: Larry Hynes <larry@larryhynes.com>
 3488 Date:   Thu Dec 15 21:57:35 2016 +0000
 3489 
 3490     Changes to burst.man
 3491     
 3492     I'm not sure how relevant burst(1) is these days, but here goes...
 3493 
 3494 Author: David Levine <levinedl@acm.org>
 3495 Date:   Thu Dec 15 17:44:56 2016 -0500
 3496 
 3497     Added clarifications to abbreviations.
 3498     
 3499     1) N must be a positive number.
 3500     2) The + can be omitted.
 3501     3) As many of the N messages that exist.
 3502     4) Can also use - (or +) with first, prev, next, and last.
 3503 
 3504 Author: Larry Hynes <larry@larryhynes.com>
 3505 Date:   Thu Dec 15 18:33:15 2016 +0000
 3506 
 3507     Changes to nmh.man
 3508     
 3509     This adds a reference to the 'COMMANDS' section, corrects - and
 3510     hopefully simplifies - a couple of things, and tries to untangle
 3511     the line beginning 'show displays...' in the seventh paragraph.
 3512     
 3513     The line 'The first, previous, next or last messages, if they exist.'
 3514     doesn't seem to accurately cover the accompanying 'foo:N' listing
 3515     in the following, or am I missing something?
 3516     
 3517     first:N
 3518     prev:N
 3519     next:N
 3520     last:N    The first, previous, next or last messages, if they exist.
 3521 
 3522 Author: Larry Hynes <larry@larryhynes.com>
 3523 Date:   Tue Dec 13 20:14:11 2016 +0000
 3524 
 3525     Changes to ali.man
 3526     
 3527     The following is the beginning of an attempt to clean up the manual
 3528     pages somewhat.
 3529     
 3530     grep tells me that 'switch' is used 193 times, whereas 'option' is
 3531     only used 51 times, so I've tried to standardise on 'switch'.
 3532 
 3533 Author: David Levine <levinedl@acm.org>
 3534 Date:   Tue Dec 13 16:06:38 2016 -0500
 3535 
 3536     Fixed description of anno -list switch.
 3537     
 3538     As noted in commit 98c2e7d95bda262ef23e8f0838e5b86d08ed4e4f.
 3539     If -text is used with -list, its argument is required but
 3540     ignored.
 3541 
 3542 Author: Larry Hynes <larry@larryhynes.com>
 3543 Date:   Tue Dec 13 20:14:11 2016 +0000
 3544 
 3545     Changes to anno.man.
 3546     
 3547     (Also noted that description of -list needs to be fixed, will
 3548     do in next commit.)
 3549 
 3550 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3551 Date:   Sat Dec 10 14:51:06 2016 +0000
 3552 
 3553     showbuildenv: Add comment describing exit-status convention.
 3554     
 3555     It helps explain why some commands are `... || true' despite no `set -e'
 3556     being in effect.
 3557 
 3558 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3559 Date:   Sat Dec 10 14:48:19 2016 +0000
 3560 
 3561     Revert "Test if the buildbots care about tools/showbuildenv's exit status."
 3562     
 3563     This reverts commit c92a4119fca5d677055dc616255a7d1efec9d750.
 3564     They do care, showing "environment failed".
 3565 
 3566 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3567 Date:   Sat Dec 10 14:46:04 2016 +0000
 3568 
 3569     Rename recently added ToUpper() to to_upper().
 3570 
 3571 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3572 Date:   Sat Dec 10 14:45:00 2016 +0000
 3573 
 3574     Rename recently added ToLower() to to_lower().
 3575 
 3576 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3577 Date:   Sat Dec 10 14:43:59 2016 +0000
 3578 
 3579     Rename recently added TrimSuffixC() to trim_suffix_c().
 3580 
 3581 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3582 Date:   Sat Dec 10 14:42:47 2016 +0000
 3583 
 3584     Rename recently added HasSuffixC() to has_suffix_c().
 3585 
 3586 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3587 Date:   Sat Dec 10 14:39:21 2016 +0000
 3588 
 3589     Rename recently added HasSuffix() to has_suffix().
 3590 
 3591 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3592 Date:   Sat Dec 10 14:36:43 2016 +0000
 3593 
 3594     Rename recently added HasPrefix() to has_prefix().
 3595     
 3596     Sticking with local convention, as Ken requested.
 3597 
 3598 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3599 Date:   Sat Dec 10 14:24:27 2016 +0000
 3600 
 3601     Test if the buildbots care about tools/showbuildenv's exit status.
 3602 
 3603 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3604 Date:   Sat Dec 10 14:19:43 2016 +0000
 3605 
 3606     Document that adios() does not return.  abort() ensures it won't.
 3607     
 3608     Discussion with David confirmed that adios()'s de facto contract with
 3609     the caller is that it won't return.  Document that, and add an abort(3)
 3610     to ensure it won't occur.  Better that than return and blunder on until
 3611     a SEGV or corruption later.
 3612 
 3613 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3614 Date:   Sat Dec 10 14:11:13 2016 +0000
 3615 
 3616     mhlsbr.c: Don't hide mhladios and mhldone behind macros.
 3617     
 3618     Locally defined mhladios() and mhldone() were called as adios() and
 3619     done() thanks to #defines that hid the widely-used functions with those
 3620     names.  Don't bother as it confuses the reader.  Just call the local
 3621     variations directly to make clear it's not the standard implementation.
 3622 
 3623 Author: David Levine <levinedl@acm.org>
 3624 Date:   Fri Dec 9 09:34:59 2016 -0500
 3625 
 3626     Generalized condition for support of parameter value tests.
 3627 
 3628 Author: David Levine <levinedl@acm.org>
 3629 Date:   Thu Dec 8 21:04:52 2016 -0500
 3630 
 3631     One last fix to test-charset.
 3632 
 3633 Author: David Levine <levinedl@acm.org>
 3634 Date:   Thu Dec 8 20:53:36 2016 -0500
 3635 
 3636     Fixed condition to enable skipping parameter value tests.
 3637 
 3638 Author: David Levine <levinedl@acm.org>
 3639 Date:   Thu Dec 8 20:45:57 2016 -0500
 3640 
 3641     And skip the other parameter value test on the FreeBSD10 buildbot.
 3642 
 3643 Author: David Levine <levinedl@acm.org>
 3644 Date:   Thu Dec 8 20:18:14 2016 -0500
 3645 
 3646     That didnt work, so skip Encoded parameter value test on that buildbot.
 3647 
 3648 Author: David Levine <levinedl@acm.org>
 3649 Date:   Thu Dec 8 20:03:28 2016 -0500
 3650 
 3651     Use locale that the FreeBSD10 buildbot has.
 3652     
 3653     It has EBCDIC-UK but not EBCDIC-US.
 3654 
 3655 Author: David Levine <levinedl@acm.org>
 3656 Date:   Thu Dec 8 19:51:25 2016 -0500
 3657 
 3658     Added temporary debug code.
 3659 
 3660 Author: David Levine <levinedl@acm.org>
 3661 Date:   Thu Dec 8 19:37:40 2016 -0500
 3662 
 3663     Try to fix Encoded parameter value test on FreeBSD10 buildbot.
 3664 
 3665 Author: David Levine <levinedl@acm.org>
 3666 Date:   Thu Dec 8 16:27:40 2016 -0500
 3667 
 3668     Replaced !iscntrl() with isprint().
 3669     
 3670     To address Ralph's FIXME comment.  One example where a byte would
 3671     have been printed with !iscntrl() is 0x24 is ISO 646 BASIC (Inv),
 3672     which is undefined.  Also, added test cases to cover most of
 3673     get_param_value().  Also, replaced a couple of other FIXME's with
 3674     code comments.
 3675 
 3676 Author: David Levine <levinedl@acm.org>
 3677 Date:   Mon Dec 5 11:50:40 2016 -0500
 3678 
 3679     Fixed and restored commit 9a4b4a3d3b27fe4a7ff6d0b8724ce1c06b5917eb.
 3680     
 3681     Using AC_CHECK_MEMBERS instead of AC_CHECK_MEMBER.  I don't know why
 3682     the former works but the latter doesn't.
 3683 
 3684 Author: David Levine <levinedl@acm.org>
 3685 Date:   Sun Dec 4 17:13:09 2016 -0500
 3686 
 3687     Reverted commit 9a4b4a3d3b27fe4a7ff6d0b8724ce1c06b5917eb.
 3688     
 3689     It broke the build on the FreeBSD 10 buildbot, not sure why.
 3690 
 3691 Author: David Levine <levinedl@acm.org>
 3692 Date:   Sun Dec 4 17:02:13 2016 -0500
 3693 
 3694     Enabled detection of tm_gmtoff on _GNU_SOURCE platforms, e.g., Linux.
 3695     
 3696     By temporarily adding $AM_CPPFLAGS to CPPFLAGS.
 3697 
 3698 Author: David Levine <levinedl@acm.org>
 3699 Date:   Sat Dec 3 12:03:53 2016 -0500
 3700 
 3701     Added filename completion to bash_completion_nmh.
 3702 
 3703 Author: David Levine <levinedl@acm.org>
 3704 Date:   Fri Nov 25 09:02:08 2016 -0500
 3705 
 3706     Close temp file.
 3707 
 3708 Author: David Levine <levinedl@acm.org>
 3709 Date:   Wed Nov 23 10:05:38 2016 -0500
 3710 
 3711     Added flex 2.6.0 (with Fedora 25) output fixup.
 3712 
 3713 Author: David Levine <levinedl@acm.org>
 3714 Date:   Sun Nov 20 14:25:11 2016 -0500
 3715 
 3716     Open infile before fixing each message.
 3717     
 3718     Though the input file won't need to be opened if everything goes
 3719     well, do it early just in case there's a failure, and that failure
 3720     is running out of file descriptors.
 3721 
 3722 Author: Larry Hynes <larry@larryhines.com>
 3723 Date:   Sun Nov 20 10:32:40 2016 -0500
 3724 
 3725     Fix nmh man page so it shows correct name of profile.
 3726 
 3727 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3728 Date:   Mon Nov 14 00:14:31 2016 +0000
 3729 
 3730     mhstoresbr.c: Factor MIME-parameter-can-be-used-for-filename test.
 3731     
 3732     It was several lines repeated each time, and it saves having to check
 3733     they're all identical.  The original test pressed on if the MIME
 3734     parameter's value was an empty string;  preserve that as it's spotted
 3735     later on.
 3736 
 3737 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3738 Date:   Sun Nov 13 23:05:37 2016 +0000
 3739 
 3740     Split a few more if-then statements into two lines to help gcov.
 3741     
 3742     It's interesting to see how often some of them have the then-branch
 3743     taken.
 3744 
 3745 Author: David Levine <levinedl@acm.org>
 3746 Date:   Sat Nov 19 10:37:06 2016 -0500
 3747 
 3748     Open outfile before parsing message(s).
 3749     
 3750     So that we don't have to risk opening it after running out of fds.
 3751 
 3752 Author: David Levine <levinedl@acm.org>
 3753 Date:   Sat Nov 19 10:28:08 2016 -0500
 3754 
 3755     Added application/ics entries, and "file was generated" comment.
 3756     
 3757     application/ics is odd but does appear in the wild, and sometimes
 3758     without a corresponding text/calendar part.
 3759 
 3760 Author: David Levine <levinedl@acm.org>
 3761 Date:   Sat Nov 19 10:24:43 2016 -0500
 3762 
 3763     Added mhshow-suffix-text entry.
 3764     
 3765     I don't know why it wasn't there already, it's in the mhshow
 3766     man page.
 3767 
 3768 Author: David Levine <levinedl@acm.org>
 3769 Date:   Sun Nov 13 19:40:53 2016 -0500
 3770 
 3771     Tweaked to work with Heirloom shell.
 3772 
 3773 Author: David Levine <levinedl@acm.org>
 3774 Date:   Sun Nov 13 17:56:44 2016 -0500
 3775 
 3776     Removed bash-ism "function" declaration.
 3777 
 3778 Author: David Levine <levinedl@acm.org>
 3779 Date:   Sun Nov 13 14:50:08 2016 -0500
 3780 
 3781     Replaced docs/COMPLETION-BASH with etc/bash_completions_nmh.
 3782     
 3783     It's generated from man/mh-chart.man, which in turn is generated.
 3784     Automake doesn't like generated files in docs, hence the move to
 3785     etc.  And the new filename better fits usage, I think.
 3786     
 3787     Did not provide support for completing message numbers.  It can
 3788     be fooled by programs that take multiple switches with +
 3789     arguments.
 3790     
 3791     COMPLETION-BASH was broken with current bash, anyway.
 3792     
 3793     Also, removed sbr/sigmsg.h from CLEANFILES in Makefile.am.  It
 3794     was a leftover from commit 5776f9b783afe8e6bdbe430adb5d5b9435d25b19.
 3795 
 3796 Author: David Levine <levinedl@acm.org>
 3797 Date:   Sun Nov 13 09:39:01 2016 -0500
 3798 
 3799     Added copyright noticed.
 3800 
 3801 Author: David Levine <levinedl@acm.org>
 3802 Date:   Sun Nov 13 09:38:24 2016 -0500
 3803 
 3804     Removed unused declaration of output_message().
 3805 
 3806 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3807 Date:   Sun Nov 13 01:05:09 2016 +0000
 3808 
 3809     Replace many add(s, NULL) with mh_xstrdup(s).
 3810     
 3811     Where s is known to be non-NULL.
 3812 
 3813 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3814 Date:   Sat Nov 12 18:48:20 2016 +0000
 3815 
 3816     Replace some add(FIELD, NULL) with mh_xstrdup(FIELD).
 3817     
 3818     The various FIELD are macros for string constants so can not be NULL.
 3819 
 3820 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3821 Date:   Sat Nov 12 18:40:46 2016 +0000
 3822 
 3823     m_getfld: Shuffle `delim' assignments slightly.
 3824     
 3825     Document end state of the four pointers to parts of the delimiter.
 3826     fdelimlen can be, wrongly, one less without causing problems because a
 3827     second check uses edelimlen.  The only side effect is an extra iteration
 3828     through m_getfld().
 3829 
 3830 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3831 Date:   Sat Nov 12 15:35:35 2016 +0000
 3832 
 3833     Revert "m_getfld: Shorten fdelimlen by one;  it was too long."
 3834     
 3835     This reverts commit 36a12f6a1a5a57799e48b23fd5ae47fe2351be68.
 3836     
 3837     I think it was right after all, but currently trying to get a test to
 3838     fail with the faulty change.
 3839 
 3840 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3841 Date:   Sat Nov 12 00:55:17 2016 +0000
 3842 
 3843     Replace copy(s, d) with POSIX-1.2008's stpcpy(d, s).
 3844 
 3845 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3846 Date:   Sat Nov 12 00:39:23 2016 +0000
 3847 
 3848     m_getfld: Replace matchc() with memmem(3).
 3849     
 3850     libc is more likely to find one lump of memory inside another quicker
 3851     than a home-grown quadratic emulation of the VAX's MATCHC instruction.
 3852     memmem() isn't POSIX, but exists on Linux and FreeBSD.  This will see if
 3853     the buildbot is happy.
 3854 
 3855 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3856 Date:   Sat Nov 12 00:31:36 2016 +0000
 3857 
 3858     m_getfld: Remove never-true test in matchc().
 3859     
 3860     Now the fdelimlen doesn't include the NUL it is never true.  I didn't
 3861     understand how it could ever be true but gcov on the test suite was
 3862     showing 22e6 tests had three positives;  that's what put me on to
 3863     fdelimlen's overshoot.
 3864 
 3865 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3866 Date:   Fri Nov 11 23:23:11 2016 +0000
 3867 
 3868     m_getfld: Shorten fdelimlen by one;  it was too long.
 3869     
 3870     The fdelimlen bytes starting at fdelim included a NUL at the end, e.g. 7
 3871     for "\nFrom \0".  Other code seems not to expect this and has
 3872     conditional bits to work around it, perhaps without understanding why.
 3873     All the tests still pass, including with valgrind.
 3874 
 3875 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3876 Date:   Fri Nov 11 21:25:39 2016 +0000
 3877 
 3878     configure.ac: Add FIXME regarding _BSD_SOURCE for tm.tm_gmtoff test.
 3879 
 3880 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3881 Date:   Fri Nov 11 00:38:29 2016 +0000
 3882 
 3883     dlocaltime(): Only call tzset(3) once.
 3884     
 3885     This avoids the stat(2) of /etc/localtime per message scan if TZ isn't
 3886     set in the environment;  that's the default case on this Linux system.
 3887     I can't see a way the TZ environment variable is likely to change
 3888     between messages, or that it's intended an invocation of scan(1), say,
 3889     copes with the timezone shifting underneath it by /etc/localtime being
 3890     changed.
 3891 
 3892 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3893 Date:   Thu Nov 10 22:44:59 2016 +0000
 3894 
 3895     uip/scansbr.c: Use fputs(3) instead of mh_fputs().
 3896     
 3897     I can't see any reason a local one exists.  It loops, calling putc(3).
 3898     The stdlib has the opportunity to be more efficient.
 3899 
 3900 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3901 Date:   Thu Nov 10 21:39:40 2016 +0000
 3902 
 3903     Add test-forw-coverage to improve uip/forw.c's coverage.
 3904 
 3905 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3906 Date:   Wed Nov 9 04:50:01 2016 +0000
 3907 
 3908     test-mhl-flags: Improve coverage of uip/mhlsbr.c.
 3909 
 3910 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3911 Date:   Wed Nov 9 03:02:02 2016 +0000
 3912 
 3913     test-fmtdump: Increase uip/fmtdump.c coverage.
 3914 
 3915 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3916 Date:   Tue Nov 8 23:55:13 2016 +0000
 3917 
 3918     test-flist: Increase coverage on argv[] processing.
 3919 
 3920 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3921 Date:   Tue Nov 8 23:32:23 2016 +0000
 3922 
 3923     Add test/format/test-ap to get 100% uip/ap.c coverage.
 3924 
 3925 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3926 Date:   Thu Nov 3 10:23:31 2016 +0000
 3927 
 3928     uip/dp.c: Increase coverage to 100%.
 3929 
 3930 Author: David Levine <levinedl@acm.org>
 3931 Date:   Tue Nov 8 08:25:50 2016 -0500
 3932 
 3933     Replaced add(s, NULL) with mh_xstrdup(s).
 3934 
 3935 Author: David Levine <levinedl@acm.org>
 3936 Date:   Tue Nov 8 08:16:24 2016 -0500
 3937 
 3938     Removed unused global from MIME parser.
 3939 
 3940 Author: David Levine <levinedl@acm.org>
 3941 Date:   Mon Nov 7 21:01:31 2016 -0500
 3942 
 3943     Initialize mhparse global for each message.
 3944     
 3945     Globals are evil.  It's tricky to test, so no test was added.
 3946     Just cleaned up test-mhfixmsg.
 3947 
 3948 Author: David Levine <levinedl@acm.org>
 3949 Date:   Mon Nov 7 16:43:01 2016 -0500
 3950 
 3951     Forgot to commit test-mhbuild.  And thank Tom Lane for reporting bug.
 3952     
 3953     Update to commit 6c359ae82651d117af71c55ce1e56f3c5db18bfe.
 3954 
 3955 Author: David Levine <levinedl@acm.org>
 3956 Date:   Mon Nov 7 16:28:14 2016 -0500
 3957 
 3958     Don't parse parse # lines with mhbuild -nodirectives.
 3959 
 3960 Author: David Levine <levinedl@acm.org>
 3961 Date:   Sun Nov 6 17:41:01 2016 -0500
 3962 
 3963     Plugged remaining mhfixmsg(1) memory leaks.
 3964 
 3965 Author: David Levine <levinedl@acm.org>
 3966 Date:   Sun Nov 6 17:39:13 2016 -0500
 3967 
 3968     Made static char strings const.
 3969 
 3970 Author: David Levine <levinedl@acm.org>
 3971 Date:   Sun Nov 6 16:48:40 2016 -0500
 3972 
 3973     Plug memory leak with parameter continuations.
 3974 
 3975 Author: David Levine <levinedl@acm.org>
 3976 Date:   Sun Nov 6 16:46:42 2016 -0500
 3977 
 3978     Free c_ctparams for all content types, not just text.
 3979 
 3980 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3981 Date:   Thu Nov 3 10:41:50 2016 +0000
 3982 
 3983     uip/ap, uip/dp: Remove unneeded char **arguments.
 3984 
 3985 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3986 Date:   Wed Nov 2 23:25:14 2016 +0000
 3987 
 3988     dp: Fix write past end of dates[] array.
 3989     
 3990     Not spotted by valgrind because that doesn't check heap or stack arrays.
 3991 
 3992 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 3993 Date:   Thu Nov 3 10:36:30 2016 +0000
 3994 
 3995     ap: Fix write past end of addrs[] array.
 3996     
 3997     Not spotted by valgrind because that doesn't check heap or stack arrays.
 3998 
 3999 Author: David Levine <levinedl@acm.org>
 4000 Date:   Sat Nov 5 09:49:59 2016 -0400
 4001 
 4002     Just show relevant portion of invalid encoded string.
 4003 
 4004 Author: David Levine <levinedl@acm.org>
 4005 Date:   Sat Nov 5 09:46:17 2016 -0400
 4006 
 4007     Replaced use of freects_done() with free_content() for each message.
 4008     
 4009     Thereby not holding on to open file descriptors until termination.
 4010 
 4011 Author: David Levine <levinedl@acm.org>
 4012 Date:   Thu Nov 3 15:50:40 2016 -0400
 4013 
 4014     Pass through message even if from relative folder.
 4015 
 4016 Author: David Levine <levinedl@acm.org>
 4017 Date:   Thu Nov 3 08:52:53 2016 -0400
 4018 
 4019     Use result, because (void) didn't prevent warning on FreeBSD 10.
 4020 
 4021 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4022 Date:   Thu Nov 3 11:14:55 2016 +0000
 4023 
 4024     test-rfc6532: Export LC_CTYPE after setting it.
 4025     
 4026     Updates commit 2c4ac164edefd18861595ec7624e5ad344b10198.
 4027 
 4028 Author: David Levine <levinedl@acm.org>
 4029 Date:   Wed Nov 2 20:33:52 2016 -0400
 4030 
 4031     Changed type of flags from signed to unsigned long.
 4032 
 4033 Author: David Levine <levinedl@acm.org>
 4034 Date:   Wed Nov 2 20:24:32 2016 -0400
 4035 
 4036     Replace non-ASCII characters in headers with ?'s with non-UTF8 locale.
 4037 
 4038 Author: David Levine <levinedl@acm.org>
 4039 Date:   Wed Nov 2 20:08:27 2016 -0400
 4040 
 4041     Fixed display of header field values with multibyte characters.
 4042 
 4043 Author: David Levine <levinedl@acm.org>
 4044 Date:   Wed Nov 2 11:36:07 2016 -0400
 4045 
 4046     Removed NMH_UNUSED(hostname) because it no longer exists.
 4047 
 4048 Author: Ken Hornstein <kenh@pobox.com>
 4049 Date:   Wed Nov 2 10:45:16 2016 -0400
 4050 
 4051     Add some Autoconf support for older OpenSSL libraries that don't support
 4052     hostname verification.
 4053 
 4054 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4055 Date:   Wed Nov 2 12:08:04 2016 +0000
 4056 
 4057     State netsec_set_tls()'s noverify is unused if no TLS.
 4058     
 4059     Stops compiler warning.
 4060 
 4061 Author: Ken Hornstein <kenh@pobox.com>
 4062 Date:   Tue Nov 1 23:30:34 2016 -0400
 4063 
 4064     Update docs a bit.
 4065 
 4066 Author: Ken Hornstein <kenh@pobox.com>
 4067 Date:   Tue Nov 1 23:13:04 2016 -0400
 4068 
 4069     Add support for certificate verification when using TLS.
 4070 
 4071 Author: Ken Hornstein <kenh@pobox.com>
 4072 Date:   Sun Oct 30 21:20:36 2016 -0400
 4073 
 4074     Print out more TLS information if -snoop is turned on.
 4075 
 4076 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4077 Date:   Tue Nov 1 17:49:08 2016 +0000
 4078 
 4079     test/folder: Add test-coverage; lots of check_exit.
 4080 
 4081 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4082 Date:   Tue Nov 1 17:03:14 2016 +0000
 4083 
 4084     Split one-line condition+body to get gcov results.
 4085 
 4086 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4087 Date:   Tue Nov 1 12:37:48 2016 +0000
 4088 
 4089     uip/dist.c: Increase coverage.
 4090 
 4091 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4092 Date:   Tue Nov 1 12:23:12 2016 +0000
 4093 
 4094     uip/send: -saslmech lacking argument indexed outside array.
 4095     
 4096     Similar to problem in commit 171ad462ce7582196f91f93f91f99fc60a21189e.
 4097 
 4098 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4099 Date:   Tue Nov 1 11:51:26 2016 +0000
 4100 
 4101     man: Fix spelling mistakes.
 4102 
 4103 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4104 Date:   Tue Nov 1 11:49:43 2016 +0000
 4105 
 4106     Fix spelling mistake in comment.
 4107     
 4108     Only done because the same typo appears in the man pages.
 4109 
 4110 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4111 Date:   Tue Nov 1 11:49:11 2016 +0000
 4112 
 4113     Fix spelling mistakes in UI text.
 4114 
 4115 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4116 Date:   Tue Nov 1 11:11:11 2016 +0000
 4117 
 4118     test: Remove the " # gcov" comment from check_exit calls.
 4119     
 4120     Now the command is passed to check_exit, that is sufficient to indicate
 4121     it's for coverage uses only, and a candidate to be fleshed out into a
 4122     test that checks the output.
 4123 
 4124 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4125 Date:   Tue Nov 1 00:41:58 2016 +0000
 4126 
 4127     uip/comp.c: Increase coverage.
 4128 
 4129 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4130 Date:   Tue Nov 1 00:17:47 2016 +0000
 4131 
 4132     uip/burst.c: Increase coverage.
 4133 
 4134 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4135 Date:   Tue Nov 1 00:08:02 2016 +0000
 4136 
 4137     uip/anno.c: Increase coverage.
 4138 
 4139 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4140 Date:   Tue Nov 1 00:05:42 2016 +0000
 4141 
 4142     anno: Stop segmentation violation on `-number 0'.
 4143     
 4144     If atoi(3) returned zero, either because `0' was given or the number
 4145     could not be parsed, then the error message dereferenced an invalid
 4146     pointer.  Found when trying to increase coverage with check_exit.
 4147 
 4148 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4149 Date:   Mon Oct 31 23:13:02 2016 +0000
 4150 
 4151     uip/ali.c: Increase coverage.
 4152 
 4153 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4154 Date:   Mon Oct 31 18:36:19 2016 +0000
 4155 
 4156     ali: Fix a memory leak spotted by valgrind.
 4157 
 4158 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4159 Date:   Mon Oct 31 18:18:07 2016 +0000
 4160 
 4161     mhbuild's fgetstr(): simplify source, logic untouched.
 4162     
 4163     The tests aren't getting 100% coverage and the nested assignments make
 4164     it harder to see what's happening, and what needs to happen to gain
 4165     coverage.  Hoist invariants so it's clear they're such to the reader and
 4166     not just the compiler.
 4167 
 4168 Author: David Levine <levinedl@acm.org>
 4169 Date:   Mon Oct 31 19:01:36 2016 -0400
 4170 
 4171     Remove test files that aren't removed by check().
 4172 
 4173 Author: David Levine <levinedl@acm.org>
 4174 Date:   Mon Oct 31 15:17:55 2016 -0400
 4175 
 4176     Replaced BUFSIZ with NMH_BUFSIZ in a few places.
 4177     
 4178     This allows the test suite to succeed with BUFSIZ of 256.  We should
 4179     consider using different constants for different purposes.
 4180 
 4181 Author: David Levine <levinedl@acm.org>
 4182 Date:   Mon Oct 31 15:03:07 2016 -0400
 4183 
 4184     Don't set CT type if reformat failed.
 4185 
 4186 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4187 Date:   Mon Oct 31 17:56:13 2016 +0000
 4188 
 4189     Uncapitalise a few more mentions of commands in man pages.
 4190 
 4191 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4192 Date:   Mon Oct 31 17:47:22 2016 +0000
 4193 
 4194     mh-mkstemp.man: Detail exit status as 255 rather than -1.
 4195     
 4196     Since that's what the outside kernel and outside world sees.
 4197 
 4198 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4199 Date:   Mon Oct 31 17:44:24 2016 +0000
 4200 
 4201     Use new check_exit in `# gcov' tests.
 4202     
 4203     It showed up fmtdump wasn't being found because $? was 127, not 1.
 4204     And mkstemp exits 255 on error, unusually amongst MH commands.
 4205 
 4206 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4207 Date:   Mon Oct 31 17:18:11 2016 +0000
 4208 
 4209     test/common.sh.in: Add test_exit() for $? checking.
 4210     
 4211     The stdout and stderr of the command being tested are saved but ignored,
 4212     only regurgitated if the test fails.  The test is stated as a fragment
 4213     of a test(1) condition, e.g. '-eq 1'.  This is mainly intended for the
 4214     quick one-liners to increase gcov coverage and thus valgrind's scope.
 4215     Over time, better tests that check more of the command's behaviour can
 4216     replace these, keeping the coverage level.
 4217 
 4218 Author: David Levine <levinedl@acm.org>
 4219 Date:   Mon Oct 31 11:39:11 2016 -0400
 4220 
 4221     Replaced use of ! with || true, for ultimate Bourne shell compatiblity.
 4222     
 4223     Update to commit c3ba36f92bcbf44e071961f3d0bb5e6ddab317d6.
 4224 
 4225 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4226 Date:   Sun Oct 30 21:45:22 2016 +0000
 4227 
 4228     test-nocreate: Don't use run_test and run_prog together.
 4229     
 4230     valgrind tries to run run_prog and can't find the command.
 4231 
 4232 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4233 Date:   Sun Oct 30 21:06:06 2016 +0000
 4234 
 4235     fgets() reserves space for the NUL itself.
 4236     
 4237     No need to knock one off the buffer size when calling it as that
 4238     suggests something special is going on.
 4239 
 4240 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4241 Date:   Sun Oct 30 20:51:07 2016 +0000
 4242 
 4243     Gain coverage with `mhparam localmbox'.
 4244     
 4245     Now 100% for uip/mhparam.c
 4246 
 4247 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4248 Date:   Sun Oct 30 20:48:25 2016 +0000
 4249 
 4250     Remove mhparam's p_find()'s ability to take NULL argument.
 4251     
 4252     It can't be passed NULL and couldn't get coverage.
 4253 
 4254 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4255 Date:   Sun Oct 30 20:41:29 2016 +0000
 4256 
 4257     Get coverage of quite a few of the `ambiguous switch' case.
 4258     
 4259     Typically by adding a `foo -', discarding stdout and stderr, and
 4260     expecting it to exit non-zero.  A `# gcov' comment states its purpose,
 4261     and makes it easier to see if they can be deleted in time as other
 4262     coverage tests improve.
 4263 
 4264 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4265 Date:   Sun Oct 30 20:18:28 2016 +0000
 4266 
 4267     Split gcov target into multiple sub-targets.
 4268     
 4269     Allows them to be run individually.
 4270 
 4271 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4272 Date:   Sun Oct 30 15:55:30 2016 +0000
 4273 
 4274     Clarify trunccpy()'s src and dest must not overlap.
 4275 
 4276 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4277 Date:   Sun Oct 30 15:25:44 2016 +0000
 4278 
 4279     Replace printf("%s", foo) with fputs(foo, stdout).
 4280 
 4281 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4282 Date:   Sun Oct 30 15:09:55 2016 +0000
 4283 
 4284     Replace strlen(foo) > 0 with *foo.
 4285 
 4286 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4287 Date:   Sun Oct 30 15:07:41 2016 +0000
 4288 
 4289     Add outputs from Makefile.am's gcov target.
 4290     
 4291     *.gcda, *.gcno, and *.gcov.
 4292 
 4293 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4294 Date:   Sun Oct 30 15:04:38 2016 +0000
 4295 
 4296     Remove sbr/peekc.c containing unused peekc().
 4297     
 4298     gcov showed it wasn't getting any;  we've all been there.
 4299     It didn't check for EOF, nor that the ungetc(3) succeeded.
 4300 
 4301 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4302 Date:   Sun Oct 30 14:46:01 2016 +0000
 4303 
 4304     Replace fprintf(fp, "%s", foo) with fputs(foo, fp).
 4305 
 4306 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4307 Date:   Sun Oct 30 14:44:07 2016 +0000
 4308 
 4309     Replace printf("%s", foo) with fputs(foo, stdout).
 4310 
 4311 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4312 Date:   Sun Oct 30 14:05:16 2016 +0000
 4313 
 4314     Replace printf("%s\n", foo) with puts(foo).
 4315 
 4316 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4317 Date:   Sun Oct 30 13:45:40 2016 +0000
 4318 
 4319     Add trunccpy(), and the convenience TRUNCCPY().
 4320     
 4321     truncpy copies at most size - 1 chars from non-NULL src to non-NULL
 4322     dst, and ensures dst is NUL terminated.  If size is zero then it
 4323     aborts as dst cannot be NUL terminated.
 4324     
 4325     It's to be used when truncation is intended and correct, e.g.
 4326     reporting a possibly very long external string back to the user.  One
 4327     of its advantages over strncpy(3) is it doesn't pad in the common
 4328     case of no truncation.
 4329 
 4330 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4331 Date:   Sun Oct 30 00:03:34 2016 +0100
 4332 
 4333     Fix test-header-parsing test script.
 4334     
 4335     It was using sh's backticks that chomped the last linefeed!
 4336     Add comment referencing the commit that fixed the code this is testing.
 4337     Have fewer test cases, sticking to just one or two character headers
 4338     with empty or one-character bodies.  Avoids slowing the tests too much
 4339     and the fixed bug was to do with hashing one-character headers.
 4340 
 4341 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4342 Date:   Sat Oct 29 23:11:52 2016 +0100
 4343 
 4344     Simplify folder_exists() to just testing stat(2)'s return value.
 4345 
 4346 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4347 Date:   Fri Oct 28 23:51:41 2016 +0100
 4348 
 4349     Replace printf("...\n") with puts("...").
 4350 
 4351 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4352 Date:   Fri Oct 28 23:10:55 2016 +0100
 4353 
 4354     Replace v?fprintf(stdout, ...) with v?printf(...).
 4355 
 4356 Author: David Levine <levinedl@acm.org>
 4357 Date:   Sat Oct 29 22:24:25 2016 -0400
 4358 
 4359     Added (y|n) domain to a couple of build_nmh config prompts.
 4360 
 4361 Author: David Levine <levinedl@acm.org>
 4362 Date:   Sat Oct 29 22:12:37 2016 -0400
 4363 
 4364     Set first character of name[] buffer in BODY state.
 4365     
 4366     Fix to 47313b9bc395470311e383b57eb184c830662c4a to prevent
 4367     uninitialized read, revealed by test/burst/test-burst-mime
 4368     with NMH_VALGRIND=1.
 4369 
 4370 Author: David Levine <levinedl@acm.org>
 4371 Date:   Wed Oct 26 19:08:53 2016 -0400
 4372 
 4373     Removed configure options now that it determines them automatically.
 4374 
 4375 Author: David Levine <levinedl@acm.org>
 4376 Date:   Wed Oct 26 11:38:45 2016 -0400
 4377 
 4378     Moved build_nmh to top level directory.
 4379 
 4380 Author: David Levine <levinedl@acm.org>
 4381 Date:   Wed Oct 26 11:31:49 2016 -0400
 4382 
 4383     Reworked output handling.
 4384 
 4385 Author: David Levine <levinedl@acm.org>
 4386 Date:   Tue Oct 25 12:10:51 2016 -0400
 4387 
 4388     Reworked default SASL support to enable if header and lib are found.
 4389 
 4390 Author: David Levine <levinedl@acm.org>
 4391 Date:   Tue Oct 25 11:35:20 2016 -0400
 4392 
 4393     Added -r to gcov invocation.
 4394 
 4395 Author: David Levine <levinedl@acm.org>
 4396 Date:   Tue Oct 25 11:10:01 2016 -0400
 4397 
 4398     Add -O0 instead of -O2 to CFLAGS with build_nmh -d option.
 4399 
 4400 Author: David Levine <levinedl@acm.org>
 4401 Date:   Tue Oct 25 11:05:54 2016 -0400
 4402 
 4403     Don't add -D_FORTIFY_SOURCE to AM_CPPFLAGS with -O0.
 4404 
 4405 Merge: 7b27ac3 9cca3d0
 4406 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4407 Date:   Tue Oct 25 00:23:49 2016 +0100
 4408 
 4409     Merge branch 'master' of git.sv.gnu.org:/srv/git/nmh
 4410 
 4411 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4412 Date:   Tue Oct 25 00:04:12 2016 +0100
 4413 
 4414     Replace fputc() with putchar().
 4415 
 4416 Author: David Levine <levinedl@acm.org>
 4417 Date:   Mon Oct 24 19:01:14 2016 -0400
 4418 
 4419     Changed build_nmh sasl and tls defaults to be configure's.
 4420 
 4421 Merge: e00c601 1e7b41c
 4422 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4423 Date:   Mon Oct 24 23:49:11 2016 +0100
 4424 
 4425     Merge branch 'master' of git.sv.gnu.org:/srv/git/nmh
 4426 
 4427 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4428 Date:   Mon Oct 24 23:37:50 2016 +0100
 4429 
 4430     Replace putc() with putchar().
 4431 
 4432 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4433 Date:   Mon Oct 24 23:37:34 2016 +0100
 4434 
 4435     Replace putc() with putchar().
 4436 
 4437 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4438 Date:   Mon Oct 24 23:36:52 2016 +0100
 4439 
 4440     Replace putc() with putchar().
 4441     
 4442     Others already existed.  Not being a macro probably won't hurt.
 4443 
 4444 Author: David Levine <levinedl@acm.org>
 4445 Date:   Mon Oct 24 18:31:27 2016 -0400
 4446 
 4447     Removed unnecessary definition of tls_support.
 4448 
 4449 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4450 Date:   Mon Oct 24 23:22:06 2016 +0100
 4451 
 4452     Replace puts() with putchar().
 4453 
 4454 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4455 Date:   Mon Oct 24 23:21:57 2016 +0100
 4456 
 4457     Replace puts() with putchar().
 4458 
 4459 Author: David Levine <levinedl@acm.org>
 4460 Date:   Mon Oct 24 18:07:48 2016 -0400
 4461 
 4462     Reworked default TLS support to enable if header and libs are found.
 4463     
 4464     Also, fixed AC_CHECK_LIB for libssl.  The crypto lib
 4465     needs to be the fifth, not fourth, argument.
 4466 
 4467 Author: David Levine <levinedl@acm.org>
 4468 Date:   Mon Oct 24 14:33:23 2016 -0400
 4469 
 4470     Removed OAUTH support detection from because configure does it.
 4471 
 4472 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4473 Date:   Mon Oct 24 19:11:07 2016 +0100
 4474 
 4475     sbr/netsec.c: Add NMH_UNUSED(nsc) twice for if !TLS_SUPPORT.
 4476 
 4477 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4478 Date:   Mon Oct 24 18:59:30 2016 +0100
 4479 
 4480     netsec_set_tls(): Return a value in the !TLS_SUPPORT && !tls case.
 4481     
 4482     Silences clang.
 4483 
 4484 Author: David Levine <levinedl@acm.org>
 4485 Date:   Mon Oct 24 12:58:04 2016 -0400
 4486 
 4487     More enhancements to build_nmh.
 4488     
 4489     1) Display failure messages that were hidden.
 4490     2) Display location of log file at end, if not in current directory,
 4491        the build failed, or verbose was enabled.
 4492     3) Replaced use of showbuildenv with less invasive platform info.
 4493     4) Don't colorize tests summary if TERM is unset or dumb.
 4494 
 4495 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4496 Date:   Mon Oct 24 16:34:17 2016 +0100
 4497 
 4498     nmh.h: Add getline() prototype, conditional on HAVE_GETLINE.
 4499 
 4500 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4501 Date:   Mon Oct 24 12:12:29 2016 +0100
 4502 
 4503     Fix flex 2.6.1's output regarding signed/unsigned comparisons.
 4504     
 4505     Add comment referencing flex bug.
 4506     Note this workaround breaks $(LFLAGS).
 4507 
 4508 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4509 Date:   Mon Oct 24 12:12:09 2016 +0100
 4510 
 4511     mhical.c: display(): Replace memcpy() with struct assignment.
 4512 
 4513 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4514 Date:   Mon Oct 24 00:18:18 2016 +0100
 4515 
 4516     fix_filename_param(): Remove redundant strlen().
 4517 
 4518 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4519 Date:   Mon Oct 24 00:15:33 2016 +0100
 4520 
 4521     fix_filename_param(): Replace strncmp() with HasSuffix().
 4522 
 4523 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4524 Date:   Mon Oct 24 00:11:42 2016 +0100
 4525 
 4526     sbr/utils.c: Add HasSuffix(s, suffix).
 4527     
 4528     HasSuffix returns true if non-NULL s ends with non-NULL suffix.
 4529 
 4530 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4531 Date:   Mon Oct 24 00:03:48 2016 +0100
 4532 
 4533     Use LEN() to save having to consider the -1.
 4534 
 4535 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4536 Date:   Mon Oct 24 00:03:12 2016 +0100
 4537 
 4538     Use LEN() to save having to consider the -1.
 4539 
 4540 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4541 Date:   Mon Oct 24 00:02:33 2016 +0100
 4542 
 4543     Use LEN() to save having to consider the -1.
 4544 
 4545 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4546 Date:   Mon Oct 24 00:01:54 2016 +0100
 4547 
 4548     Remove unused NCWD and NPWD #defines.
 4549 
 4550 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4551 Date:   Sun Oct 23 23:45:34 2016 +0100
 4552 
 4553     Use HasPrefix() instead of strncmp().
 4554 
 4555 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4556 Date:   Sun Oct 23 23:44:58 2016 +0100
 4557 
 4558     Use HasPrefix() instead of strncmp().
 4559 
 4560 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4561 Date:   Sun Oct 23 23:44:38 2016 +0100
 4562 
 4563     Use HasPrefix() instead of strncmp().
 4564 
 4565 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4566 Date:   Sun Oct 23 23:43:41 2016 +0100
 4567 
 4568     Use HasPrefix() instead of strncmp().
 4569 
 4570 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4571 Date:   Sun Oct 23 23:43:19 2016 +0100
 4572 
 4573     Use HasPrefix() instead of strncmp().
 4574 
 4575 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4576 Date:   Sun Oct 23 23:20:58 2016 +0100
 4577 
 4578     Use HasPrefix() instead of strncmp().
 4579 
 4580 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4581 Date:   Sun Oct 23 23:20:45 2016 +0100
 4582 
 4583     Use HasPrefix() instead of strncmp().
 4584 
 4585 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4586 Date:   Sun Oct 23 23:20:31 2016 +0100
 4587 
 4588     Use HasPrefix() instead of strncmp().
 4589 
 4590 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4591 Date:   Sun Oct 23 23:02:49 2016 +0100
 4592 
 4593     Use HasPrefix() instead of strncmp().
 4594 
 4595 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4596 Date:   Sun Oct 23 23:02:01 2016 +0100
 4597 
 4598     Use HasPrefix() instead of strncmp().
 4599 
 4600 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4601 Date:   Sun Oct 23 22:59:57 2016 +0100
 4602 
 4603     nmh_command_generator(): Fix indentation.
 4604 
 4605 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4606 Date:   Sun Oct 23 22:51:24 2016 +0100
 4607 
 4608     Use HasPrefix() instead of strncmp().
 4609 
 4610 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4611 Date:   Sun Oct 23 22:49:25 2016 +0100
 4612 
 4613     Use HasPrefix() instead of strncmp().
 4614 
 4615 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4616 Date:   Sun Oct 23 22:48:49 2016 +0100
 4617 
 4618     Use HasPrefix() instead of strncmp().
 4619 
 4620 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4621 Date:   Sun Oct 23 22:47:08 2016 +0100
 4622 
 4623     Use HasPrefix() instead of strncmp().
 4624 
 4625 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4626 Date:   Sun Oct 23 22:36:26 2016 +0100
 4627 
 4628     Use HasPrefix() instead of strncmp().
 4629 
 4630 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4631 Date:   Sun Oct 23 18:56:58 2016 +0100
 4632 
 4633     Use HasPrefix() instead of strncmp().
 4634 
 4635 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4636 Date:   Sun Oct 23 18:56:33 2016 +0100
 4637 
 4638     Use HasPrefix() instead of strncmp().
 4639 
 4640 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4641 Date:   Sun Oct 23 12:08:31 2016 +0100
 4642 
 4643     Alter HasSuffixC()'s char * to be const.
 4644 
 4645 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4646 Date:   Sun Oct 23 12:02:55 2016 +0100
 4647 
 4648     utils.c: Add HasPrefix(s, prefix).
 4649     
 4650     HasPrefix returns true if non-NULL s starts with non-NULL prefix.
 4651 
 4652 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4653 Date:   Sun Oct 23 01:18:49 2016 +0100
 4654 
 4655     Rename EndsWithC() to HasSuffixC().
 4656 
 4657 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4658 Date:   Sun Oct 23 01:13:57 2016 +0100
 4659 
 4660     mh-folders.man: Remove empty `.I' immediately followed by `.IR'.
 4661 
 4662 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4663 Date:   Mon Oct 24 09:59:44 2016 +0100
 4664 
 4665     build_nmh: If cloning with git, make a shallow clone.
 4666 
 4667 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4668 Date:   Mon Oct 24 09:46:52 2016 +0100
 4669 
 4670     showbuildenv: Drop lsb_release(1);  /etc/lsb_release tested earlier.
 4671 
 4672 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4673 Date:   Mon Oct 24 09:33:56 2016 +0100
 4674 
 4675     build_nmh: Use `gzip -d' rather than assume tar has -z.
 4676 
 4677 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4678 Date:   Mon Oct 24 09:31:00 2016 +0100
 4679 
 4680     build_nmh: Have a silent curl still show errors.
 4681     
 4682     Arguably, -sS should be curl's defaults!
 4683 
 4684 Author: David Levine <levinedl@acm.org>
 4685 Date:   Sun Oct 23 17:16:31 2016 -0400
 4686 
 4687     Fixed output of commit hash by git log command.
 4688 
 4689 Author: David Levine <levinedl@acm.org>
 4690 Date:   Sun Oct 23 17:12:04 2016 -0400
 4691 
 4692     Check for existence of tools/showbuildenv.
 4693 
 4694 Author: David Levine <levinedl@acm.org>
 4695 Date:   Sun Oct 23 16:25:00 2016 -0400
 4696 
 4697     Redirect verbose build_nmh messages so they're visible while running.
 4698 
 4699 Author: David Levine <levinedl@acm.org>
 4700 Date:   Sun Oct 23 16:03:11 2016 -0400
 4701 
 4702     Enhanced build_nmh to support standalone use.
 4703     
 4704     1) If not in nmh directory, download the nmh sources from savannah
 4705        using git clone, wget, or curl.
 4706     2) Added -b branch option, for use when downloading.
 4707     3) Support -l -.
 4708     4) Capture build environment with tools/showbuildenv.
 4709 
 4710 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4711 Date:   Sun Oct 23 01:10:58 2016 +0100
 4712 
 4713     man: Use lowercase for command name at start of sentence.
 4714     
 4715     `Inc' is a different command to `inc'.
 4716 
 4717 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4718 Date:   Sun Oct 23 00:08:17 2016 +0100
 4719 
 4720     uprf(): Rewrite, using types rather than masking ints.
 4721 
 4722 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4723 Date:   Sat Oct 22 23:37:19 2016 +0100
 4724 
 4725     Add comment describing uprf().
 4726 
 4727 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4728 Date:   Sat Oct 22 19:56:52 2016 +0100
 4729 
 4730     Use ToLower() instead of loop.
 4731 
 4732 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4733 Date:   Sat Oct 22 19:53:01 2016 +0100
 4734 
 4735     Use ToUpper() instead of loop.
 4736 
 4737 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4738 Date:   Sat Oct 22 19:52:42 2016 +0100
 4739 
 4740     Use ToUpper() instead of loop.
 4741 
 4742 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4743 Date:   Sat Oct 22 19:43:12 2016 +0100
 4744 
 4745     Add ToLower(s) and ToUpper(s).
 4746 
 4747 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4748 Date:   Sat Oct 22 19:33:24 2016 +0100
 4749 
 4750     putcomp(): Use local to avoid repeating tautological ternary.
 4751 
 4752 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4753 Date:   Sat Oct 22 19:18:15 2016 +0100
 4754 
 4755     Alter netrc permissions error message to match code.  Add test.
 4756     
 4757     The code wants `go=', but the error message, and FAQ, said to clear read
 4758     permission from group and other.  Add test to inc/test-pop as that is
 4759     the existing netrc test location, but it might be better in its own test
 4760     file as other tests for netrc parsing could be added.
 4761 
 4762 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4763 Date:   Sat Oct 22 18:09:02 2016 +0100
 4764 
 4765     Fix netrc's token()'s bug if backslash escapes EOF.
 4766     
 4767     Discard the whole token so the user hopefully investigates.
 4768 
 4769 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4770 Date:   Sat Oct 22 18:01:16 2016 +0100
 4771 
 4772     Fix netrc's token() bug of first character being backslash.
 4773 
 4774 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4775 Date:   Sat Oct 22 17:47:06 2016 +0100
 4776 
 4777     Merge .netrc's token() file-reading loops;  quoted and not.
 4778     
 4779     Check for ferror(3) as well as feof(3) on entry.
 4780     Comment on lack of definition of quoted-string syntax, e.g. «"foo""bar"»
 4781     is two tokens without needing a separator.
 4782     Add comments on bugs for first non-quote character of a token being
 4783     backslash, and if a backslash escapes EOF.
 4784 
 4785 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4786 Date:   Sat Oct 22 16:17:42 2016 +0100
 4787 
 4788     Have ruserpass() return TOK_EOF and put "" in the token table.
 4789     
 4790     Gives 0 a name and removes a little logic.
 4791 
 4792 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4793 Date:   Sat Oct 22 16:04:58 2016 +0100
 4794 
 4795     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 4796 
 4797 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4798 Date:   Sat Oct 22 15:53:51 2016 +0100
 4799 
 4800     Check advertise()'s iob[] isn't too short with assert(3).
 4801     
 4802     Using DIM(a) added to h/mh.h
 4803 
 4804 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4805 Date:   Sat Oct 22 15:36:40 2016 +0100
 4806 
 4807     Use macros in advertise() to simplify source.
 4808     
 4809     Happens to remove strlen() of literals at the same time.
 4810 
 4811 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4812 Date:   Sat Oct 22 14:43:11 2016 +0100
 4813 
 4814     Document advise(), adios(), admonish(), and advertise().
 4815     
 4816     It doesn't make their design any better.  Their "ad" prefix goes against
 4817     common advice of having distinguishable identifiers to avoid mix-ups,
 4818     and seems to be a theme that got out of hand.  The out-of-order
 4819     parameters to advertise seem due to lack of strerror(3) that's no longer
 4820     a problem.
 4821     
 4822     Before:
 4823         advertise("open", "continuing...", "couldn't read profile: %s",
 4824             path);
 4825     Could be:
 4826         error("couldn't read profile: %s: open: %s, continuing...\n",
 4827             path, strerror(errno));
 4828     And the "open" is typically dropped as superfluous so there's a
 4829     repetitive leading NULL passed a lot.
 4830 
 4831 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4832 Date:   Sat Oct 22 13:58:43 2016 +0100
 4833 
 4834     POSIX, 2016 Ed, removes bcopy(3).  Stop referring to it.
 4835     
 4836     Even though it's in a comment, it shows up in searches.
 4837 
 4838 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4839 Date:   Sat Oct 22 13:45:35 2016 +0100
 4840 
 4841     Don't need to cast to `char *' for free(3) these days.
 4842 
 4843 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4844 Date:   Sat Oct 22 13:45:24 2016 +0100
 4845 
 4846     Don't need to cast to `char *' for free(3) these days.
 4847 
 4848 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4849 Date:   Sat Oct 22 13:45:22 2016 +0100
 4850 
 4851     Don't need to cast to `char *' for free(3) these days.
 4852 
 4853 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4854 Date:   Sat Oct 22 13:45:19 2016 +0100
 4855 
 4856     Don't need to cast to `char *' for free(3) these days.
 4857 
 4858 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4859 Date:   Sat Oct 22 13:45:16 2016 +0100
 4860 
 4861     Don't need to cast to `char *' for free(3) these days.
 4862 
 4863 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4864 Date:   Sat Oct 22 13:45:11 2016 +0100
 4865 
 4866     Don't need to cast to `char *' for free(3) these days.
 4867 
 4868 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4869 Date:   Sat Oct 22 13:44:47 2016 +0100
 4870 
 4871     Don't need to cast to `char *' for free(3) these days.
 4872     
 4873     But still need a cast to discard the const.
 4874     Use `void *' as it saves needing to check the original type.
 4875 
 4876 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4877 Date:   Sat Oct 22 13:42:52 2016 +0100
 4878 
 4879     Don't need to cast to `char *' for free(3) these days.
 4880 
 4881 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4882 Date:   Sat Oct 22 13:42:47 2016 +0100
 4883 
 4884     Don't need to cast to `char *' for free(3) these days.
 4885 
 4886 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4887 Date:   Sat Oct 22 13:42:45 2016 +0100
 4888 
 4889     Don't need to cast to `char *' for free(3) these days.
 4890 
 4891 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4892 Date:   Sat Oct 22 13:42:43 2016 +0100
 4893 
 4894     Don't need to cast to `char *' for free(3) these days.
 4895 
 4896 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4897 Date:   Sat Oct 22 13:42:39 2016 +0100
 4898 
 4899     Don't need to cast to `char *' for free(3) these days.
 4900 
 4901 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4902 Date:   Sat Oct 22 00:45:09 2016 +0100
 4903 
 4904     Move smtp_init's last-ditch attempt for client inside first test.
 4905     
 4906     Didn't realise there was a second lot of similar code before the last
 4907     commit.
 4908 
 4909 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4910 Date:   Sat Oct 22 00:41:44 2016 +0100
 4911 
 4912     Move smtp_init's last-ditch attempt for client inside first test.
 4913     
 4914     No point checking it twice in a row if it was false the first time.
 4915 
 4916 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4917 Date:   Sat Oct 22 00:40:30 2016 +0100
 4918 
 4919     Don't `else' after return.  Simplify control flow.
 4920 
 4921 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4922 Date:   Sat Oct 22 00:27:58 2016 +0100
 4923 
 4924     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4925 
 4926 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4927 Date:   Sat Oct 22 00:27:54 2016 +0100
 4928 
 4929     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4930 
 4931 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4932 Date:   Sat Oct 22 00:27:51 2016 +0100
 4933 
 4934     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4935 
 4936 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4937 Date:   Sat Oct 22 00:27:48 2016 +0100
 4938 
 4939     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4940 
 4941 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4942 Date:   Sat Oct 22 00:27:42 2016 +0100
 4943 
 4944     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4945 
 4946 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4947 Date:   Sat Oct 22 00:27:29 2016 +0100
 4948 
 4949     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4950 
 4951 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4952 Date:   Sat Oct 22 00:27:22 2016 +0100
 4953 
 4954     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4955 
 4956 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4957 Date:   Sat Oct 22 00:27:16 2016 +0100
 4958 
 4959     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4960 
 4961 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4962 Date:   Sat Oct 22 00:26:57 2016 +0100
 4963 
 4964     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4965 
 4966 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4967 Date:   Sat Oct 22 00:26:54 2016 +0100
 4968 
 4969     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4970 
 4971 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4972 Date:   Sat Oct 22 00:26:35 2016 +0100
 4973 
 4974     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4975 
 4976 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4977 Date:   Sat Oct 22 00:26:02 2016 +0100
 4978 
 4979     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4980 
 4981 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4982 Date:   Sat Oct 22 00:25:53 2016 +0100
 4983 
 4984     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4985 
 4986 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4987 Date:   Sat Oct 22 00:21:16 2016 +0100
 4988 
 4989     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4990 
 4991 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4992 Date:   Sat Oct 22 00:20:55 2016 +0100
 4993 
 4994     Replace `if (p) free(p)' with `mh_xfree(p)'.
 4995 
 4996 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 4997 Date:   Sat Oct 22 00:20:49 2016 +0100
 4998 
 4999     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5000 
 5001 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5002 Date:   Sat Oct 22 00:20:46 2016 +0100
 5003 
 5004     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5005 
 5006 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5007 Date:   Sat Oct 22 00:18:54 2016 +0100
 5008 
 5009     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5010 
 5011 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5012 Date:   Sat Oct 22 00:18:50 2016 +0100
 5013 
 5014     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5015 
 5016 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5017 Date:   Sat Oct 22 00:18:43 2016 +0100
 5018 
 5019     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5020 
 5021 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5022 Date:   Sat Oct 22 00:18:39 2016 +0100
 5023 
 5024     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5025 
 5026 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5027 Date:   Sat Oct 22 00:18:32 2016 +0100
 5028 
 5029     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5030 
 5031 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5032 Date:   Sat Oct 22 00:18:26 2016 +0100
 5033 
 5034     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5035 
 5036 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5037 Date:   Sat Oct 22 00:09:10 2016 +0100
 5038 
 5039     Don't test boundary in output_content() for NULL;  it never is.
 5040 
 5041 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5042 Date:   Fri Oct 21 23:21:30 2016 +0100
 5043 
 5044     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5045 
 5046 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5047 Date:   Fri Oct 21 23:20:41 2016 +0100
 5048 
 5049     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5050 
 5051 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5052 Date:   Fri Oct 21 23:20:06 2016 +0100
 5053 
 5054     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5055 
 5056 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5057 Date:   Fri Oct 21 23:17:48 2016 +0100
 5058 
 5059     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5060 
 5061 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5062 Date:   Fri Oct 21 23:16:11 2016 +0100
 5063 
 5064     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5065 
 5066 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5067 Date:   Fri Oct 21 23:15:53 2016 +0100
 5068 
 5069     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5070 
 5071 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5072 Date:   Fri Oct 21 23:15:47 2016 +0100
 5073 
 5074     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5075 
 5076 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5077 Date:   Fri Oct 21 23:15:32 2016 +0100
 5078 
 5079     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5080 
 5081 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5082 Date:   Fri Oct 21 22:01:54 2016 +0100
 5083 
 5084     Replace `if (p) free(p)' with `mh_xfree(p)'.
 5085 
 5086 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5087 Date:   Fri Oct 21 21:18:38 2016 +0100
 5088 
 5089     Add FIXME raising if iscntrl(3) test should be based on isprint(3)
 5090     
 5091     !iscntrl blocks characters that could be isspace or isblank whereas
 5092     isprint would let them through unharmed.
 5093 
 5094 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5095 Date:   Fri Oct 21 21:18:16 2016 +0100
 5096 
 5097     Assume POSIX ctype.h;  don't vet toupper()'s parameter.
 5098 
 5099 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5100 Date:   Fri Oct 21 21:14:24 2016 +0100
 5101 
 5102     Explain isascii() test more in netsec_set_sasl_params().
 5103     
 5104     It stops non-ASCII lower in the SASL mechanism being uppered, just in
 5105     case there is some.
 5106 
 5107 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5108 Date:   Fri Oct 21 21:10:42 2016 +0100
 5109 
 5110     Assume POSIX ctype.h;  don't vet toupper()'s parameter.
 5111 
 5112 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5113 Date:   Fri Oct 21 20:39:11 2016 +0100
 5114 
 5115     Assume POSIX ctype.h;  don't vet tolower()'s parameter.
 5116 
 5117 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5118 Date:   Fri Oct 21 20:37:32 2016 +0100
 5119 
 5120     Assume POSIX ctype.h;  don't vet tolower()'s parameter.
 5121 
 5122 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5123 Date:   Fri Oct 21 20:23:55 2016 +0100
 5124 
 5125     Oops, stop showbuildenv reading from stdin when run from a TTY.
 5126     
 5127     David spotted the problem I introduced with 8374c3c.  Alter offset to
 5128     process any arguments, falling back to stdin if none.
 5129 
 5130 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5131 Date:   Fri Oct 21 14:42:35 2016 +0100
 5132 
 5133     Assume POSIX ctype.h;  don't vet tolower()'s parameter.
 5134 
 5135 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5136 Date:   Fri Oct 21 14:41:17 2016 +0100
 5137 
 5138     Assume POSIX ctype.h;  don't vet tolower()'s parameter.
 5139 
 5140 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5141 Date:   Fri Oct 21 14:35:47 2016 +0100
 5142 
 5143     Assume POSIX ctype.h;  don't vet tolower()'s parameter.
 5144 
 5145 Author: David Levine <levinedl@acm.org>
 5146 Date:   Fri Oct 21 13:26:43 2016 -0400
 5147 
 5148     Fixed MIME parser so it can read binary content.
 5149     
 5150     Second of two-part fix.  Replaced use of strlen().
 5151 
 5152 Author: David Levine <levinedl@acm.org>
 5153 Date:   Fri Oct 21 13:22:22 2016 -0400
 5154 
 5155     Have m_getfld() pass back indication of missing blank line.
 5156     
 5157     This is part one of a two part fix to the MIME parser to
 5158     read binary content.  It should have no effect.
 5159     
 5160     Also added start/finish test calls to test-header.
 5161 
 5162 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5163 Date:   Fri Oct 21 09:53:45 2016 +0100
 5164 
 5165     Fix warnings caused by recent edits;  don't mix declarations and code.
 5166     Quite right too, I prefer all the declarations, codeless, up front.  The
 5167     standard -Wall didn't pick this up.  David pointed it out, probably due
 5168     to his defaults of `-pedantic -ansi'.
 5169 
 5170 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5171 Date:   Fri Oct 21 00:06:11 2016 +0100
 5172 
 5173     Don't `else' after goto.  Simplify control flow.
 5174 
 5175 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5176 Date:   Fri Oct 21 00:06:07 2016 +0100
 5177 
 5178     Don't `else' after goto.  Simplify control flow.
 5179 
 5180 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5181 Date:   Fri Oct 21 00:05:50 2016 +0100
 5182 
 5183     Don't `else' after goto.  Simplify control flow.
 5184 
 5185 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5186 Date:   Fri Oct 21 00:05:46 2016 +0100
 5187 
 5188     Don't `else' after goto.  Simplify control flow.
 5189 
 5190 Author: David Levine <levinedl@acm.org>
 5191 Date:   Thu Oct 20 19:38:01 2016 -0400
 5192 
 5193     Added test/mhshow/test-binary.  The MIME parser doesn't
 5194     properly handle null bytes because it uses getline().
 5195 
 5196 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5197 Date:   Thu Oct 20 23:57:56 2016 +0100
 5198 
 5199     Don't `else' after return.  Simplify control flow.
 5200 
 5201 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5202 Date:   Thu Oct 20 23:57:09 2016 +0100
 5203 
 5204     Don't `else' after return.  Simplify control flow.
 5205 
 5206 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5207 Date:   Thu Oct 20 23:30:39 2016 +0100
 5208 
 5209     Don't `else' after return.  Simplify control flow.
 5210 
 5211 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5212 Date:   Thu Oct 20 23:30:07 2016 +0100
 5213 
 5214     Don't `else' after return.  Simplify control flow.
 5215 
 5216 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5217 Date:   Thu Oct 20 23:30:02 2016 +0100
 5218 
 5219     Don't `else' after return.  Simplify control flow.
 5220 
 5221 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5222 Date:   Thu Oct 20 23:29:56 2016 +0100
 5223 
 5224     Don't `else' after return.  Simplify control flow.
 5225 
 5226 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5227 Date:   Thu Oct 20 23:29:49 2016 +0100
 5228 
 5229     Don't `else' after return.  Simplify control flow.
 5230 
 5231 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5232 Date:   Thu Oct 20 23:29:46 2016 +0100
 5233 
 5234     Don't `else' after return.  Simplify control flow.
 5235 
 5236 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5237 Date:   Thu Oct 20 23:29:35 2016 +0100
 5238 
 5239     Don't `else' after return.  Simplify control flow.
 5240 
 5241 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5242 Date:   Thu Oct 20 23:29:19 2016 +0100
 5243 
 5244     Don't `else' after return.  Simplify control flow.
 5245 
 5246 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5247 Date:   Thu Oct 20 23:27:42 2016 +0100
 5248 
 5249     Don't `else' after return.  Simplify control flow.
 5250 
 5251 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5252 Date:   Thu Oct 20 23:27:37 2016 +0100
 5253 
 5254     Don't `else' after return.  Simplify control flow.
 5255 
 5256 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5257 Date:   Thu Oct 20 23:27:21 2016 +0100
 5258 
 5259     Don't `else' after return.  Simplify control flow.
 5260 
 5261 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5262 Date:   Thu Oct 20 23:27:08 2016 +0100
 5263 
 5264     Don't `else' after return.  Simplify control flow.
 5265 
 5266 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5267 Date:   Thu Oct 20 23:27:05 2016 +0100
 5268 
 5269     Don't `else' after return.  Simplify control flow.
 5270 
 5271 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5272 Date:   Thu Oct 20 23:23:46 2016 +0100
 5273 
 5274     Don't `else' after return.  Simplify control flow.
 5275 
 5276 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5277 Date:   Thu Oct 20 23:23:41 2016 +0100
 5278 
 5279     Don't `else' after return.  Simplify control flow.
 5280 
 5281 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5282 Date:   Thu Oct 20 23:23:38 2016 +0100
 5283 
 5284     Don't `else' after return.  Simplify control flow.
 5285 
 5286 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5287 Date:   Thu Oct 20 23:23:35 2016 +0100
 5288 
 5289     Don't `else' after return.  Simplify control flow.
 5290 
 5291 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5292 Date:   Thu Oct 20 23:23:28 2016 +0100
 5293 
 5294     Don't `else' after return.  Simplify control flow.
 5295 
 5296 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5297 Date:   Thu Oct 20 23:23:00 2016 +0100
 5298 
 5299     Don't `else' after return.  Simplify control flow.
 5300 
 5301 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5302 Date:   Thu Oct 20 23:22:21 2016 +0100
 5303 
 5304     Don't `else' after return.  Simplify control flow.
 5305 
 5306 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5307 Date:   Thu Oct 20 23:22:15 2016 +0100
 5308 
 5309     Don't `else' after return.  Simplify control flow.
 5310 
 5311 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5312 Date:   Thu Oct 20 23:22:11 2016 +0100
 5313 
 5314     Don't `else' after return.  Simplify control flow.
 5315 
 5316 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5317 Date:   Thu Oct 20 23:22:04 2016 +0100
 5318 
 5319     Don't `else' after return.  Simplify control flow.
 5320 
 5321 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5322 Date:   Thu Oct 20 23:22:00 2016 +0100
 5323 
 5324     Don't `else' after return.  Simplify control flow.
 5325 
 5326 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5327 Date:   Thu Oct 20 23:21:45 2016 +0100
 5328 
 5329     Don't `else' after return.  Simplify control flow.
 5330 
 5331 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5332 Date:   Thu Oct 20 23:21:34 2016 +0100
 5333 
 5334     Don't `else' after return.  Simplify control flow.
 5335 
 5336 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5337 Date:   Thu Oct 20 23:21:05 2016 +0100
 5338 
 5339     Don't `else' after return.  Simplify control flow.
 5340 
 5341 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5342 Date:   Thu Oct 20 23:20:25 2016 +0100
 5343 
 5344     Don't `else' after return.  Simplify control flow.
 5345 
 5346 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5347 Date:   Thu Oct 20 23:20:20 2016 +0100
 5348 
 5349     Don't `else' after return.  Simplify control flow.
 5350 
 5351 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5352 Date:   Thu Oct 20 23:20:17 2016 +0100
 5353 
 5354     Don't `else' after return.  Simplify control flow.
 5355 
 5356 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5357 Date:   Thu Oct 20 23:20:07 2016 +0100
 5358 
 5359     Don't `else' after return.  Simplify control flow.
 5360 
 5361 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5362 Date:   Thu Oct 20 23:19:59 2016 +0100
 5363 
 5364     Don't `else' after return or goto.  Simplify control flow.
 5365 
 5366 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5367 Date:   Thu Oct 20 23:19:28 2016 +0100
 5368 
 5369     Don't `else' after return.  Simplify control flow.
 5370 
 5371 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5372 Date:   Thu Oct 20 23:18:47 2016 +0100
 5373 
 5374     Don't `else' after return.  Simplify control flow.
 5375 
 5376 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5377 Date:   Thu Oct 20 23:16:32 2016 +0100
 5378 
 5379     Don't `else' after return.  Simplify control flow.
 5380 
 5381 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5382 Date:   Thu Oct 20 23:16:21 2016 +0100
 5383 
 5384     Don't `else' after return.  Simplify control flow.
 5385 
 5386 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5387 Date:   Thu Oct 20 23:15:53 2016 +0100
 5388 
 5389     Don't `else' after return.  Simplify control flow.
 5390 
 5391 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5392 Date:   Thu Oct 20 00:43:52 2016 +0100
 5393 
 5394     Hoist test of search string for NULL out of loop.
 5395 
 5396 Author: Ken Hornstein <kenh@pobox.com>
 5397 Date:   Thu Oct 20 13:37:29 2016 -0400
 5398 
 5399     Rototill credentials code so that we only prompt for the username and
 5400     password when it is necessary.
 5401 
 5402 Author: David Levine <levinedl@acm.org>
 5403 Date:   Wed Oct 19 19:53:42 2016 -0400
 5404 
 5405     Added locale profile component, value is passed to nmh_init().
 5406 
 5407 Author: David Levine <levinedl@acm.org>
 5408 Date:   Wed Oct 19 15:00:56 2016 -0400
 5409 
 5410     Pass CFLAGS to make distcheck via DISTCHECK_CONFIGURE_FLAGS.
 5411 
 5412 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5413 Date:   Thu Oct 20 00:32:37 2016 +0100
 5414 
 5415     Replace sizeof string constant - 1 with LEN().
 5416 
 5417 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5418 Date:   Thu Oct 20 00:32:30 2016 +0100
 5419 
 5420     Replace sizeof string constant - 1 with LEN().
 5421 
 5422 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5423 Date:   Thu Oct 20 00:24:20 2016 +0100
 5424 
 5425     Replace strlen(), malloc(), and sprintf() with concat().
 5426 
 5427 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5428 Date:   Thu Oct 20 00:09:47 2016 +0100
 5429 
 5430     Use LEN() on string constants instead of strlen().
 5431 
 5432 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5433 Date:   Thu Oct 20 00:09:47 2016 +0100
 5434 
 5435     Use LEN() on string constants instead of strlen().
 5436 
 5437 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5438 Date:   Thu Oct 20 00:09:47 2016 +0100
 5439 
 5440     Use LEN() on string constants instead of strlen().
 5441 
 5442 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5443 Date:   Thu Oct 20 00:08:50 2016 +0100
 5444 
 5445     Add LEN(s) definition.
 5446     LEN gives the strlen() of string constant s, excluding the
 5447     terminating NUL.
 5448 
 5449 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5450 Date:   Thu Oct 20 00:02:14 2016 +0100
 5451 
 5452     Put, rather than print, single characters.
 5453 
 5454 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5455 Date:   Thu Oct 20 00:02:14 2016 +0100
 5456 
 5457     Put, rather than print, single characters.
 5458 
 5459 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5460 Date:   Thu Oct 20 00:02:14 2016 +0100
 5461 
 5462     Put, rather than print, single characters.
 5463 
 5464 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5465 Date:   Thu Oct 20 00:02:14 2016 +0100
 5466 
 5467     Put, rather than print, single characters.
 5468 
 5469 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5470 Date:   Thu Oct 20 00:02:14 2016 +0100
 5471 
 5472     Put, rather than print, single characters.
 5473 
 5474 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5475 Date:   Thu Oct 20 00:02:14 2016 +0100
 5476 
 5477     Put, rather than print, single characters.
 5478 
 5479 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5480 Date:   Thu Oct 20 00:02:14 2016 +0100
 5481 
 5482     Put, rather than print, single characters.
 5483 
 5484 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5485 Date:   Thu Oct 20 00:02:14 2016 +0100
 5486 
 5487     Put, rather than print, single characters.
 5488 
 5489 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5490 Date:   Thu Oct 20 00:02:14 2016 +0100
 5491 
 5492     Put, rather than print, single characters.
 5493 
 5494 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5495 Date:   Wed Oct 19 23:38:04 2016 +0100
 5496 
 5497     Put, rather than print, single characters.
 5498 
 5499 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5500 Date:   Wed Oct 19 23:38:04 2016 +0100
 5501 
 5502     Put, rather than print, single characters.
 5503 
 5504 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5505 Date:   Wed Oct 19 23:38:04 2016 +0100
 5506 
 5507     Put, rather than print, single characters.
 5508 
 5509 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5510 Date:   Wed Oct 19 23:27:13 2016 +0100
 5511 
 5512     Replace `(char *)0' et al with `NULL'.
 5513     None of them are vararg parameters.
 5514 
 5515 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5516 Date:   Wed Oct 19 23:27:13 2016 +0100
 5517 
 5518     Replace `(char *)0' et al with `NULL'.
 5519     None of them are vararg parameters.
 5520 
 5521 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5522 Date:   Wed Oct 19 23:27:13 2016 +0100
 5523 
 5524     Replace `(char *)0' et al with `NULL'.
 5525     None of them are vararg parameters.
 5526 
 5527 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5528 Date:   Wed Oct 19 23:27:13 2016 +0100
 5529 
 5530     Replace `(char *)0' et al with `NULL'.
 5531     None of them are vararg parameters.
 5532 
 5533 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5534 Date:   Wed Oct 19 23:27:13 2016 +0100
 5535 
 5536     Replace `(char *)0' et al with `NULL'.
 5537     None of them are vararg parameters.
 5538 
 5539 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5540 Date:   Wed Oct 19 23:27:12 2016 +0100
 5541 
 5542     Replace `(char *)0' et al with `NULL'.
 5543     None of them are vararg parameters.
 5544 
 5545 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5546 Date:   Wed Oct 19 23:27:12 2016 +0100
 5547 
 5548     Replace `(char *)0' et al with `NULL'.
 5549     None of them are vararg parameters.
 5550 
 5551 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5552 Date:   Wed Oct 19 23:27:12 2016 +0100
 5553 
 5554     Replace `(char *)0' et al with `NULL'.
 5555     None of them are vararg parameters.
 5556 
 5557 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5558 Date:   Wed Oct 19 23:27:12 2016 +0100
 5559 
 5560     Replace `(char *)0' et al with `NULL'.
 5561     None of them are vararg parameters.
 5562 
 5563 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5564 Date:   Wed Oct 19 23:27:12 2016 +0100
 5565 
 5566     Replace `(char *)0' et al with `NULL'.
 5567     None of them are vararg parameters.
 5568 
 5569 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5570 Date:   Wed Oct 19 23:27:12 2016 +0100
 5571 
 5572     Replace `(char *)0' et al with `NULL'.
 5573     None of them are vararg parameters.
 5574 
 5575 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5576 Date:   Wed Oct 19 23:27:12 2016 +0100
 5577 
 5578     Replace `(char *)0' et al with `NULL'.
 5579     None of them are vararg parameters.
 5580 
 5581 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5582 Date:   Wed Oct 19 23:27:12 2016 +0100
 5583 
 5584     Replace `(char *)0' et al with `NULL'.
 5585     None of them are vararg parameters.
 5586 
 5587 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5588 Date:   Wed Oct 19 23:27:12 2016 +0100
 5589 
 5590     Replace `(char *)0' et al with `NULL'.
 5591     None of them are vararg parameters.
 5592 
 5593 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5594 Date:   Wed Oct 19 23:27:12 2016 +0100
 5595 
 5596     Replace `(char *)0' et al with `NULL'.
 5597     None of them are vararg parameters.
 5598 
 5599 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5600 Date:   Wed Oct 19 19:18:48 2016 +0100
 5601 
 5602     Replace strlen(), malloc(), and sprintf() with concat().
 5603 
 5604 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5605 Date:   Wed Oct 19 18:47:30 2016 +0100
 5606 
 5607     Replace sprintf() with strcpy();  it's no worse.
 5608 
 5609 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5610 Date:   Wed Oct 19 18:47:04 2016 +0100
 5611 
 5612     Replace sprintf() with strcpy();  it's no worse.
 5613 
 5614 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5615 Date:   Wed Oct 19 18:44:58 2016 +0100
 5616 
 5617     Add comment describing concat().
 5618 
 5619 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5620 Date:   Wed Oct 19 18:30:41 2016 +0100
 5621 
 5622     Use the imperfect snprintf(3) instead of sprintf(3).
 5623 
 5624 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5625 Date:   Wed Oct 19 18:29:56 2016 +0100
 5626 
 5627     Use the imperfect snprintf(3) instead of sprintf(3).
 5628 
 5629 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5630 Date:   Wed Oct 19 18:29:43 2016 +0100
 5631 
 5632     Use the imperfect snprintf(3) instead of sprintf(3).
 5633 
 5634 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5635 Date:   Wed Oct 19 18:29:18 2016 +0100
 5636 
 5637     Use the imperfect snprintf(3) instead of sprintf(3).
 5638 
 5639 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5640 Date:   Wed Oct 19 18:13:10 2016 +0100
 5641 
 5642     Add EndsWithC(char *s, int c) and call it in some initial places.
 5643     EndsWithC returns true if non-NULL string s ends with a c before the
 5644     terminating NUL.
 5645 
 5646 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5647 Date:   Wed Oct 19 17:52:44 2016 +0100
 5648 
 5649     Add stdbool.h plus fallback to h/nmh.h.
 5650     Change h/mh.h's FALSE and TRUE to use stdbool.h's.  In time, everything
 5651     can switch over and FALSE and TRUE can go.  Delete some local
 5652     re-definitions of FALSE and TRUE.
 5653 
 5654 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5655 Date:   Wed Oct 19 16:34:05 2016 +0100
 5656 
 5657     Fix ruserpass() to not assume `\n' present before trimming.
 5658 
 5659 Author: David Levine <levinedl@acm.org>
 5660 Date:   Wed Oct 19 12:09:37 2016 -0400
 5661 
 5662     Removed remaining relics of generated ctypoe-checked.[hc].
 5663 
 5664 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5665 Date:   Wed Oct 19 15:43:12 2016 +0100
 5666 
 5667     Alter ctype-checked to handle EOF and be hand-written.
 5668     Along the way, replace the code generation with code that punts the work
 5669     onto the stdlib's C functions, needing only a single `identity' array
 5670     for all the macros.  A mkdir needed to be added in Makefile.am because
 5671     otherwise etc didn't exist in a distcheck and attempting to redirect
 5672     stdout to a file in etc failed.  I'm not happy that's the best automake
 5673     way to achieve this, i.e. what if another rule attempts to create in etc
 5674     first?
 5675 
 5676 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5677 Date:   Wed Oct 19 14:39:53 2016 +0100
 5678 
 5679     Remove ./configure's --enable-debug support;  it did nothing.
 5680     David on nmh-workers said "that looks like a relic that can be removed".
 5681 
 5682 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5683 Date:   Wed Oct 19 13:04:12 2016 +0100
 5684 
 5685     Don't recurse in advertise() on writev(2) error, just write(2).
 5686     Some errors, e.g. EPIPE, cause the advise()'s call to another
 5687     advertise() to fail again, ad segvinitum when stack busts.  Instead,
 5688     snprintf(3) and write(2) that single string, ignoring any error.
 5689 
 5690 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5691 Date:   Wed Oct 19 12:22:47 2016 +0100
 5692 
 5693     Add check-programs target to Makefile.am to add to `make all'.
 5694 
 5695 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5696 Date:   Wed Oct 19 11:30:55 2016 +0100
 5697 
 5698     Ignore etags ugly TAGS output file.
 5699     Makefile prefers etags over ctags.
 5700 
 5701 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5702 Date:   Wed Oct 19 10:09:47 2016 +0100
 5703 
 5704     Replace strchr() condition with TrimSuffixC(), fixing assumptions.
 5705     A couple of the existing strchr()-based trims assumed fgets() returned a
 5706     string containing `\n' if it didn't return NULL.
 5707 
 5708 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5709 Date:   Wed Oct 19 10:06:44 2016 +0100
 5710 
 5711     Replace strchr() condition with TrimSuffixC().
 5712 
 5713 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5714 Date:   Wed Oct 19 10:06:24 2016 +0100
 5715 
 5716     Replace strchr() condition with TrimSuffixC().
 5717 
 5718 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5719 Date:   Wed Oct 19 10:04:59 2016 +0100
 5720 
 5721     Replace strchr() condition with TrimSuffixC().
 5722 
 5723 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5724 Date:   Wed Oct 19 10:04:12 2016 +0100
 5725 
 5726     Replace strchr() condition with TrimSuffixC().
 5727 
 5728 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5729 Date:   Wed Oct 19 10:03:31 2016 +0100
 5730 
 5731     Replace strchr() condition with TrimSuffixC().
 5732 
 5733 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5734 Date:   Wed Oct 19 00:50:28 2016 +0100
 5735 
 5736     Replace strchr() condition with TrimSuffixC().
 5737 
 5738 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5739 Date:   Tue Oct 18 17:05:24 2016 +0100
 5740 
 5741     Add TrimSuffixC(char *s, int c).
 5742     TrimSuffixC deletes c from the end of non-NULL string s if it's present,
 5743     shortening s by 1.  Only one instance of c is removed.
 5744 
 5745 Author: David Levine <levinedl@acm.org>
 5746 Date:   Tue Oct 18 19:55:49 2016 -0400
 5747 
 5748     With EAI (mhbuild -headerencoding utf-8), force message header to
 5749     show 8-bit UTF-8, even if the message body is ASCII.
 5750 
 5751 Author: David Levine <levinedl@acm.org>
 5752 Date:   Tue Oct 18 16:45:30 2016 -0400
 5753 
 5754     Output an error message from post(8) when user specifies
 5755     mhbuild -headerencoding utf-8 but the SMTP server doesn't
 5756     support SMTPUTF8.
 5757 
 5758 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5759 Date:   Tue Oct 18 16:33:12 2016 +0100
 5760 
 5761     Rewrite r1bindex() using strrchr(3).
 5762 
 5763 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5764 Date:   Tue Oct 18 16:23:44 2016 +0100
 5765 
 5766     Use concat() in m_putenv.  Add FIXME about memory leaks.
 5767     POSIX defines setenv(3) and unsetenv(3).  They seem like a good route,
 5768     just need to preserve the existing functions' behaviour.
 5769 
 5770 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5771 Date:   Tue Oct 18 16:22:41 2016 +0100
 5772 
 5773     Shrink the static char[] for "%d" from 8KiB to just right.
 5774 
 5775 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5776 Date:   Tue Oct 18 14:52:26 2016 +0100
 5777 
 5778     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5779 
 5780 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5781 Date:   Tue Oct 18 14:52:26 2016 +0100
 5782 
 5783     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5784 
 5785 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5786 Date:   Tue Oct 18 14:52:26 2016 +0100
 5787 
 5788     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5789 
 5790 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5791 Date:   Tue Oct 18 14:52:26 2016 +0100
 5792 
 5793     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5794 
 5795 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5796 Date:   Tue Oct 18 14:52:26 2016 +0100
 5797 
 5798     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5799 
 5800 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5801 Date:   Tue Oct 18 14:52:26 2016 +0100
 5802 
 5803     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5804 
 5805 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5806 Date:   Tue Oct 18 14:52:26 2016 +0100
 5807 
 5808     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5809 
 5810 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5811 Date:   Tue Oct 18 14:52:26 2016 +0100
 5812 
 5813     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5814 
 5815 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5816 Date:   Tue Oct 18 14:52:26 2016 +0100
 5817 
 5818     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5819 
 5820 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5821 Date:   Tue Oct 18 14:52:26 2016 +0100
 5822 
 5823     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5824 
 5825 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5826 Date:   Tue Oct 18 14:52:26 2016 +0100
 5827 
 5828     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5829 
 5830 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5831 Date:   Tue Oct 18 14:52:26 2016 +0100
 5832 
 5833     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5834 
 5835 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5836 Date:   Tue Oct 18 14:52:26 2016 +0100
 5837 
 5838     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5839 
 5840 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5841 Date:   Tue Oct 18 14:52:26 2016 +0100
 5842 
 5843     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5844 
 5845 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5846 Date:   Tue Oct 18 14:52:25 2016 +0100
 5847 
 5848     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5849 
 5850 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5851 Date:   Tue Oct 18 14:52:25 2016 +0100
 5852 
 5853     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5854 
 5855 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5856 Date:   Tue Oct 18 14:52:25 2016 +0100
 5857 
 5858     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5859 
 5860 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5861 Date:   Tue Oct 18 14:52:25 2016 +0100
 5862 
 5863     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5864 
 5865 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5866 Date:   Tue Oct 18 14:52:25 2016 +0100
 5867 
 5868     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5869 
 5870 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5871 Date:   Tue Oct 18 14:52:25 2016 +0100
 5872 
 5873     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5874 
 5875 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5876 Date:   Tue Oct 18 14:52:25 2016 +0100
 5877 
 5878     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5879 
 5880 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5881 Date:   Tue Oct 18 14:52:25 2016 +0100
 5882 
 5883     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5884 
 5885 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5886 Date:   Tue Oct 18 14:52:25 2016 +0100
 5887 
 5888     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5889 
 5890 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5891 Date:   Tue Oct 18 14:52:25 2016 +0100
 5892 
 5893     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5894 
 5895 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5896 Date:   Tue Oct 18 14:52:25 2016 +0100
 5897 
 5898     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5899 
 5900 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5901 Date:   Tue Oct 18 14:52:25 2016 +0100
 5902 
 5903     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5904 
 5905 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5906 Date:   Tue Oct 18 14:52:25 2016 +0100
 5907 
 5908     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5909 
 5910 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5911 Date:   Tue Oct 18 14:52:25 2016 +0100
 5912 
 5913     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5914 
 5915 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5916 Date:   Tue Oct 18 14:52:25 2016 +0100
 5917 
 5918     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5919 
 5920 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5921 Date:   Tue Oct 18 14:52:25 2016 +0100
 5922 
 5923     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5924 
 5925 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5926 Date:   Tue Oct 18 14:52:25 2016 +0100
 5927 
 5928     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5929 
 5930 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5931 Date:   Tue Oct 18 14:52:25 2016 +0100
 5932 
 5933     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5934 
 5935 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5936 Date:   Tue Oct 18 14:52:25 2016 +0100
 5937 
 5938     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5939 
 5940 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5941 Date:   Tue Oct 18 14:52:25 2016 +0100
 5942 
 5943     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5944 
 5945 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5946 Date:   Tue Oct 18 13:37:15 2016 +0100
 5947 
 5948     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5949 
 5950 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5951 Date:   Tue Oct 18 13:37:15 2016 +0100
 5952 
 5953     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5954 
 5955 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5956 Date:   Tue Oct 18 13:37:14 2016 +0100
 5957 
 5958     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5959 
 5960 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5961 Date:   Tue Oct 18 13:37:14 2016 +0100
 5962 
 5963     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5964 
 5965 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5966 Date:   Tue Oct 18 13:37:14 2016 +0100
 5967 
 5968     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5969 
 5970 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5971 Date:   Tue Oct 18 13:37:14 2016 +0100
 5972 
 5973     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5974 
 5975 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5976 Date:   Tue Oct 18 13:37:14 2016 +0100
 5977 
 5978     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5979 
 5980 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5981 Date:   Tue Oct 18 13:37:14 2016 +0100
 5982 
 5983     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5984 
 5985 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5986 Date:   Tue Oct 18 13:37:14 2016 +0100
 5987 
 5988     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5989 
 5990 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5991 Date:   Tue Oct 18 13:37:14 2016 +0100
 5992 
 5993     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5994 
 5995 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 5996 Date:   Tue Oct 18 13:37:14 2016 +0100
 5997 
 5998     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 5999 
 6000 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6001 Date:   Tue Oct 18 13:37:14 2016 +0100
 6002 
 6003     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 6004 
 6005 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6006 Date:   Tue Oct 18 13:37:14 2016 +0100
 6007 
 6008     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 6009 
 6010 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6011 Date:   Tue Oct 18 13:09:27 2016 +0100
 6012 
 6013     Replace getcpy() with mh_xstrdup() where the string isn't NULL.
 6014 
 6015 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6016 Date:   Tue Oct 18 01:27:27 2016 +0100
 6017 
 6018     Fix unlikely bug in oauth's make_query_url() of base_url overflow.
 6019 
 6020 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6021 Date:   Tue Oct 18 01:18:24 2016 +0100
 6022 
 6023     Replace a few calculations of string lengths with concat().
 6024     Saves the reader have to keep checking all the +1 are correct.
 6025     Passed the oauth tests;  they weren't skipped.
 6026 
 6027 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6028 Date:   Mon Oct 17 23:52:00 2016 +0100
 6029 
 6030     Close FILE pointer in anno for -append as well as -delete.
 6031     https://savannah.nongnu.org/bugs/?23465 has Peter Maydell pointing out
 6032     the assymetric open and close of a FILE pointer.  He's right on that
 6033     AFAICS so change the test to be for a non-NULL pointer rather than the
 6034     more wordy and prone to error flag-testing.
 6035 
 6036 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6037 Date:   Mon Oct 17 21:46:47 2016 +0100
 6038 
 6039     Oops, should have offset file in showbuildenv rather than cat.
 6040 
 6041 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6042 Date:   Mon Oct 17 21:16:38 2016 +0100
 6043 
 6044     Look for a platform-specific /etc/*-release or similar.
 6045     /etc/os-release is becoming standard due to systemd.
 6046 
 6047 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6048 Date:   Mon Oct 17 20:51:09 2016 +0100
 6049 
 6050     Protect showbuildenv's headers from glob expansion.
 6051 
 6052 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6053 Date:   Mon Oct 17 20:35:51 2016 +0100
 6054 
 6055     A-ha!  automake has support for tests expected to fail;  use that.
 6056     Backing out my recent addition of an `expectedfail` parameter to the
 6057     `check' function.
 6058 
 6059 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6060 Date:   Mon Oct 17 20:14:33 2016 +0100
 6061 
 6062     Remove use of C's register keyword.
 6063 
 6064 Author: David Levine <levinedl@acm.org>
 6065 Date:   Mon Oct 17 09:42:32 2016 -0400
 6066 
 6067     Added reference to mh-profile(5) man page for more information on
 6068     postproc.  And note that "Nmh-" header lines are filtered out.
 6069 
 6070 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6071 Date:   Mon Oct 17 11:55:12 2016 +0100
 6072 
 6073     Add FIXME for more documentation to showbuildenv.
 6074 
 6075 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6076 Date:   Mon Oct 17 11:51:32 2016 +0100
 6077 
 6078     Have showbuildenv only indent non-blank lines.
 6079 
 6080 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6081 Date:   Mon Oct 17 11:50:22 2016 +0100
 6082 
 6083     Run lsb_release(1) if uname is Linux.
 6084 
 6085 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6086 Date:   Mon Oct 17 11:30:24 2016 +0100
 6087 
 6088     Oops, fc31cece had a syntax error that gcc ignored, clang doesn't.
 6089     Two logical-or operators in a row don't upset gcc.  Who said parsing was
 6090     a solved problem?
 6091 
 6092 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6093 Date:   Mon Oct 17 01:41:32 2016 +0100
 6094 
 6095     Replace NEW() then memset() of 0 with NEW0().
 6096 
 6097 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6098 Date:   Mon Oct 17 01:36:35 2016 +0100
 6099 
 6100     Don't call strlen() twice;  save result.
 6101     The second instance was attempting to write strlen(mmdlm2) bytes
 6102     and checking the return value against strlen(mmdlm1).  I assumed
 6103     that was an error without digging.
 6104 
 6105 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6106 Date:   Mon Oct 17 01:35:15 2016 +0100
 6107 
 6108     Don't call strlen() twice;  save result.
 6109 
 6110 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6111 Date:   Mon Oct 17 01:34:18 2016 +0100
 6112 
 6113     Deference char pointer to test for empty string instead of strlen(3).
 6114 
 6115 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6116 Date:   Mon Oct 17 01:28:53 2016 +0100
 6117 
 6118     Replace getcpy() with mh_xstrdup().
 6119 
 6120 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6121 Date:   Mon Oct 17 01:28:13 2016 +0100
 6122 
 6123     Replace mh_xmalloc() with mh_xstrdup().
 6124 
 6125 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6126 Date:   Mon Oct 17 01:26:53 2016 +0100
 6127 
 6128     Replace mh_xmalloc() with mh_xstrdup().
 6129 
 6130 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6131 Date:   Mon Oct 17 00:32:46 2016 +0100
 6132 
 6133     Delete client_getcpy();  don't know why it exists.
 6134     Replace with calls to getcpy() or mh_xstrdup().
 6135 
 6136 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6137 Date:   Mon Oct 17 00:22:23 2016 +0100
 6138 
 6139     Use mh_xstrdup() instead of getcpy() for a string constant.
 6140     It cannot be NULL.
 6141 
 6142 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6143 Date:   Mon Oct 17 00:08:26 2016 +0100
 6144 
 6145     Rewrite getcpy() using mh_x*() allocation functions.
 6146 
 6147 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6148 Date:   Mon Oct 17 00:07:24 2016 +0100
 6149 
 6150     Add const specifier to mh_xstrdup()'s src parameter.
 6151 
 6152 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6153 Date:   Sun Oct 16 23:35:35 2016 +0100
 6154 
 6155     Rename fmt_compile.c's NEW macro to NEW_FP to avoid redefine.
 6156     It grabs and fills in a pointer called `fp' so a more specific name
 6157     seems OK.
 6158 
 6159 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6160 Date:   Sun Oct 16 23:16:26 2016 +0100
 6161 
 6162     Rename local enum to avoid clashing with NEW() macro.
 6163     Even if it doesn't in practice due to the lack of parenthesis, it makes
 6164     things more clean if all the enumerates have a common abbreviation
 6165     prefix.
 6166 
 6167 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6168 Date:   Sun Oct 16 22:53:23 2016 +0100
 6169 
 6170     Add mh_xstrdup() that exits on allocation failure.
 6171     Call it from a few simple places.
 6172 
 6173 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6174 Date:   Sun Oct 16 19:38:36 2016 +0100
 6175 
 6176     Add NEW(p) that sets p to mh_xmalloc'd memory sized by *p.
 6177     Use it for the simple cases.  Again, saves having to check the same
 6178     identifier is given, possibly far apart after a superfluous cast.
 6179 
 6180 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6181 Date:   Sun Oct 16 18:49:32 2016 +0100
 6182 
 6183     Add macro NEW0(p) that callocs, and use it in simple calls.
 6184     p is a pointer, the size of the contents of the pointer is allocated
 6185     with calloc via mh_xcalloc.  It saves having to check every calloc to
 6186     ensure the space requested matches the pointer to which it is assigned.
 6187 
 6188 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6189 Date:   Sun Oct 16 18:24:51 2016 +0100
 6190 
 6191     Put parameter names in h/utils.h memory function prototypes.
 6192     It can be a problem if there is a system creeps in a clashing macro,
 6193     e.g. `size', but that's unlikely and I think the documentation benefits.
 6194 
 6195 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6196 Date:   Sun Oct 16 18:21:15 2016 +0100
 6197 
 6198     Add mh_xfree(), guarding free(3) from NULLs.
 6199     Perhaps all nmh's platforms cope with free(3) these days, but it gives
 6200     symmetry with the other mh_x* memory functions and if there is code
 6201     testing the pointer before calling free then it can use this instead.
 6202 
 6203 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6204 Date:   Sun Oct 16 18:17:31 2016 +0100
 6205 
 6206     Tweak mh_xcalloc();  print size on error, follow POSIX.
 6207     Using `%zu' for the size_t value.  That might be a problem on older
 6208     platforms, but we'll see.  If asked for zero bytes then allocate one to
 6209     get a unique pointer.
 6210 
 6211 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6212 Date:   Sun Oct 16 18:08:29 2016 +0100
 6213 
 6214     Tweak mh_xrealloc();  print size on error, follow POSIX.
 6215     Using `%zu' for the size_t value.  That might be a problem on older
 6216     platforms, but we'll see.  If asked for zero bytes then free an existing
 6217     pointer, only passing it to free(3) if it's non-NULL, and then allocate
 6218     a byte so a unique pointer is returned.
 6219 
 6220 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6221 Date:   Sun Oct 16 17:43:56 2016 +0100
 6222 
 6223     Tweak mh_xmalloc();  print size in error, allocate zero bytes.
 6224     Using `%zu' for the size_t value.  That might be a problem on older
 6225     platforms, but we'll see.  If asked for zero bytes then allocate one
 6226     rather than exit;  it's sometimes useful to allocate zero, but some
 6227     older platforms might not like it.
 6228 
 6229 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6230 Date:   Sun Oct 16 17:36:03 2016 +0100
 6231 
 6232     Don't check mh_xcalloc() and friends for a NULL return.
 6233     They never return NULL.  That's their prime purpose.
 6234 
 6235 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6236 Date:   Sun Oct 16 15:50:12 2016 +0100
 6237 
 6238     Expand the test of scan's -forma;  fails on first attempt.
 6239     For an email that's just `a:\nb:\nc:\n', a scan with `%{a}\n%{b}\n%{c}'
 6240     is one blank line short.  If the `%{c}' has anything added then its line
 6241     prints.  Break out of the loop so all the other tests are skipped.
 6242 
 6243 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6244 Date:   Sun Oct 16 15:25:37 2016 +0100
 6245 
 6246     Don't test -reverse's boolean on every message number.
 6247     Test just once before the loop and define start, end, and increment.
 6248     Keep going whilst start is not end.  Happy for underflow or overflow in
 6249     calculating end because msgnum will make the same transition.  It can't
 6250     affect whether the loop runs at all since 0 is not a valid message
 6251     number.
 6252 
 6253 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6254 Date:   Sun Oct 16 14:28:38 2016 +0100
 6255 
 6256     Update pending-release-notes with a couple of my recent fixes.
 6257 
 6258 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6259 Date:   Sun Oct 16 14:19:56 2016 +0100
 6260 
 6261     Fix bug where single-character headers were sometimes missed.
 6262     The hash function used to check if a header was of interest always used
 6263     its first three characters.  For a single-character header that third
 6264     byte wasn't particularly set and so it was pot luck if the two hashes
 6265     matched, swayed by what was previously in the format string and in the
 6266     email's headers.  Alter it to cope, including with an empty string.
 6267     Comment that it never gives 127 so leaves the last element of the
 6268     hash-table array unused.  Alter test-header-parsing to stop declaring it
 6269     expects to fail.
 6270 
 6271 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6272 Date:   Sun Oct 16 12:44:32 2016 +0100
 6273 
 6274     Change all Getc() callers to use EOF, not comparisons with 0.
 6275     Makes the logic that bit easier when you don't have to convert to EOF
 6276     mentally.  No functional change intended.
 6277 
 6278 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6279 Date:   Sun Oct 16 12:23:57 2016 +0100
 6280 
 6281     Don't increment bytes_read if returning EOF.
 6282     Don't know if this was actually causing a problem, or if it was wrong,
 6283     but bytes_read was always being incremented even if the later test
 6284     showed readpos was to be left unincremented and EOF returned instead.
 6285     All tests still pass so any breakage must be subtle!
 6286 
 6287 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6288 Date:   Sun Oct 16 12:13:59 2016 +0100
 6289 
 6290     Fix spelling in comment.  Alter case to match identifier.
 6291     vim will search matching case on `*', for example, so if searching for
 6292     `\<fdelim\>' the comment shouldn't use `Fdelim'.
 6293 
 6294 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6295 Date:   Sun Oct 16 11:43:45 2016 +0100
 6296 
 6297     Add failing test case for single-character header parsing.
 6298     `scan -format '%{x}'' fails to find single-character header `x' in some
 6299     cases, depending on the position of the header in the file.  Add a
 6300     simple test case, scan/test-header-parsing, for this that fails.  Alter
 6301     the test harness to allow a test to indicate it expects to fail.  When
 6302     it does, that's ignored.  If it passes, that's then an error instead.
 6303     
 6304     Did this because I don't know if or when it will be fixed and didn't
 6305     want it to be forgotten in the meantime.  When it is fixed, the test can
 6306     be enhanced to cover many more possibilities.  First noticed it with ad
 6307     hoc testing of my fewer-lseek change, but it is present in the released
 6308     1.6.
 6309 
 6310 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6311 Date:   Sun Oct 16 10:52:39 2016 +0100
 6312 
 6313     Fix spelling in warning message;  s/conext/context/.
 6314 
 6315 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6316 Date:   Sun Oct 16 10:13:46 2016 +0100
 6317 
 6318     Simply enter_getfld()'s structure, no functional change.
 6319     Return ASAP to avoid having to mentally track those states as the code
 6320     indents further.
 6321 
 6322 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6323 Date:   Sun Oct 16 09:58:34 2016 +0100
 6324 
 6325     Explicitly state a postproc's last argument will be the draft.
 6326     Update the sample postproc script to make clear it's the -whom detection
 6327     that sucks.
 6328 
 6329 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6330 Date:   Sun Oct 16 09:35:03 2016 +0100
 6331 
 6332     Document fmttest(1)'s existing -help and -version options.
 6333 
 6334 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6335 Date:   Sun Oct 16 09:17:51 2016 +0100
 6336 
 6337     Move -help and -version to the front of the man page options.
 6338     The man pages had -verbose and -help listed at the end of the synopsis.
 6339     This put them after mandatory arguments in some cases, e.g. post(8).
 6340     Put then at the front, swapping the order so -help is first, as novices
 6341     will want to know -help exists early on, and others can simply skip over
 6342     them rather than encounter them at the end when they're trying to track
 6343     the combinations of what they've read so far.
 6344 
 6345 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6346 Date:   Sun Oct 16 08:52:10 2016 +0100
 6347 
 6348     Fix end of sentence spacing in man pages, and related problems.
 6349     troff(1) input that ends a sentence at the end of the line gets the
 6350     proper inter-sentence spacing when formatted.  If the sentence ends
 6351     midline then two spaces must follow to get the same result, otherwise
 6352     the spacing looks odd.  Similarly, if a full stop is not the end of a
 6353     sentence then it should have the zero-width escape appended so if
 6354     re-formatting the source happens to place it at the end of the line then
 6355     no large gap follows it: e.g. `e.g.\&'.
 6356     Replace `et. al.' with `et al'.
 6357 
 6358 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6359 Date:   Sun Oct 16 08:34:35 2016 +0100
 6360 
 6361     Reference the buildbot in docs/README.developers.
 6362 
 6363 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6364 Date:   Sun Oct 16 08:23:51 2016 +0100
 6365 
 6366     Stop one lseek(2) per header fetched by m_getfld.c in common case.
 6367     Only call ftello(3) in enter_getfld() when track_filepos has been
 6368     requested;  not often.
 6369 
 6370 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6371 Date:   Sat Oct 15 23:40:00 2016 +0100
 6372 
 6373     Fix error message when attempting to xmh_realloc() 0 bytes.
 6374     Though really, I'd expect it to perform a free(3) then, as the real
 6375     realloc(3) does.
 6376 
 6377 Author: David Levine <levinedl@acm.org>
 6378 Date:   Sat Oct 15 14:21:13 2016 -0400
 6379 
 6380     Plugged memory leak in convert_content_charset().
 6381 
 6382 Author: David Levine <levinedl@acm.org>
 6383 Date:   Sat Oct 15 11:53:24 2016 -0400
 6384 
 6385     Fixed mhshow warn message when it can't convert character set,
 6386     "from" instead of "to", as reported by Ralph.
 6387 
 6388 Author: David Levine <levinedl@acm.org>
 6389 Date:   Sat Oct 15 11:33:34 2016 -0400
 6390 
 6391     Changed "existant" to "existent".  Found by misspell_fixer.
 6392 
 6393 Author: David Levine <levinedl@acm.org>
 6394 Date:   Sat Oct 15 09:58:24 2016 -0400
 6395 
 6396     Added to convertargs documentation.
 6397 
 6398 Author: David Levine <levinedl@acm.org>
 6399 Date:   Fri Oct 14 16:53:27 2016 -0400
 6400 
 6401     Try running script(1) for SHELL test in subshell.
 6402 
 6403 Author: David Levine <levinedl@acm.org>
 6404 Date:   Fri Oct 14 16:40:16 2016 -0400
 6405 
 6406     Check that script(1) supports SHELL in test-version-check.
 6407 
 6408 Author: David Levine <levinedl@acm.org>
 6409 Date:   Fri Oct 14 14:36:21 2016 -0400
 6410 
 6411     Added check to test-version-check to ensure that script(1) makes
 6412     the program look like it's connected to a terminal.
 6413 
 6414 Author: David Levine <levinedl@acm.org>
 6415 Date:   Fri Oct 14 13:40:14 2016 -0400
 6416 
 6417     Didn't work on buildbot hosts.  Added debug statements.
 6418 
 6419 Author: David Levine <levinedl@acm.org>
 6420 Date:   Fri Oct 14 13:27:32 2016 -0400
 6421 
 6422     Instead of feeding stdin to script(1) in test-version-check,
 6423     create a simple shell script with the command to be run and feed
 6424     it to script via the SHELL environment variable or -S option.
 6425     Thanks to Ralph for suggesting this approach.  We'll see if it
 6426     works on all of the buildbot hosts.
 6427 
 6428 Author: David Levine <levinedl@acm.org>
 6429 Date:   Fri Oct 14 09:54:59 2016 -0400
 6430 
 6431     Tweaked formatting of welcome message.
 6432 
 6433 Author: David Levine <levinedl@acm.org>
 6434 Date:   Thu Oct 13 19:12:59 2016 -0400
 6435 
 6436     Disable test-version-check, again, when not connected to terminal.
 6437     I can't otherwise explain why it fails on the ubuntu buildbot.
 6438 
 6439 Author: David Levine <levinedl@acm.org>
 6440 Date:   Thu Oct 13 18:54:16 2016 -0400
 6441 
 6442     Added debug printouts to test-version-check.
 6443 
 6444 Author: David Levine <levinedl@acm.org>
 6445 Date:   Thu Oct 13 18:45:06 2016 -0400
 6446 
 6447     Use "script file" in test-version-check for maximum portability.
 6448     Feed its stdin, which might be problematic.
 6449 
 6450 Author: David Levine <levinedl@acm.org>
 6451 Date:   Wed Oct 12 21:48:11 2016 -0400
 6452 
 6453     Added check that replied-to text is not quoted-printable encoded.
 6454     It's up to the external converter to generate RFC 5322-legal text.
 6455 
 6456 Author: David Levine <levinedl@acm.org>
 6457 Date:   Wed Oct 12 21:47:16 2016 -0400
 6458 
 6459     Split ${charset:+-I "$charset"} and another similar case into two
 6460     separate options, because Solaris didn't like the space between them.
 6461 
 6462 Author: Oliver Kiddle <okiddle@yahoo.co.uk>
 6463 Date:   Tue Oct 11 10:20:52 2016 -0400
 6464 
 6465     For the autoconf/automake stuff to replace getline, the following
 6466     patch seems to work.
 6467     
 6468     The final change on configure.ac is to cope with cc -V output having
 6469     slightly changed in the most recent version of the compiler.
 6470 
 6471 Author: Ralph Corderoy <ralph@inputplus.co.uk>
 6472 Date:   Tue Oct 11 10:14:14 2016 -0400
 6473 
 6474     I've written a getline(3) from scratch based on
 6475     https://manned.org/getdelim.3p and am happy for it to have whatever
 6476     licence nmh needs.
 6477 
 6478 Author: David Levine <levinedl@acm.org>
 6479 Date:   Tue Oct 11 09:31:42 2016 -0400
 6480 
 6481     Removed test-local-mailbox that was mistakenly committed.
 6482 
 6483 Author: David Levine <levinedl@acm.org>
 6484 Date:   Tue Oct 11 08:55:12 2016 -0400
 6485 
 6486     Only set CFLAGS with gcc.
 6487 
 6488 Author: David Levine <levinedl@acm.org>
 6489 Date:   Tue Oct 11 08:53:32 2016 -0400
 6490 
 6491     Moved gcc warning options from AM_CFLAGS back to CFLAGS, to
 6492     make it easier for packagers to override.  This is a partial
 6493     rollback of commit f7eb978bd395752d3d9037ea4436b8e2db41f135.
 6494 
 6495 Author: David Levine <levinedl@acm.org>
 6496 Date:   Tue Oct 11 08:41:10 2016 -0400
 6497 
 6498     Added LANG to procmail example in mhfixmsg man page.
 6499 
 6500 Author: David Levine <levinedl@acm.org>
 6501 Date:   Mon Oct 10 16:43:56 2016 -0400
 6502 
 6503     Corrected date in forw man page.
 6504 
 6505 Author: David Levine <levinedl@acm.org>
 6506 Date:   Mon Oct 10 16:42:57 2016 -0400
 6507 
 6508     Tweaked OAuth documentation in mhlogin and send man pages.
 6509 
 6510 Author: David Levine <levinedl@acm.org>
 6511 Date:   Mon Oct 10 16:42:20 2016 -0400
 6512 
 6513     Removed reference to nmh User's Manual because there is no such
 6514     thing.  There was an MH User's Manual, but that is not distributed
 6515     with nmh.
 6516 
 6517 Author: David Levine <levinedl@acm.org>
 6518 Date:   Mon Oct 10 09:54:51 2016 -0400
 6519 
 6520     Changed test suite's require_locale() to set the locale that it
 6521     finds, and added upper case versions of locale names to each test.
 6522     This should allow the tests to succeed on old Solaris.
 6523 
 6524 Author: David Levine <levinedl@acm.org>
 6525 Date:   Sun Oct 9 13:59:11 2016 -0400
 6526 
 6527     Added -sasl to -saslmech xoauth examples in man pages.
 6528 
 6529 Author: David Levine <levinedl@acm.org>
 6530 Date:   Fri Oct 7 22:21:02 2016 -0400
 6531 
 6532     Replace `id -u` with $$ so that tests have a chance of working
 6533     on old Solaris hosts.
 6534 
 6535 Author: David Levine <levinedl@acm.org>
 6536 Date:   Fri Oct 7 11:07:03 2016 -0400
 6537 
 6538     Added comments about sidestepping check for checks to determine
 6539     whether replied-to text needs to be encoded in mhbuildsbr.c.
 6540 
 6541 Author: David Levine <levinedl@acm.org>
 6542 Date:   Fri Oct 7 09:40:23 2016 -0400
 6543 
 6544     Added example of decoding RFC-2047 filename to mhstore man page.
 6545 
 6546 Author: David Levine <levinedl@acm.org>
 6547 Date:   Thu Oct 6 18:01:50 2016 -0400
 6548 
 6549     A better fix than e87f37c27828723317a71291e31b34f39ec09098, because
 6550     c_reqencoding should be set for text content in replies if we don't
 6551     want it to be encoded.  Scan the text content to see if it is 7- or
 6552     8-bit, and set c_reqencoding accordingly.
 6553 
 6554 Author: David Levine <levinedl@acm.org>
 6555 Date:   Thu Oct 6 17:53:00 2016 -0400
 6556 
 6557     Moved scan_input() from uip/post.c to sbr/utils.c.
 6558 
 6559 Author: David Levine <levinedl@acm.org>
 6560 Date:   Thu Oct 6 13:10:19 2016 -0400
 6561 
 6562     Updated test-version-check test_skip message.
 6563 
 6564 Author: David Levine <levinedl@acm.org>
 6565 Date:   Thu Oct 6 13:07:20 2016 -0400
 6566 
 6567     Fixed test negations in test-version-check to work with make distcheck.
 6568 
 6569 Author: David Levine <levinedl@acm.org>
 6570 Date:   Thu Oct 6 12:57:45 2016 -0400
 6571 
 6572     OK, don't run test-version-check if not connected to terminal.
 6573 
 6574 Author: David Levine <levinedl@acm.org>
 6575 Date:   Thu Oct 6 12:47:52 2016 -0400
 6576 
 6577     More debugging test-version-check.
 6578 
 6579 Author: David Levine <levinedl@acm.org>
 6580 Date:   Thu Oct 6 12:45:52 2016 -0400
 6581 
 6582     Replaced strtod() with strtof().
 6583 
 6584 Author: David Levine <levinedl@acm.org>
 6585 Date:   Thu Oct 6 12:16:53 2016 -0400
 6586 
 6587     More debugging.
 6588 
 6589 Author: David Levine <levinedl@acm.org>
 6590 Date:   Thu Oct 6 11:59:24 2016 -0400
 6591 
 6592     More test-version-check debugging, on Linux buildbot hosts.
 6593 
 6594 Author: David Levine <levinedl@acm.org>
 6595 Date:   Thu Oct 6 11:47:26 2016 -0400
 6596 
 6597     1) Use script(1) -t 0 instead of -f on FreeBSD.
 6598     2) Added another debug printout.
 6599 
 6600 Author: David Levine <levinedl@acm.org>
 6601 Date:   Thu Oct 6 11:30:19 2016 -0400
 6602 
 6603     Accommodate FreeBSD script(1), and add debugging statement to diagnose
 6604     failure on ubuntu buildbot host.
 6605 
 6606 Merge: 641e461 84eab76
 6607 Author: David Levine <levinedl@acm.org>
 6608 Date:   Thu Oct 6 09:39:27 2016 -0400
 6609 
 6610     Merge branch 'welcome'
 6611 
 6612 Author: David Levine <levinedl@acm.org>
 6613 Date:   Thu Oct 6 09:11:45 2016 -0400
 6614 
 6615     Enable SMTP 8BITMIME for messages with 8-bit content:
 6616     
 6617     1) In post, look for a Content-Transfer-Encoding header.  It has to
 6618        be the header for the message, not any MIME parts.  If found,
 6619        post trusts that it's correct.  If there isn't one, post scans
 6620        the entire message body for any 8-bit bytes.
 6621     
 6622     2) If the message body is 8-bit:
 6623        If the server supports 8BITMIME, enable it.
 6624     
 6625        If the server doesn't support 8BITMIME, fail with a message to
 6626        user that they need to encode the message for 7-bit transport.
 6627 
 6628 Author: David Levine <levinedl@acm.org>
 6629 Date:   Wed Oct 5 16:04:11 2016 -0400
 6630 
 6631     Call c_ceclosefnx in mhfixmsg set_ce().  It doesn't seem to help
 6632     reduce file descriptor leaks, but can't hurt.
 6633 
 6634 Author: David Levine <levinedl@acm.org>
 6635 Date:   Wed Oct 5 16:02:47 2016 -0400
 6636 
 6637     Don't set c_reqencoding in repl, let mhbuild set it based on
 6638     the content.
 6639 
 6640 Author: Ken Hornstein <kenh@pobox.com>
 6641 Date:   Tue Oct 4 22:00:12 2016 -0400
 6642 
 6643     Improve these comments a bit.
 6644 
 6645 Author: David Levine <levinedl@acm.org>
 6646 Date:   Tue Oct 4 21:24:10 2016 -0400
 6647 
 6648     Enabled check for 8-bit content in all text parts, not just those
 6649     with no specified character set, so that a Content-Transfer-Encoding
 6650     header will be added if needed.
 6651 
 6652 Author: David Levine <levinedl@acm.org>
 6653 Date:   Tue Oct 4 19:08:42 2016 -0400
 6654 
 6655     Have mhfixmsg add a C-T-E at the message level, based on the least
 6656     restrictive C-T-E of its parts.
 6657 
 6658 Author: David Levine <levinedl@acm.org>
 6659 Date:   Mon Oct 3 21:30:14 2016 -0400
 6660 
 6661     Base Content-Transfer-Encoding on decoded and new text parts on
 6662     content rather than the user's charset.
 6663 
 6664 Author: David Levine <levinedl@acm.org>
 6665 Date:   Mon Oct 3 17:59:51 2016 -0400
 6666 
 6667     Fixed typo.
 6668 
 6669 Author: David Levine <levinedl@acm.org>
 6670 Date:   Mon Oct 3 17:50:35 2016 -0400
 6671 
 6672     Fix C-T-E of message, as well as multipart, types to be 7bit, 8bit,
 6673     or binary.
 6674 
 6675 Author: David Levine <levinedl@acm.org>
 6676 Date:   Sun Oct 2 09:53:56 2016 -0400
 6677 
 6678     Added test of SMTP server that doesn't support SMTPUTF8.
 6679 
 6680 Author: Ken Hornstein <kenh@pobox.com>
 6681 Date:   Sun Oct 2 02:05:44 2016 -0400
 6682 
 6683     Fix some typos in the comments.
 6684 
 6685 Author: Ken Hornstein <kenh@pobox.com>
 6686 Date:   Sun Oct 2 01:47:15 2016 -0400
 6687 
 6688     Move the read buffer shuffling to BEFORE where we call the network
 6689     read routines; otherwise we can end up calling the lower layers with
 6690     a length of zero, which messes everything up.
 6691     
 6692     Also make sure we reshuffle our pointers around if that happens.
 6693 
 6694 Author: David Levine <levinedl@acm.org>
 6695 Date:   Sat Oct 1 14:37:27 2016 -0400
 6696 
 6697     mhfixmsg now replaces RFC 2047 encoding with RFC 2231 encoding of
 6698     name and filename parameters in Content-Type and Content-Disposition
 6699     headers, respectively.
 6700 
 6701 Author: David Levine <levinedl@acm.org>
 6702 Date:   Sat Oct 1 12:49:12 2016 -0400
 6703 
 6704     Cleaned up a bit, mostly in comments for each function.
 6705 
 6706 Author: Ken Hornstein <kenh@pobox.com>
 6707 Date:   Sat Oct 1 01:02:34 2016 -0400
 6708 
 6709     Sigh, the return value from SSL_get_error() isn't suitable to give
 6710     to ERR_get_error(), so use a different function to get the error.
 6711 
 6712 Author: Ken Hornstein <kenh@pobox.com>
 6713 Date:   Fri Sep 30 21:24:43 2016 -0400
 6714 
 6715     Print even more errors.
 6716 
 6717 Author: Ken Hornstein <kenh@pobox.com>
 6718 Date:   Fri Sep 30 15:15:08 2016 -0400
 6719 
 6720     Add -initialtls/-notls flags to msgchk.
 6721 
 6722 Author: Ken Hornstein <kenh@pobox.com>
 6723 Date:   Fri Sep 30 15:07:03 2016 -0400
 6724 
 6725     Make sure we retry if possible upon a TLS read, and give a more meaningful
 6726     error if we can't.
 6727 
 6728 Author: David Levine <levinedl@acm.org>
 6729 Date:   Fri Sep 30 10:35:06 2016 -0400
 6730 
 6731     Added --sysconfdir to nmh.cygport.
 6732 
 6733 Author: David Levine <levinedl@acm.org>
 6734 Date:   Fri Sep 30 09:18:27 2016 -0400
 6735 
 6736     Replaced some hard-coded strings with variables in nmh.cygport.
 6737 
 6738 Author: Eric Gillespie <epg@pretzelnet.org>
 6739 Date:   Fri Sep 30 00:55:55 2016 -0700
 6740 
 6741     Fix typos and drop declaractions of 2 undefined functions.
 6742 
 6743 Author: David Levine <levinedl@acm.org>
 6744 Date:   Thu Sep 29 15:18:02 2016 -0400
 6745 
 6746     Updated comments in h/prototypes.h.
 6747 
 6748 Author: David Levine <levinedl@acm.org>
 6749 Date:   Thu Sep 29 15:13:05 2016 -0400
 6750 
 6751     Welcome message enhancements:
 6752     1) Disable if Welcome: disable component is in profile.
 6753     2) If MHCONTEXT is set, only print the message if the context file
 6754        already has a Version: reference where the version is old.
 6755 
 6756 Author: David Levine <levinedl@acm.org>
 6757 Date:   Thu Sep 29 11:40:10 2016 -0400
 6758 
 6759     Instead of relying on invo_name to decide whether to call
 6760     nmh_version_changed(), use a read_context setting of 1.
 6761 
 6762 Author: David Levine <levinedl@acm.org>
 6763 Date:   Thu Sep 29 09:58:27 2016 -0400
 6764 
 6765     Make sure stderr is directed to terminal, as well as stdin and
 6766     stdout, when deciding whether to check for nmh version update.
 6767 
 6768 Author: David Levine <levinedl@acm.org>
 6769 Date:   Wed Sep 28 18:48:16 2016 -0400
 6770 
 6771     Wait for user to ack new version message.
 6772 
 6773 Author: David Levine <levinedl@acm.org>
 6774 Date:   Wed Sep 28 15:01:43 2016 -0400
 6775 
 6776     Added welcome message when nmh detects that its version changed.
 6777 
 6778 Author: Oliver Kiddle <okiddle@yahoo.co.uk>
 6779 Date:   Wed Sep 28 09:58:54 2016 +0200
 6780 
 6781     back out use of RFC 2047 decoding on the filename
 6782     
 6783     The RFCs clearly state that an encoded word should not be used in
 6784     the MIME parameters and the scheme from RFC2231 should be used
 6785     instead. nmh supports that. Unfortunately, other mail clients,
 6786     in particular gmail and IBM/Lotus Notes, produce messages with
 6787     the invalid encoding.
 6788 
 6789 Author: David Levine <levinedl@acm.org>
 6790 Date:   Tue Sep 27 08:29:05 2016 -0400
 6791 
 6792     Added start_test/finish_test.
 6793 
 6794 Author: David Levine <levinedl@acm.org>
 6795 Date:   Tue Sep 27 08:28:47 2016 -0400
 6796 
 6797     Updated start_test() and finish_test() to not update the test name
 6798     if there was a test failure.  run_test disables exit on non-zero
 6799     status, but does increment failed.
 6800 
 6801 Author: Oliver Kiddle <okiddle@yahoo.co.uk>
 6802 Date:   Tue Sep 27 01:42:55 2016 +0200
 6803 
 6804     Do RFC 2047 decoding on filename for mhstore
 6805 
 6806 Author: David Levine <levinedl@acm.org>
 6807 Date:   Mon Sep 26 16:50:38 2016 -0400
 6808 
 6809     Replaced use of GNU sed extension.
 6810 
 6811 Author: David Levine <levinedl@acm.org>
 6812 Date:   Mon Sep 26 15:41:22 2016 -0400
 6813 
 6814     Added debug statements to test-mhparam.
 6815 
 6816 Author: David Levine <levinedl@acm.org>
 6817 Date:   Mon Sep 26 14:33:55 2016 -0400
 6818 
 6819     Fixed typo in -help message.
 6820 
 6821 Author: David Levine <levinedl@acm.org>
 6822 Date:   Mon Sep 26 12:07:50 2016 -0400
 6823 
 6824     Reworked BUGS section of nmh(7) man page, and added excerpt
 6825     to end of each -help message and to end of install-mh output.
 6826 
 6827 Merge: aaf014c 60048af
 6828 Author: David Levine <levinedl@acm.org>
 6829 Date:   Mon Sep 26 08:58:55 2016 -0400
 6830 
 6831     Merge remote-tracking branch 'origin' into smtputf8
 6832 
 6833 Author: David Levine <levinedl@acm.org>
 6834 Date:   Sun Sep 25 12:58:05 2016 -0400
 6835 
 6836     Added MH(7) man page, as an alias of nmh(7).
 6837 
 6838 Author: David Levine <levinedl@acm.org>
 6839 Date:   Sun Sep 25 12:18:42 2016 -0400
 6840 
 6841     Added mention of replaliases to mh-mime(7) man page.
 6842 
 6843 Merge: 2c00d44 38e17e1
 6844 Author: David Levine <levinedl@acm.org>
 6845 Date:   Sun Sep 25 09:28:05 2016 -0400
 6846 
 6847     Merge remote-tracking branch 'origin' into smtputf8
 6848 
 6849 Author: David Levine <levinedl@acm.org>
 6850 Date:   Sat Sep 24 17:08:01 2016 -0400
 6851 
 6852     Replace profile-based hack to allow getname() to handle 8-bit
 6853     addresses with a global data-based hack.  At least the global
 6854     data is hidden in addrsbr.c.
 6855 
 6856 Author: David Levine <levinedl@acm.org>
 6857 Date:   Sat Sep 24 17:01:32 2016 -0400
 6858 
 6859     Removed send and post -eai switches.  Instead, post now enables
 6860     SMTPUTF8 if it finds any 8-bit characters in header field bodies.
 6861 
 6862 Author: David Levine <levinedl@acm.org>
 6863 Date:   Sat Sep 24 12:21:40 2016 -0400
 6864 
 6865     Disabled incompatible locale check because the output varies too
 6866     much between platforms.
 6867     
 6868     (cherry picked from commit 38e17e1b8ba306ed6137b174f2f196d09d02816f)
 6869 
 6870 Author: David Levine <levinedl@acm.org>
 6871 Date:   Sat Sep 24 12:21:40 2016 -0400
 6872 
 6873     Disabled incompatible locale check because the output varies too
 6874     much between platforms.
 6875 
 6876 Author: David Levine <levinedl@acm.org>
 6877 Date:   Sat Sep 24 12:10:28 2016 -0400
 6878 
 6879     Wrapped some variables and arguments to prevent compile warnings
 6880     when configured without SASL and OAUTH support.
 6881 
 6882 Author: David Levine <levinedl@acm.org>
 6883 Date:   Sat Sep 24 10:42:58 2016 -0400
 6884 
 6885     Added incompatible locale test to test/mhl/test-rfc6532.  It's
 6886     a placeholder to show that 8-bit header field values aren't
 6887     properly handled if the locale is incompatible.
 6888     
 6889     (cherry picked from commit 2cfa2ea56602d3bb0465a46c0b144017b497b558)
 6890 
 6891 Author: David Levine <levinedl@acm.org>
 6892 Date:   Sat Sep 24 10:42:58 2016 -0400
 6893 
 6894     Added incompatible locale test to test/mhl/test-rfc6532.  It's
 6895     a placeholder to show that 8-bit header field values aren't
 6896     properly handled if the locale is incompatible.
 6897 
 6898 Author: David Levine <levinedl@acm.org>
 6899 Date:   Sat Sep 24 09:44:39 2016 -0400
 6900 
 6901     Added descriptive/usage information to top of replaliases.
 6902 
 6903 Author: Ken Hornstein <kenh@pobox.com>
 6904 Date:   Sat Sep 24 02:01:05 2016 -0400
 6905 
 6906     Change from an autoconf test for SSL_library_init to SSL_new,
 6907     for compatibility with OpenSSL 1.1.0.
 6908 
 6909 Author: Ken Hornstein <kenh@pobox.com>
 6910 Date:   Fri Sep 23 23:12:58 2016 -0400
 6911 
 6912     Improve and update comments a bit, and also improve the error messages
 6913     when we don't have Cyrus-SASL support compiled in.
 6914 
 6915 Author: David Levine <levinedl@acm.org>
 6916 Date:   Fri Sep 23 22:13:04 2016 -0400
 6917 
 6918     Specify that mhbuild -autoheaderencoding picks either base64 or q-p,
 6919     but not utf-8.
 6920 
 6921 Author: Ken Hornstein <kenh@pobox.com>
 6922 Date:   Fri Sep 23 22:04:44 2016 -0400
 6923 
 6924     Add our sample localpostprox, and also pick up replaliases while we're
 6925     at it.
 6926 
 6927 Author: David Levine <levinedl@acm.org>
 6928 Date:   Fri Sep 23 21:54:26 2016 -0400
 6929 
 6930     Renamed mhbuild -headerencoding 8bit to utf-8.
 6931 
 6932 Author: Ken Hornstein <kenh@pobox.com>
 6933 Date:   Fri Sep 23 19:52:09 2016 -0400
 6934 
 6935     Make it so we always return the chosen mechanism, even if we aren't
 6936     using the Cyrus SASL library; this makes XOAUTH2 work without
 6937     Cyrus-SASL.
 6938 
 6939 Author: Ken Hornstein <kenh@pobox.com>
 6940 Date:   Fri Sep 23 19:51:36 2016 -0400
 6941 
 6942     Missed removing SASLminc() from authservice switch.
 6943 
 6944 Author: Ken Hornstein <kenh@pobox.com>
 6945 Date:   Fri Sep 23 19:30:21 2016 -0400
 6946 
 6947     Switch to AM_DISTCHECK_CONFIGURE_FLAGS.
 6948 
 6949 Author: Ken Hornstein <kenh@pobox.com>
 6950 Date:   Fri Sep 23 15:08:25 2016 -0400
 6951 
 6952     Make the SASL flags work even without support for Cyrus-SASL.
 6953 
 6954 Author: Ken Hornstein <kenh@pobox.com>
 6955 Date:   Fri Sep 23 15:07:51 2016 -0400
 6956 
 6957     Move things around so you can still initialize netsec with SASL
 6958     parameters even if you don't have Cyrus-SASL enabled.
 6959 
 6960 Author: Ken Hornstein <kenh@pobox.com>
 6961 Date:   Fri Sep 23 14:48:50 2016 -0400
 6962 
 6963     Move some of the SASL variables outside of the ifdef, so OAUTH
 6964     can make use of them.  Also, clean up some warnings.
 6965 
 6966 Author: Ken Hornstein <kenh@pobox.com>
 6967 Date:   Fri Sep 23 14:22:29 2016 -0400
 6968 
 6969     Update documentation a bit.
 6970 
 6971 Author: Ken Hornstein <kenh@pobox.com>
 6972 Date:   Fri Sep 23 14:21:23 2016 -0400
 6973 
 6974     Whoops, a typo from the last merge; when the one variable got
 6975     reformatted continuation escapes weren't included.
 6976 
 6977 Merge: f3cd885 2ebd126
 6978 Author: Ken Hornstein <kenh@pobox.com>
 6979 Date:   Fri Sep 23 14:14:26 2016 -0400
 6980 
 6981     Merge branch 'pop-tls'
 6982 
 6983 Author: Ken Hornstein <kenh@pobox.com>
 6984 Date:   Fri Sep 23 14:13:23 2016 -0400
 6985 
 6986     Don't output snoop information when doing RETR or TOP.
 6987 
 6988 Author: Ken Hornstein <kenh@pobox.com>
 6989 Date:   Fri Sep 23 14:00:59 2016 -0400
 6990 
 6991     Switch decodeBase64() second argument to an unsigned char **.
 6992 
 6993 Author: Ken Hornstein <kenh@pobox.com>
 6994 Date:   Fri Sep 23 13:59:52 2016 -0400
 6995 
 6996     Don't always output a decoded SASL token; if it's a large binary blob, just
 6997     stick with the base64 output.
 6998 
 6999 Author: David Levine <levinedl@acm.org>
 7000 Date:   Fri Sep 23 11:55:20 2016 -0400
 7001 
 7002     Added SMTPUTF8 (RFC 6531) support:
 7003         1) Allow 8-bit characters in addresses.
 7004         2) Disable RFC 2047 encoding of (all) header field bodies, via
 7005            mhbuild -headerencoding 8bit.
 7006         3) Have post enable it in the SMTP transaction.
 7007         4) If enabled, add the commands to the SMTP transaction
 7008            (MAIL FROM: <address> BODY=8BITMIME SMTPUTF8).
 7009     Some things may changed, such as the 8bit encoding algorithm name.
 7010 
 7011 Author: David Levine <levinedl@acm.org>
 7012 Date:   Fri Sep 23 08:21:57 2016 -0400
 7013 
 7014     Rearranged statements to avoid compile warning about mixed
 7015     declarations and code.
 7016 
 7017 Author: David Levine <levinedl@acm.org>
 7018 Date:   Fri Sep 23 08:20:27 2016 -0400
 7019 
 7020     Fixed typo (NOTLSSW).
 7021 
 7022 Author: Ken Hornstein <kenh@pobox.com>
 7023 Date:   Thu Sep 22 23:27:36 2016 -0400
 7024 
 7025     Garbage collect the saslmaxssf flag, and update documentation for
 7026     new -initialtls flag and -notls flags for inc.
 7027 
 7028 Author: Ken Hornstein <kenh@pobox.com>
 7029 Date:   Thu Sep 22 23:10:59 2016 -0400
 7030 
 7031     Forgot to reset the snoop callback one time.
 7032 
 7033 Author: Ken Hornstein <kenh@pobox.com>
 7034 Date:   Thu Sep 22 21:26:39 2016 -0400
 7035 
 7036     Fix some typos and warnings.
 7037 
 7038 Author: Ken Hornstein <kenh@pobox.com>
 7039 Date:   Thu Sep 22 20:01:34 2016 -0400
 7040 
 7041     Switched to "server" instead of "client" for SASL remote hostname.
 7042 
 7043 Author: Ken Hornstein <kenh@pobox.com>
 7044 Date:   Thu Sep 22 19:31:57 2016 -0400
 7045 
 7046     Garbage collect unused code.
 7047 
 7048 Author: Ken Hornstein <kenh@pobox.com>
 7049 Date:   Thu Sep 22 19:24:50 2016 -0400
 7050 
 7051     Whoops, turns out I originally ran this test with XOAUTH set.  Fix the
 7052     output and make sure the common script unsets XOAUTH so this doesn't
 7053     happen again.
 7054 
 7055 Author: Ken Hornstein <kenh@pobox.com>
 7056 Date:   Thu Sep 22 19:12:36 2016 -0400
 7057 
 7058     Change the tests to make them work with the new program output
 7059     and slight change in the interface.
 7060 
 7061 Author: Ken Hornstein <kenh@pobox.com>
 7062 Date:   Thu Sep 22 19:12:12 2016 -0400
 7063 
 7064     Add error reporting for one case, and move around the return code
 7065     in the SASL callback a bit.
 7066 
 7067 Author: Ken Hornstein <kenh@pobox.com>
 7068 Date:   Thu Sep 22 19:11:32 2016 -0400
 7069 
 7070     Add the SASL callback; things work now!
 7071 
 7072 Author: Ken Hornstein <kenh@pobox.com>
 7073 Date:   Thu Sep 22 19:10:23 2016 -0400
 7074 
 7075     Disable the original call to BIO_flush() now that we're doing our
 7076     own buffering.
 7077 
 7078 Author: Ken Hornstein <kenh@pobox.com>
 7079 Date:   Thu Sep 22 19:05:39 2016 -0400
 7080 
 7081     I had forgotten that nesec_set_tls() has to be called AFTER the
 7082     descriptors are set.
 7083 
 7084 Author: David Levine <levinedl@acm.org>
 7085 Date:   Thu Sep 22 14:08:10 2016 -0400
 7086 
 7087     Fixed test-mhfixmsg by using octal instead of hex bytes with
 7088     printf(1).
 7089 
 7090 Author: David Levine <levinedl@acm.org>
 7091 Date:   Thu Sep 22 13:54:50 2016 -0400
 7092 
 7093     Removed temporary debuggin printout.
 7094 
 7095 Author: David Levine <levinedl@acm.org>
 7096 Date:   Thu Sep 22 13:39:55 2016 -0400
 7097 
 7098     Added start_test/finish_test.
 7099 
 7100 Author: David Levine <levinedl@acm.org>
 7101 Date:   Thu Sep 22 13:39:42 2016 -0400
 7102 
 7103     Added temporary diagnostic printout.
 7104 
 7105 Author: David Levine <levinedl@acm.org>
 7106 Date:   Thu Sep 22 13:07:32 2016 -0400
 7107 
 7108     Allow -decodetext binary, though 8bit is still the default because
 7109     binary can produce messages that are not RFC 2045 compliant.
 7110 
 7111 Author: David Levine <levinedl@acm.org>
 7112 Date:   Thu Sep 22 08:24:49 2016 -0400
 7113 
 7114     Specify full path to mhl in test because it might not be on PATH.
 7115 
 7116 Author: Ken Hornstein <kenh@pobox.com>
 7117 Date:   Thu Sep 22 00:05:13 2016 -0400
 7118 
 7119     Alright, things compile now, but don't link yet; need to write the
 7120     SMTP sasl callback.
 7121 
 7122 Author: Ken Hornstein <kenh@pobox.com>
 7123 Date:   Thu Sep 22 00:04:43 2016 -0400
 7124 
 7125     Okay, fixed a few more things.  Almost there?
 7126 
 7127 Merge: 64a5aa1 cff807b
 7128 Author: Ken Hornstein <kenh@pobox.com>
 7129 Date:   Wed Sep 21 23:33:29 2016 -0400
 7130 
 7131     Merge branch 'pop-tls' of git.sv.gnu.org:/srv/git/nmh into pop-tls
 7132 
 7133 Author: Ken Hornstein <kenh@pobox.com>
 7134 Date:   Wed Sep 21 23:32:11 2016 -0400
 7135 
 7136     Change things so we can take two file descriptors, one for input
 7137     and one for output.
 7138 
 7139 Author: Ken Hornstein <kenh@pobox.com>
 7140 Date:   Wed Sep 21 16:51:21 2016 -0400
 7141 
 7142     Okay!  Squashed a few bugs, now have POP OAuth tests working.
 7143 
 7144 Author: David Levine <levinedl@acm.org>
 7145 Date:   Wed Sep 21 13:49:21 2016 -0400
 7146 
 7147     Fixed test-rfc6532:  MIME-Version isn't ignored by mhl.headers.
 7148     Maybe it should be?
 7149 
 7150 Author: David Levine <levinedl@acm.org>
 7151 Date:   Wed Sep 21 11:54:49 2016 -0400
 7152 
 7153     Added test/mhl/test-rfc6532.
 7154 
 7155 Author: Ken Hornstein <kenh@pobox.com>
 7156 Date:   Wed Sep 21 00:06:52 2016 -0400
 7157 
 7158     Add support for a base64-decoding snoop callback.
 7159 
 7160 Author: Ken Hornstein <kenh@pobox.com>
 7161 Date:   Tue Sep 20 23:30:51 2016 -0400
 7162 
 7163     Garbage-collect all of this unused code.
 7164 
 7165 Author: Ken Hornstein <kenh@pobox.com>
 7166 Date:   Tue Sep 20 22:11:25 2016 -0400
 7167 
 7168     We have OAauth working!  But the tests don't work yet.
 7169 
 7170 Author: Ken Hornstein <kenh@pobox.com>
 7171 Date:   Tue Sep 20 20:09:37 2016 -0400
 7172 
 7173     Shuffle some stuff around, change some prototypes, and modify the
 7174     oauth code a bit to fit our new structure.
 7175 
 7176 Author: David Levine <levinedl@acm.org>
 7177 Date:   Tue Sep 20 12:23:04 2016 -0400
 7178 
 7179     Plugged memory leak in openBase64().
 7180 
 7181 Author: Ken Hornstein <kenh@pobox.com>
 7182 Date:   Mon Sep 19 23:29:39 2016 -0400
 7183 
 7184     Maybe ... it works?  Sort of!  Needs more testing, and for me to finish
 7185     OAuth support.
 7186 
 7187 Author: Ken Hornstein <kenh@pobox.com>
 7188 Date:   Mon Sep 19 19:59:40 2016 -0400
 7189 
 7190     More work, but not there just yet.
 7191 
 7192 Author: Ken Hornstein <kenh@pobox.com>
 7193 Date:   Sun Sep 18 22:03:18 2016 -0400
 7194 
 7195     Okay, we're finally getting to implementation stage!  Hopefully we'll be
 7196     able to make it all work with POP first, then SMTP.
 7197 
 7198 Author: David Levine <levinedl@acm.org>
 7199 Date:   Sun Sep 18 12:22:10 2016 -0400
 7200 
 7201     Moved LDFLAGS to AM_LDFLAGS.
 7202 
 7203 Author: David Levine <levinedl@acm.org>
 7204 Date:   Sun Sep 18 10:29:17 2016 -0400
 7205 
 7206     Moved CFLAGS additions to AM_CFLAGS.
 7207 
 7208 Author: David Levine <levinedl@acm.org>
 7209 Date:   Sun Sep 18 09:57:06 2016 -0400
 7210 
 7211     Moved restore of CFLAGS outside of AC_CHECK_HEADER, so that it's done
 7212     unconditionally.
 7213 
 7214 Author: Ken Hornstein <kenh@pobox.com>
 7215 Date:   Sun Sep 18 01:15:20 2016 -0400
 7216 
 7217     I think I've written all of these functions; now we just need to
 7218     have everyone else use them.
 7219 
 7220 Author: David Levine <levinedl@acm.org>
 7221 Date:   Sat Sep 17 17:11:23 2016 -0400
 7222 
 7223     Added AM_CPPFLAGS to CFLAGS that are used for curl checks, because
 7224     they're needed on Cygwin.  (Without _GNU_SOURCE, sys/types.h doesn't
 7225     include sys/select.h.)  Also added AM_CFLAGS, which we don't currently
 7226     use but might in the future.
 7227 
 7228 Author: David Levine <levinedl@acm.org>
 7229 Date:   Sat Sep 17 10:15:11 2016 -0400
 7230 
 7231     Updated Makefile.am to correspond to file replacement in commit
 7232     4a007bacfa67e69923b15500e2b2c3a6bcde541a.
 7233 
 7234 Author: David Levine <levinedl@acm.org>
 7235 Date:   Sat Sep 17 10:08:22 2016 -0400
 7236 
 7237     Updated cygport script in preparation for nmh 1.7 release.
 7238 
 7239 Author: David Levine <levinedl@acm.org>
 7240 Date:   Sat Sep 17 10:06:56 2016 -0400
 7241 
 7242     Replaced cygwin build script with cygport script.
 7243 
 7244 Author: David Levine <levinedl@acm.org>
 7245 Date:   Sat Sep 17 10:05:35 2016 -0400
 7246 
 7247     Added libcurl to Cygwin package requirements, if configured
 7248     with --with-oauth.
 7249 
 7250 Author: David Levine <levinedl@acm.org>
 7251 Date:   Fri Sep 16 17:47:31 2016 -0400
 7252 
 7253     Added oauth to mhparam examples.
 7254 
 7255 Author: Ken Hornstein <kenh@pobox.com>
 7256 Date:   Fri Sep 16 15:59:27 2016 -0400
 7257 
 7258     Still closer, but not quite there yet.
 7259 
 7260 Author: David Levine <levinedl@acm.org>
 7261 Date:   Fri Sep 16 12:08:55 2016 -0400
 7262 
 7263     Moved LFLAGS additions to AM_LFLAGS.
 7264 
 7265 Author: David Levine <levinedl@acm.org>
 7266 Date:   Fri Sep 16 11:56:42 2016 -0400
 7267 
 7268     Use CPPFLAGS instead of AM_CPPFLAGS for FreeBSD additions.
 7269     Otherwise, it will miss -liconv.  I think.
 7270 
 7271 Author: David Levine <levinedl@acm.org>
 7272 Date:   Fri Sep 16 11:15:45 2016 -0400
 7273 
 7274     Cleaned up cppflags.m4 a bit and fixed its mode.
 7275 
 7276 Author: David Levine <levinedl@acm.org>
 7277 Date:   Fri Sep 16 08:28:18 2016 -0400
 7278 
 7279     Moved CPPFLAGS additions to AM_CPPFLAGS.
 7280 
 7281 Author: Ken Hornstein <kenh@pobox.com>
 7282 Date:   Thu Sep 15 22:36:17 2016 -0400
 7283 
 7284     Okay, a bit closer.
 7285 
 7286 Author: David Levine <levinedl@acm.org>
 7287 Date:   Thu Sep 15 20:00:02 2016 -0400
 7288 
 7289     Added 2 second timeout to curl command in post() in oauth.c, for
 7290     localhost requests only, because the default timeout on Cygwin is 5
 7291     minutes.
 7292 
 7293 Author: David Levine <levinedl@acm.org>
 7294 Date:   Thu Sep 15 18:58:14 2016 -0400
 7295 
 7296     Added NMH_ADDL_CPPFLAGS macro in new m4/cppflags.m4, to remove
 7297     explicit OS dependencies when deciding whether -DGNU_SOURCE is
 7298     needed.  (Cygwin now needs it.)
 7299 
 7300 Author: Ken Hornstein <kenh@pobox.com>
 7301 Date:   Thu Sep 15 16:00:07 2016 -0400
 7302 
 7303     Fleshed out some more, but we're not there just yet.
 7304 
 7305 Author: Ken Hornstein <kenh@pobox.com>
 7306 Date:   Wed Sep 14 00:00:48 2016 -0400
 7307 
 7308     A bit more code.
 7309 
 7310 Author: Ken Hornstein <kenh@pobox.com>
 7311 Date:   Tue Sep 13 16:00:46 2016 -0400
 7312 
 7313     Save this for now.
 7314 
 7315 Author: Ken Hornstein <kenh@pobox.com>
 7316 Date:   Mon Sep 12 21:37:06 2016 -0400
 7317 
 7318     More functions documented.
 7319 
 7320 Author: Ken Hornstein <kenh@pobox.com>
 7321 Date:   Mon Sep 12 19:07:29 2016 -0400
 7322 
 7323     Beginnings of a new library API.
 7324 
 7325 Author: David Levine <levinedl@acm.org>
 7326 Date:   Sun Sep 11 11:49:44 2016 -0400
 7327 
 7328     Exposed a bunch of switches that are now documented.
 7329 
 7330 Author: David Levine <levinedl@acm.org>
 7331 Date:   Sun Sep 11 11:30:42 2016 -0400
 7332 
 7333     Added Examples section to mhlogin man page.
 7334 
 7335 Author: Ken Hornstein <kenh@pobox.com>
 7336 Date:   Sun Sep 11 00:41:18 2016 -0400
 7337 
 7338     Add a "file-nopermcheck" credential entry.
 7339 
 7340 Author: Ken Hornstein <kenh@pobox.com>
 7341 Date:   Sun Sep 11 00:05:25 2016 -0400
 7342 
 7343     Change this so the MTS_SMTP is the default, to match the value
 7344     of mts_method and the original code.
 7345 
 7346 Author: Ken Hornstein <kenh@pobox.com>
 7347 Date:   Sun Sep 11 00:01:28 2016 -0400
 7348 
 7349     Remove the unused argument from mts_init() (as far as I can tell,
 7350     it has never been used, for anything).
 7351 
 7352 Author: Ken Hornstein <kenh@pobox.com>
 7353 Date:   Fri Sep 9 15:49:26 2016 -0400
 7354 
 7355     Closer, but not there yet.
 7356 
 7357 Author: Ken Hornstein <kenh@pobox.com>
 7358 Date:   Thu Sep 8 15:40:04 2016 -0400
 7359 
 7360     Started ... not quite working yet.
 7361 
 7362 Author: Ken Hornstein <kenh@pobox.com>
 7363 Date:   Thu Sep 8 13:13:57 2016 -0400
 7364 
 7365     Only get a write lock on the sequences file if we're performing a pack
 7366     operation.
 7367 
 7368 Author: David Levine <levinedl@acm.org>
 7369 Date:   Tue Sep 6 18:02:46 2016 -0400
 7370 
 7371     Added some NMH_UNUSED's to prevent compile warnings without
 7372     OAUTH_SUPPORT.
 7373 
 7374 Author: David Levine <levinedl@acm.org>
 7375 Date:   Tue Sep 6 17:49:59 2016 -0400
 7376 
 7377     Protected call of mh_oauth_do_xoauth() with #ifdef OAUTH_SUPPORT to
 7378     allow post(1) to link when configured without it.
 7379 
 7380 Author: David Levine <levinedl@acm.org>
 7381 Date:   Tue Sep 6 17:36:16 2016 -0400
 7382 
 7383     Protected use of setup_oauth_params() with #ifdef OAUTH_SUPPORT.
 7384 
 7385 Author: Ken Hornstein <kenh@pobox.com>
 7386 Date:   Tue Sep 6 15:32:28 2016 -0400
 7387 
 7388     Under some circumstances, some version of MacOS X can return EPROTOTYPE
 7389     if you try to write to a connection that is being torn down.  Handle
 7390     that case.
 7391 
 7392 Author: David Levine <levinedl@acm.org>
 7393 Date:   Tue Sep 6 09:16:15 2016 -0400
 7394 
 7395     Removed incorrect increment of read position pointer, which caused
 7396     first character of some very short (less than 4 characters) message
 7397     bodies to be dropped.  It seems that the message needed to start
 7398     with a "From " line to reveal the problem.
 7399 
 7400 Merge: 5776f9b da91c15
 7401 Author: Ken Hornstein <kenh@pobox.com>
 7402 Date:   Mon Sep 5 20:32:03 2016 -0400
 7403 
 7404     Merge branch 'xoauth'
 7405 
 7406 Author: Ken Hornstein <kenh@pobox.com>
 7407 Date:   Mon Sep 5 20:21:55 2016 -0400
 7408 
 7409     Change things so if -authservice wasn't given, throw an error.
 7410     At the same time, improve the code so -authservice doesn't
 7411     have to be given before the other oauth flags.
 7412 
 7413 Author: Ken Hornstein <kenh@pobox.com>
 7414 Date:   Sun Sep 4 22:20:40 2016 -0400
 7415 
 7416     Switch from our horrible awk script that parses the signal header file
 7417     to the POSIX function strsignal().
 7418 
 7419 Author: Ken Hornstein <kenh@pobox.com>
 7420 Date:   Sun Sep 4 20:42:21 2016 -0400
 7421 
 7422     Fix up a few minor nits to make OAuth2 (finally!) work right in post(8).
 7423     Change the tests to support the new error output.
 7424 
 7425 Author: Ken Hornstein <kenh@pobox.com>
 7426 Date:   Sat Sep 3 23:46:45 2016 -0400
 7427 
 7428     Add new signal include file location for El Capitan.  I am not sure
 7429     this is in general the right approach.
 7430 
 7431 Author: David Levine <levinedl@acm.org>
 7432 Date:   Mon Aug 29 09:26:38 2016 -0400
 7433 
 7434     Added warning message on stderr if folder -nocreate is provided
 7435     a non-existant folder.
 7436     
 7437     (cherry picked from commit d51964a51fdc08d92dab9825a8357c9adba34aa7)
 7438 
 7439 Author: David Levine <levinedl@acm.org>
 7440 Date:   Mon Aug 29 09:26:38 2016 -0400
 7441 
 7442     Added warning message on stderr if folder -nocreate is provided
 7443     a non-existant folder.
 7444 
 7445 Author: David Levine <david.levine@gonift.com>
 7446 Date:   Sun Aug 21 13:04:59 2016 -0400
 7447 
 7448     Removed jsmn license from COPYRIGHT.  In keeping what appears to
 7449     be standard practice, the COPYRIGHT file just contains the nmh
 7450     copyright.  We retain the jsmn license in thirdparty/jsmn/LICENSE.
 7451 
 7452 Author: David Levine <david.levine@gonift.com>
 7453 Date:   Sun Aug 21 12:22:42 2016 -0400
 7454 
 7455     Check result of setup_oauth_params() for != OK instead of non-zero.
 7456 
 7457 Author: Ken Hornstein <kenh@pobox.com>
 7458 Date:   Sun Aug 21 00:39:36 2016 -0400
 7459 
 7460     Very close, but it doesn't passes the tests just yet.
 7461 
 7462 Author: Ken Hornstein <kenh@pobox.com>
 7463 Date:   Sat Aug 20 01:18:13 2016 -0400
 7464 
 7465     Retrieve appropriate profile entries and pass them to post(8).
 7466     Not quite working yet.
 7467 
 7468 Author: Ken Hornstein <kenh@pobox.com>
 7469 Date:   Tue Aug 16 23:35:09 2016 -0400
 7470 
 7471     Start of adding arguments for transmitting OAuth parameters to
 7472     post.
 7473     
 7474     (cherry picked from commit 68246559a5087f3a3c13ef2a6240a7c18dd9c155)
 7475 
 7476 Author: Ken Hornstein <kenh@pobox.com>
 7477 Date:   Tue Aug 16 23:35:09 2016 -0400
 7478 
 7479     Start of adding arguments for transmitting OAuth parameters to
 7480     post.
 7481 
 7482 Author: Ken Hornstein <kenh@pobox.com>
 7483 Date:   Mon Aug 15 14:39:04 2016 -0400
 7484 
 7485     Add $(ICONVLIB) to programs that need it.
 7486     
 7487     (cherry picked from commit 8c9441dc98bb4ce98ae70528d5415d9f5507713e)
 7488 
 7489 Author: Ken Hornstein <kenh@pobox.com>
 7490 Date:   Mon Aug 15 14:39:04 2016 -0400
 7491 
 7492     Add $(ICONVLIB) to programs that need it.
 7493 
 7494 Author: David Levine <levinedl@acm.org>
 7495 Date:   Mon Aug 15 10:58:33 2016 -0400
 7496 
 7497     Create $MH_OBJ_DIR/test/testdir if it doesn't already exist.  This
 7498     allows a test to be run standalone, now that said directory must
 7499     exist before defining $MH_TEST_DIR.
 7500     
 7501     (cherry picked from commit 0f53d91688c0fab28b900ad27a1610a755dea526)
 7502 
 7503 Author: David Levine <levinedl@acm.org>
 7504 Date:   Mon Aug 15 10:58:33 2016 -0400
 7505 
 7506     Create $MH_OBJ_DIR/test/testdir if it doesn't already exist.  This
 7507     allows a test to be run standalone, now that said directory must
 7508     exist before defining $MH_TEST_DIR.
 7509 
 7510 Author: David Levine <levinedl@acm.org>
 7511 Date:   Mon Aug 15 10:31:43 2016 -0400
 7512 
 7513     Plug a couple of (harmless) memory leaks in mhfixmsg.
 7514     
 7515     (cherry picked from commit 58d22c00deb7bc9c771c5293079f6f89bc28274a)
 7516 
 7517 Author: David Levine <levinedl@acm.org>
 7518 Date:   Mon Aug 15 10:31:43 2016 -0400
 7519 
 7520     Plug a couple of (harmless) memory leaks in mhfixmsg.
 7521 
 7522 Author: David Levine <levinedl@acm.org>
 7523 Date:   Sun Aug 14 20:45:43 2016 -0400
 7524 
 7525     Handle base64 decoding decoding of initial response for all AUTH
 7526     mechanisms the same way, based on RFC 4954 spec.  Also, don't try
 7527     to decode = or * response.
 7528     
 7529     (cherry picked from commit b3ebdfc56e7a0199a60d80f54872e86969d96933)
 7530 
 7531 Author: David Levine <levinedl@acm.org>
 7532 Date:   Sun Aug 14 20:45:43 2016 -0400
 7533 
 7534     Handle base64 decoding decoding of initial response for all AUTH
 7535     mechanisms the same way, based on RFC 4954 spec.  Also, don't try
 7536     to decode = or * response.
 7537 
 7538 Author: Ken Hornstein <kenh@pobox.com>
 7539 Date:   Sun Aug 14 13:26:59 2016 -0400
 7540 
 7541     Newer versions of Automake want to include the test-driver script,
 7542     so make sure we ignore it.
 7543     
 7544     (cherry picked from commit bd6f799b1d98c11b50a4121c9ac763bcf1b1b3fe)
 7545 
 7546 Author: Ken Hornstein <kenh@pobox.com>
 7547 Date:   Sun Aug 14 13:25:51 2016 -0400
 7548 
 7549     Use isascii() with isprint(), since using isprint() on
 7550     bytes > 127 is undefined.
 7551     
 7552     (cherry picked from commit 7054379384884f0975c687ce9b2cd8c20e3f2c12)
 7553 
 7554 Author: Ken Hornstein <kenh@pobox.com>
 7555 Date:   Sun Aug 14 13:26:59 2016 -0400
 7556 
 7557     Newer versions of Automake want to include the test-driver script,
 7558     so make sure we ignore it.
 7559 
 7560 Author: Ken Hornstein <kenh@pobox.com>
 7561 Date:   Sun Aug 14 13:25:51 2016 -0400
 7562 
 7563     Use isascii() with isprint(), since using isprint() on
 7564     bytes > 127 is undefined.
 7565 
 7566 Author: David Levine <levinedl@acm.org>
 7567 Date:   Sun Aug 14 13:11:50 2016 -0400
 7568 
 7569     Set HOME in tests if unset, to avoid warning from w3m about not being
 7570     about to create config directory.
 7571     
 7572     (cherry picked from commit 30a9c9b62fa92df289079080eb5ee57d2fda3951)
 7573 
 7574 Author: David Levine <levinedl@acm.org>
 7575 Date:   Sun Aug 14 13:11:50 2016 -0400
 7576 
 7577     Set HOME in tests if unset, to avoid warning from w3m about not being
 7578     about to create config directory.
 7579 
 7580 Author: David Levine <levinedl@acm.org>
 7581 Date:   Sun Aug 14 11:04:07 2016 -0400
 7582 
 7583     Fixed typo in man page.
 7584 
 7585 Author: David Levine <david.levine@gonift.com>
 7586 Date:   Sun Aug 14 11:02:50 2016 -0400
 7587 
 7588     Fixed a couple of typos in man pages.
 7589 
 7590 Author: David Levine <david.levine@gonift.com>
 7591 Date:   Sun Aug 14 10:59:13 2016 -0400
 7592 
 7593     Attempt to decode base64-encoded strings in -snoop traffic.
 7594 
 7595 Author: David Levine <levinedl@acm.org>
 7596 Date:   Sun Aug 14 10:57:51 2016 -0400
 7597 
 7598     Attempt to decode base64-encoded strings in -snoop traffic.
 7599 
 7600 Author: David Levine <levinedl@acm.org>
 7601 Date:   Wed Aug 10 11:58:45 2016 -0400
 7602 
 7603     Canonicalize MH_TEST_DIR in TESTS_ENVIRONMENT.
 7604     
 7605     (cherry picked from commit 28c31eb83bf6113dd72182bb5f13c4da99372d9e)
 7606 
 7607 Author: David Levine <levinedl@acm.org>
 7608 Date:   Wed Aug 10 11:47:36 2016 -0400
 7609 
 7610     Use pwd -P to canonicalize MH_TEST_DIR.
 7611     
 7612     (cherry picked from commit 6f94c7d978b034d34319236e8a868a5b225605c0)
 7613 
 7614 Author: David Levine <levinedl@acm.org>
 7615 Date:   Wed Aug 10 11:41:01 2016 -0400
 7616 
 7617     Added debug printouts.
 7618     
 7619     (cherry picked from commit 5d8bc1288d5bd672bfb81b347e4c7742fbe644d1)
 7620 
 7621 Author: David Levine <levinedl@acm.org>
 7622 Date:   Wed Aug 10 11:19:00 2016 -0400
 7623 
 7624     Canonicalized MH_TEST_DIR, and replaced use of `pwd` with it, to
 7625     try to prevent test failures on fbsd10 test host.
 7626     
 7627     (cherry picked from commit 1846c42228ff68f328cb046027bc7a03ec3ba596)
 7628 
 7629 Author: David Levine <levinedl@acm.org>
 7630 Date:   Wed Aug 10 11:58:45 2016 -0400
 7631 
 7632     Canonicalize MH_TEST_DIR in TESTS_ENVIRONMENT.
 7633 
 7634 Author: David Levine <levinedl@acm.org>
 7635 Date:   Wed Aug 10 11:47:36 2016 -0400
 7636 
 7637     Use pwd -P to canonicalize MH_TEST_DIR.
 7638 
 7639 Author: David Levine <levinedl@acm.org>
 7640 Date:   Wed Aug 10 11:41:01 2016 -0400
 7641 
 7642     Added debug printouts.
 7643 
 7644 Author: David Levine <levinedl@acm.org>
 7645 Date:   Wed Aug 10 11:19:00 2016 -0400
 7646 
 7647     Canonicalized MH_TEST_DIR, and replaced use of `pwd` with it, to
 7648     try to prevent test failures on fbsd10 test host.
 7649 
 7650 Author: David Levine <levinedl@acm.org>
 7651 Date:   Fri Jul 22 10:08:24 2016 -0400
 7652 
 7653     Fixed comments describing decodeBase64().
 7654     
 7655     (cherry picked from commit 06b87ce464beb93a7929541c355edf580ccec023)
 7656 
 7657 Author: David Levine <levinedl@acm.org>
 7658 Date:   Fri Jul 22 10:08:24 2016 -0400
 7659 
 7660     Fixed comments describing decodeBase64().
 7661 
 7662 Author: David Levine <levinedl@acm.org>
 7663 Date:   Wed Jul 20 21:25:01 2016 -0400
 7664 
 7665     Factored out base64 decoding code into decodeBase64().
 7666     
 7667     (cherry picked from commit 522c66eae1a144e0631dfaa61f1632e341ea7ce6)
 7668 
 7669 Author: David Levine <levinedl@acm.org>
 7670 Date:   Wed Jul 20 21:14:25 2016 -0400
 7671 
 7672     Moved md5.c from uip to sbr.
 7673     
 7674     (cherry picked from commit 98c792e2effa2656e4fce979d6f6eec44d64131c)
 7675 
 7676 Author: David Levine <levinedl@acm.org>
 7677 Date:   Wed Jul 20 21:25:01 2016 -0400
 7678 
 7679     Factored out base64 decoding code into decodeBase64().
 7680 
 7681 Author: David Levine <levinedl@acm.org>
 7682 Date:   Wed Jul 20 21:14:25 2016 -0400
 7683 
 7684     Moved md5.c from uip to sbr.
 7685 
 7686 Author: David Levine <levinedl@acm.org>
 7687 Date:   Fri Jul 8 11:01:07 2016 -0400
 7688 
 7689     Updated send(1) man page to note that sendfrom looks in
 7690     Envelope-From and Sender headers as well as the From header.
 7691     
 7692     (cherry picked from commit b347135ed8e4c15c6562d7b3d7924bd9ef7f1589)
 7693 
 7694 Author: David Levine <levinedl@acm.org>
 7695 Date:   Fri Jul 8 11:01:07 2016 -0400
 7696 
 7697     Updated send(1) man page to note that sendfrom looks in
 7698     Envelope-From and Sender headers as well as the From header.
 7699 
 7700 Merge: ae54f99 75ac400
 7701 Author: David Levine <david.levine@gonift.com>
 7702 Date:   Fri Jul 8 10:48:59 2016 -0400
 7703 
 7704     Merge remote-tracking branch 'origin' into xoauth
 7705 
 7706 Author: David Levine <levinedl@acm.org>
 7707 Date:   Fri Jul 8 10:35:52 2016 -0400
 7708 
 7709     Added Envelope-From and Sender support to sendfrom.
 7710 
 7711 Author: David Levine <levinedl@acm.org>
 7712 Date:   Fri Jul 8 10:28:20 2016 -0400
 7713 
 7714     Changed addresses to use example.com.
 7715 
 7716 Author: David Levine <levinedl@acm.org>
 7717 Date:   Fri Jul 8 09:59:58 2016 -0400
 7718 
 7719     export MH_TEST_DIR so that test/dist/test-dist can be run standalone.
 7720 
 7721 Author: David Levine <david.levine@gonift.com>
 7722 Date:   Tue Jul 5 12:10:05 2016 -0400
 7723 
 7724     Moved sendfrom code from contrib into send(1).
 7725 
 7726 Author: David Levine <levinedl@acm.org>
 7727 Date:   Tue Jul 5 12:02:59 2016 -0400
 7728 
 7729     Moved sendfrom code from contrib into send(1).
 7730 
 7731 Author: David Levine <levinedl@acm.org>
 7732 Date:   Tue Jul 5 09:57:07 2016 -0400
 7733 
 7734     Added context_find_prefix().
 7735 
 7736 Author: David Levine <david.levine@gonift.com>
 7737 Date:   Mon Jul 4 18:25:53 2016 -0400
 7738 
 7739     Added context_find_prefix().
 7740 
 7741 Author: David Levine <levinedl@acm.org>
 7742 Date:   Sat Jun 25 21:22:37 2016 -0400
 7743 
 7744     Wrapped code block of conditional statement with {}, so that the
 7745     second statement is now included in the conditional.  Found by
 7746     gcc 6 -Wmisleading-indentation.
 7747     
 7748     (cherry picked from commit 9626eb33ed5ff7c59776081e1a58a20a1eed96be)
 7749 
 7750 Author: David Levine <levinedl@acm.org>
 7751 Date:   Sat Jun 25 21:19:37 2016 -0400
 7752 
 7753     Moved free(cp) to right after last (and only) use of cp.  The statement
 7754     was flagged by gcc 6 -Wmisleading-indentation.  In its original location,
 7755     it would not always have been called, resulting in leaked memory.
 7756     
 7757     (cherry picked from commit 79f012b76eba04d50a36a4a37c57458a8d521434)
 7758 
 7759 Author: David Levine <levinedl@acm.org>
 7760 Date:   Sat Jun 25 21:17:05 2016 -0400
 7761 
 7762     Fixed indentation to prevent warning from gcc 6 -Wmisleading-indentation.
 7763     
 7764     (cherry picked from commit a814c930041c1e238f1826b1ac9c46b67e4cfb70)
 7765 
 7766 Author: David Levine <levinedl@acm.org>
 7767 Date:   Sat Jun 25 21:22:37 2016 -0400
 7768 
 7769     Wrapped code block of conditional statement with {}, so that the
 7770     second statement is now included in the conditional.  Found by
 7771     gcc 6 -Wmisleading-indentation.
 7772 
 7773 Author: David Levine <levinedl@acm.org>
 7774 Date:   Sat Jun 25 21:19:37 2016 -0400
 7775 
 7776     Moved free(cp) to right after last (and only) use of cp.  The statement
 7777     was flagged by gcc 6 -Wmisleading-indentation.  In its original location,
 7778     it would not always have been called, resulting in leaked memory.
 7779 
 7780 Author: David Levine <levinedl@acm.org>
 7781 Date:   Sat Jun 25 21:17:05 2016 -0400
 7782 
 7783     Fixed indentation to prevent warning from gcc 6 -Wmisleading-indentation.
 7784 
 7785 Merge: c546ef9 235b62a
 7786 Author: David Levine <david.levine@gonift.com>
 7787 Date:   Sat Jun 25 21:16:36 2016 -0400
 7788 
 7789     Merge remote-tracking branch 'origin' into xoauth
 7790 
 7791 Author: David Levine <levinedl@acm.org>
 7792 Date:   Sun Jun 12 10:38:19 2016 -0400
 7793 
 7794     Added const to filename args of cpydata().  Then added const to some
 7795     args in mhfixmsg.c.
 7796     
 7797     (cherry picked from commit 9f7d48c36f01ba29974834cbcdc24e4c2e1f07d9)
 7798 
 7799 Author: David Levine <levinedl@acm.org>
 7800 Date:   Sun Jun 12 10:36:43 2016 -0400
 7801 
 7802     Added const to arg of m_backup().
 7803     
 7804     (cherry picked from commit d42ab414c8bce17b6b437ef9ebfd194a8ac4111c)
 7805 
 7806 Author: David Levine <david.levine@gonift.com>
 7807 Date:   Sun Jun 12 11:34:59 2016 -0400
 7808 
 7809     Synched common.sh.in from master to nmh-oauth.
 7810 
 7811 Author: David Levine <levinedl@acm.org>
 7812 Date:   Sun Jun 12 11:33:27 2016 -0400
 7813 
 7814     No longer need const cast in sendfrom.c.
 7815 
 7816 Author: David Levine <david.levine@gonift.com>
 7817 Date:   Sun Jun 12 11:27:21 2016 -0400
 7818 
 7819     Added consts to adios(), advise(), and advertise() to sync master
 7820     and nmh-oauth branch.
 7821 
 7822 Author: David Levine <levinedl@acm.org>
 7823 Date:   Sun Jun 12 11:26:37 2016 -0400
 7824 
 7825     Added consts to adios(), advise(), and advertise() to sync master
 7826     and nmh-oauth branch.
 7827 
 7828 Author: David Levine <levinedl@acm.org>
 7829 Date:   Sun Jun 12 10:38:19 2016 -0400
 7830 
 7831     Added const to filename args of cpydata().  Then added const to some
 7832     args in mhfixmsg.c.
 7833 
 7834 Author: David Levine <levinedl@acm.org>
 7835 Date:   Sun Jun 12 10:36:43 2016 -0400
 7836 
 7837     Added const to arg of m_backup().
 7838 
 7839 Author: David Levine <levinedl@acm.org>
 7840 Date:   Sun Jun 12 10:35:47 2016 -0400
 7841 
 7842     Added const to first arg of adios().
 7843 
 7844 Author: David Levine <levinedl@acm.org>
 7845 Date:   Sun Jun 12 10:05:16 2016 -0400
 7846 
 7847     If parse_mime() fails and the -file switch was used, pass the input
 7848     message to it unchanged so that pipelines won't break.
 7849     
 7850     (cherry picked from commit 564b5b785c7cc709f92a83afb547267ed7418f18)
 7851 
 7852 Author: David Levine <levinedl@acm.org>
 7853 Date:   Sun Jun 12 10:05:16 2016 -0400
 7854 
 7855     If parse_mime() fails and the -file switch was used, pass the input
 7856     message to it unchanged so that pipelines won't break.
 7857 
 7858 Author: David Levine <david.levine@gonift.com>
 7859 Date:   Mon May 30 11:49:20 2016 -0400
 7860 
 7861     Plugged leak in mh_oauth_cred_load().
 7862 
 7863 Author: David Levine <david.levine@gonift.com>
 7864 Date:   Mon May 30 11:48:46 2016 -0400
 7865 
 7866     Added free_fs() call to plug leak from fmt_compile().
 7867 
 7868 Author: David Levine <levinedl@acm.org>
 7869 Date:   Mon May 30 11:48:28 2016 -0400
 7870 
 7871     Added free_fs() call to plug leak from fmt_compile().
 7872 
 7873 Author: klemens <ka7@github.com>
 7874 Date:   Sun May 29 14:39:05 2016 +0200
 7875 
 7876     spelling-fixes ( code-comments in .c, .h. .y ... )
 7877     
 7878     (cherry picked from commit 942561da2455ee50a1eb82c8c4f2bdb5e25133d1)
 7879 
 7880 Author: klemens <ka7@github.com>
 7881 Date:   Sun May 29 14:37:11 2016 +0200
 7882 
 7883     spelling-fixes ( docs, man, readme )
 7884     
 7885     (cherry picked from commit fa92642a21119eda8bfc961f8d5a8d3e9ee7d494)
 7886 
 7887 Author: klemens <ka7@github.com>
 7888 Date:   Sun May 29 14:39:05 2016 +0200
 7889 
 7890     spelling-fixes ( code-comments in .c, .h. .y ... )
 7891 
 7892 Author: klemens <ka7@github.com>
 7893 Date:   Sun May 29 14:37:11 2016 +0200
 7894 
 7895     spelling-fixes ( docs, man, readme )
 7896 
 7897 Author: David Levine <david.levine@gonift.com>
 7898 Date:   Sun May 29 09:40:12 2016 -0400
 7899 
 7900     Added sendfrom to docs/contrib.
 7901 
 7902 Author: David Levine <levinedl@acm.org>
 7903 Date:   Sun May 29 09:39:36 2016 -0400
 7904 
 7905     Added sendfrom to docs/contrib.
 7906 
 7907 Author: David Levine <levinedl@acm.org>
 7908 Date:   Sat May 21 09:15:56 2016 -0400
 7909 
 7910     Added docdir to mhparam.
 7911     
 7912     (cherry picked from commit 89d69fbd2ae1f9c8c989850ec7057814c655a727)
 7913 
 7914 Author: David Levine <levinedl@acm.org>
 7915 Date:   Sat May 21 08:06:36 2016 -0400
 7916 
 7917     Removed unnecessary memset on fmt_mnull:  it gets initialized to
 7918     all 0's.
 7919     
 7920     (cherry picked from commit 56c4ac49d7b8ad674c0a66e9999186bcb98bd048)
 7921 
 7922 Author: Ken Hornstein <kenh@pobox.com>
 7923 Date:   Wed May 18 12:44:21 2016 -0400
 7924 
 7925     Check to see if cross-directory links are supported; if they are not,
 7926     then don't run the refile -link test.
 7927     
 7928     (cherry picked from commit 35fce21b692a6259138fc81caf13f4d07bb58da0)
 7929 
 7930 Author: David Levine <levinedl@acm.org>
 7931 Date:   Sat May 21 09:15:56 2016 -0400
 7932 
 7933     Added docdir to mhparam.
 7934 
 7935 Author: David Levine <levinedl@acm.org>
 7936 Date:   Sat May 21 08:06:36 2016 -0400
 7937 
 7938     Removed unnecessary memset on fmt_mnull:  it gets initialized to
 7939     all 0's.
 7940 
 7941 Author: Ken Hornstein <kenh@pobox.com>
 7942 Date:   Wed May 18 12:44:21 2016 -0400
 7943 
 7944     Check to see if cross-directory links are supported; if they are not,
 7945     then don't run the refile -link test.
 7946 
 7947 Author: David Levine <levinedl@acm.org>
 7948 Date:   Mon May 2 12:55:31 2016 -0400
 7949 
 7950     For slocal, changed default user, if -user switch isn't used, to be
 7951     the user part of the Local-Mailbox profile entry, if present, or the
 7952     current user.  addr uses the same default.  This allows addr
 7953     to contain a '.', which slocal did not allow before.
 7954 
 7955 Author: David Levine <david.levine@gonift.com>
 7956 Date:   Mon Apr 25 22:20:39 2016 -0400
 7957 
 7958     Added test of negative return code from jsmn_parse() to test-send.
 7959 
 7960 Author: David Levine <david.levine@gonift.com>
 7961 Date:   Mon Apr 25 22:19:37 2016 -0400
 7962 
 7963     Added test of empty authorization code to test-mhlogin.
 7964 
 7965 Author: David Levine <david.levine@gonift.com>
 7966 Date:   Mon Apr 25 21:58:10 2016 -0400
 7967 
 7968     Added explicit OATH_SUPPORT=1 to configure.ac when oauth support is
 7969     enabled, otherwise it didn't get set to 1.
 7970 
 7971 Author: Eric Gillespie <epg@pretzelnet.org>
 7972 Date:   Mon Apr 25 03:33:15 2016 +0000
 7973 
 7974     Fix tests with oauth disabled.
 7975 
 7976 Author: David Levine <david.levine@gonift.com>
 7977 Date:   Sun Apr 24 22:09:39 2016 -0400
 7978 
 7979     Check for empty code.
 7980 
 7981 Author: David Levine <david.levine@gonift.com>
 7982 Date:   Sun Apr 24 21:42:20 2016 -0400
 7983 
 7984     Return false from parse_json() if jmsn_parse() returns a negative
 7985     (or zero, as it did before) value.
 7986 
 7987 Author: Eric Gillespie <epg@pretzelnet.org>
 7988 Date:   Mon Apr 25 01:23:04 2016 +0000
 7989 
 7990     Improve oauth autoconf support.
 7991     
 7992     - By default, enable OAuth if curl is found.
 7993     
 7994     - If OAuth requested (--with-oauth), error if curl not found.
 7995     
 7996     - If OAuth disabled (--without-oauth), don't enable it even if found.
 7997     
 7998     - Sanity-check curl-config --version output so we don't send anything crazy in
 7999       our HTTP requests if curl-config changes.
 8000 
 8001 Author: Eric Gillespie <epg@pretzelnet.org>
 8002 Date:   Wed Apr 13 16:58:45 2016 +0000
 8003 
 8004     Rename files to match renamed functions
 8005     
 8006     Follow-up to commit 840b3f0e45a43b8378e88c66f004b2f186662e35
 8007 
 8008 Author: Eric Gillespie <epg@pretzelnet.org>
 8009 Date:   Sun Apr 10 18:46:52 2016 +0000
 8010 
 8011     Fix mhlogin(1) title.
 8012 
 8013 Author: David Levine <david.levine@gonift.com>
 8014 Date:   Sun Apr 10 11:42:29 2016 -0400
 8015 
 8016     Added -user to mhlogin man page.
 8017 
 8018 Author: David Levine <david.levine@gonift.com>
 8019 Date:   Sat Mar 26 18:59:31 2016 -0400
 8020 
 8021     Added start_test() and finish_test() functions to test/common.sh.in.
 8022     See usage information in the (new) cleanup() function in that file.
 8023     This allow us to isolate test failures based on naming of individual
 8024     tests within a single test file.  As part of this, added set -e to
 8025     setup_test().  This required minor updates to test/new/basic and
 8026     test/pick/test-stderr to conform.  So, migrated test/new/test-basic
 8027     to start_test()/finish_test().
 8028     
 8029     (cherry picked from commit cd6133dd23422f92534328f768a322f63a5c6dfe)
 8030 
 8031 Author: David Levine <levinedl@acm.org>
 8032 Date:   Sun Apr 10 11:16:55 2016 -0400
 8033 
 8034     Fix to commit 84932d0a96c79bfb2f0384ebab806dc51a35f600 to
 8035     insert blank line between header and content for non-text
 8036     content.
 8037     
 8038     (cherry picked from commit fe36a7ee2f4304fd3797443d4f2f950d6dc2475d)
 8039 
 8040 Author: David Levine <levinedl@acm.org>
 8041 Date:   Sun Apr 10 11:16:55 2016 -0400
 8042 
 8043     Fix to commit 84932d0a96c79bfb2f0384ebab806dc51a35f600 to
 8044     insert blank line between header and content for non-text
 8045     content.
 8046 
 8047 Author: David Levine <levinedl@acm.org>
 8048 Date:   Sun Apr 10 11:15:42 2016 -0400
 8049 
 8050     Quoted variables in trap so that distcheck doesn't trip over them if
 8051     not set.
 8052 
 8053 Author: David Levine <levinedl@acm.org>
 8054 Date:   Sun Apr 10 11:14:54 2016 -0400
 8055 
 8056     Moved "const" to after "register" to silence compile warning fron gcc.
 8057 
 8058 Author: Eric Gillespie <epg@pretzelnet.org>
 8059 Date:   Sun Apr 10 06:19:19 2016 +0000
 8060 
 8061     check curl_ctx->res_len > 0 not res_body != NULL
 8062     
 8063     res_body is not a pointer and is never NULL
 8064     
 8065     (Thanks clang!)
 8066 
 8067 Author: Eric Gillespie <epg@pretzelnet.org>
 8068 Date:   Sun Apr 10 06:17:35 2016 +0000
 8069 
 8070     oops, pass int to m_getfld not size_t
 8071 
 8072 Author: Eric Gillespie <epg@pretzelnet.org>
 8073 Date:   Sat Apr 9 23:09:12 2016 -0700
 8074 
 8075     support multiple oauth users; mhlogin now requires -user
 8076 
 8077 Author: Eric Gillespie <epg@pretzelnet.org>
 8078 Date:   Sun Apr 10 05:03:14 2016 +0000
 8079 
 8080     plug some memory leaks, in success cases only
 8081     
 8082     (staying clean at least on non-adios paths is not hard)
 8083 
 8084 Author: Eric Gillespie <epg@pretzelnet.org>
 8085 Date:   Sun Apr 10 04:53:34 2016 +0000
 8086 
 8087     fix mhlogin -browser test
 8088 
 8089 Author: Eric Gillespie <epg@pretzelnet.org>
 8090 Date:   Sun Apr 3 08:23:11 2016 +0000
 8091 
 8092     Rename and document functions that read from stdin.
 8093     
 8094     - gans becomes read_switch
 8095     - getans becomes read_switch_multiword
 8096     - getans_via_readline becomes read_switch_multiword_via_readline
 8097     - getanswer becomes read_yes_or_no_if_tty
 8098     - install-mh.c geta becomes read_line
 8099 
 8100 Author: Eric Gillespie <epg@pretzelnet.org>
 8101 Date:   Sun Apr 3 01:32:23 2016 +0000
 8102 
 8103     test mhlogin -browser
 8104 
 8105 Author: David Levine <david.levine@gonift.com>
 8106 Date:   Sun Mar 27 12:00:16 2016 -0400
 8107 
 8108     Don't call sm_auth_sasl() for XAUTH2 with -sasl.  Instead,
 8109     call only sm_auth_xoauth2().
 8110 
 8111 Author: David Levine <david.levine@gonift.com>
 8112 Date:   Sat Mar 26 19:09:50 2016 -0400
 8113 
 8114     Added start_test()/finish_test() to README.developers.
 8115 
 8116 Author: David Levine <david.levine@gonift.com>
 8117 Date:   Sat Mar 26 19:05:10 2016 -0400
 8118 
 8119     Migrated the oauth tests to start_test()/finish_test() so that
 8120     they don't have any output on success, but do report the particular
 8121     test on failure.
 8122 
 8123 Author: David Levine <david.levine@gonift.com>
 8124 Date:   Sat Mar 26 18:59:31 2016 -0400
 8125 
 8126     Added start_test() and finish_test() functions to test/common.sh.in.
 8127     See usage information in the (new) cleanup() function in that file.
 8128     This allow us to isolate test failures based on naming of individual
 8129     tests within a single test file.  As part of this, added set -e to
 8130     setup_test().  This required minor updates to test/new/basic and
 8131     test/pick/test-stderr to conform.  So, migrated test/new/test-basic
 8132     to start_test()/finish_test().
 8133 
 8134 Author: David Levine <david.levine@gonift.com>
 8135 Date:   Thu Mar 24 21:25:19 2016 -0400
 8136 
 8137     Added -browser switch to mhlogin(1).
 8138 
 8139 Merge: 630af73 961d5bf
 8140 Author: David Levine <david.levine@gonift.com>
 8141 Date:   Thu Mar 24 20:24:15 2016 -0400
 8142 
 8143     Merge remote-tracking branch 'origin' into xoauth
 8144 
 8145 Author: David Levine <levinedl@acm.org>
 8146 Date:   Thu Mar 24 19:57:15 2016 -0400
 8147 
 8148     Changed minchars swit values for -[no]concat switches to show(1)
 8149     from negative to 0, so that they can be abbreviated and so that they
 8150     appear with -help.  Added them to the man page, and fixed text that
 8151     was copied from mhshow(1) man page.
 8152 
 8153 Author: David Levine <levinedl@acm.org>
 8154 Date:   Thu Mar 24 19:55:58 2016 -0400
 8155 
 8156     Use WIFXEXITED to check return status of system(), because
 8157     comparison with NOTOK wasn't valid.
 8158 
 8159 Author: David Levine <david.levine@gonift.com>
 8160 Date:   Wed Mar 23 21:40:31 2016 -0400
 8161 
 8162     Changed sign of minchars for the SASL-related switches from
 8163     negative to positive so the won't be hidden from help messages.
 8164     I think.
 8165 
 8166 Merge: 626b510 f1920d7
 8167 Author: David Levine <david.levine@gonift.com>
 8168 Date:   Wed Mar 23 20:41:46 2016 -0400
 8169 
 8170     Merge remote-tracking branch 'origin' into xoauth
 8171     
 8172      merge is necessary,
 8173 
 8174 Author: David Levine <david.levine@gonift.com>
 8175 Date:   Wed Mar 23 20:25:32 2016 -0400
 8176 
 8177     Replaced -oauth service switch with -saslmech xoauth2
 8178     -authservice service, because OAUTH2 is a SASL mechanism.
 8179 
 8180 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 8181 Date:   Sun Mar 20 17:28:27 2016 -0700
 8182 
 8183     Another pass at cleaning up (some of) the manpages.
 8184     
 8185     This continues work I started a couple of years ago, but then got
 8186     derailed on.  There are two main goals behind these updates:
 8187     
 8188     1) replace some low-level troff constructs with more modern
 8189        man(7) facilities, and
 8190     
 8191     2) adopt a more consistent visual style to the layout and
 8192        formatting of the manpages, particularly in reference to
 8193        typeset pages.
 8194     
 8195     This time around I have updated README.manpages to describe the new
 8196     guidelines.  They are mostly non-intrusive, and serve to clean up
 8197     a lot of visual clutter that has crept in over the years.
 8198 
 8199 Author: David Levine <levinedl@acm.org>
 8200 Date:   Sat Mar 19 10:15:43 2016 -0400
 8201 
 8202     Added check of return value of write() to quash compiler warning.
 8203 
 8204 Author: Ken Hornstein <kenh@pobox.com>
 8205 Date:   Sat Mar 19 00:06:24 2016 -0400
 8206 
 8207     Recover properly if the character conversion fails.
 8208 
 8209 Author: Ken Hornstein <kenh@pobox.com>
 8210 Date:   Sat Mar 19 00:04:56 2016 -0400
 8211 
 8212     Fix substitution code so it uses the right pointer for the utf-8 test.
 8213 
 8214 Merge: c2a69f6 2885665
 8215 Author: David Levine <david.levine@gonift.com>
 8216 Date:   Fri Mar 18 08:30:21 2016 -0400
 8217 
 8218     Merge remote-tracking branch 'origin' into xoauth
 8219 
 8220 Author: David Levine <levinedl@acm.org>
 8221 Date:   Thu Mar 17 22:05:54 2016 -0400
 8222 
 8223     Have fix_boundary() return NOTOK if it couldn't fix a boundary,
 8224     so that mhfixmsg won't modify the message.
 8225 
 8226 Author: David Levine <david.levine@gonift.com>
 8227 Date:   Wed Mar 16 21:32:48 2016 -0400
 8228 
 8229     Added oauth support to whatnow.
 8230 
 8231 Author: David Levine <david.levine@gonift.com>
 8232 Date:   Sun Mar 13 15:40:23 2016 -0400
 8233 
 8234     Added oauth switch to whatnow.
 8235 
 8236 Author: David Levine <david.levine@gonift.com>
 8237 Date:   Sun Mar 13 13:11:21 2016 -0400
 8238 
 8239     Added use of local variable user to prevent compiler warning
 8240     when built without OAuth2 support.
 8241 
 8242 Author: David Levine <david.levine@gonift.com>
 8243 Date:   Sun Mar 13 12:58:25 2016 -0400
 8244 
 8245     Sort JSON output from oauth tests so that comparisons don't
 8246     depend on it being in a specific order.  Also, clean up test
 8247     tmp files.
 8248 
 8249 Author: David Levine <david.levine@gonift.com>
 8250 Date:   Sun Mar 13 12:57:18 2016 -0400
 8251 
 8252     Set MH_VERSION, OAUTH_SUPPORT, and CURL_USER_AGENT in tests/common.sh.in
 8253     so that oauth tests can be run individually (not just via make check).
 8254 
 8255 Author: David Levine <david.levine@gonift.com>
 8256 Date:   Sun Mar 13 11:00:05 2016 -0400
 8257 
 8258     Added OAuth2 support to build_nmh.
 8259 
 8260 Merge: b7f1c78 ddb9e8c
 8261 Author: David Levine <david.levine@gonift.com>
 8262 Date:   Sun Mar 13 10:42:39 2016 -0400
 8263 
 8264     Merge branch 'master' into xoauth
 8265 
 8266 Author: David Levine <levinedl@acm.org>
 8267 Date:   Sat Mar 12 13:25:36 2016 -0500
 8268 
 8269     Have -nocrlflinebreaks apply to the message parts that -decodetypes
 8270     designates.
 8271 
 8272 Author: David Levine <levinedl@acm.org>
 8273 Date:   Sat Mar 12 10:41:03 2016 -0500
 8274 
 8275     Added EXAMPLES and BUGS sections.
 8276 
 8277 Author: Eric Gillespie <epg@pretzelnet.org>
 8278 Date:   Sat Mar 12 00:15:46 2016 -0500
 8279 
 8280     Implement the -reverse option to pick(1) to change the search order.
 8281 
 8282 Author: David Levine <levinedl@acm.org>
 8283 Date:   Sat Feb 27 11:44:51 2016 -0500
 8284 
 8285     Updated date on mh-folders(5) man page.
 8286 
 8287 Author: David Levine <levinedl@acm.org>
 8288 Date:   Sat Feb 27 11:33:39 2016 -0500
 8289 
 8290     Added application/ics to default list if types to decode.
 8291 
 8292 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8293 Date:   Thu Feb 25 11:33:14 2016 -0500
 8294 
 8295     mh-folders.man: note that folders should not be named numerically
 8296 
 8297 Author: David Levine <levinedl@acm.org>
 8298 Date:   Wed Feb 24 20:32:10 2016 -0500
 8299 
 8300     Added -[no]crlflinebreaks switches to mhfixmsg(1).
 8301 
 8302 Author: David Levine <levinedl@acm.org>
 8303 Date:   Sun Feb 21 11:59:41 2016 -0500
 8304 
 8305     Added check for successful decode of a different part with
 8306     attempted -decodetext of binary text to test-mhfixmsg.
 8307 
 8308 Author: David Levine <levinedl@acm.org>
 8309 Date:   Sun Feb 21 11:22:53 2016 -0500
 8310 
 8311     Don't consider failure to build a text/plain part to be an error.
 8312     This allows mhfixmsg to succeed even if there isn't a suitable
 8313     mhfixmsg-format-text/subtype profile entry for every text part in
 8314     the message.
 8315 
 8316 Author: David Levine <levinedl@acm.org>
 8317 Date:   Sat Feb 20 13:41:52 2016 -0500
 8318 
 8319     Added -decodetypes switch to mhfixmsg(1).
 8320 
 8321 Author: David Levine <levinedl@acm.org>
 8322 Date:   Thu Jan 28 21:16:43 2016 -0500
 8323 
 8324     Add missing -infile switch name to mhfixmsg-format-text/calendar
 8325     rule in mhn.defaults.
 8326 
 8327 Author: David Levine <levinedl@acm.org>
 8328 Date:   Sat Jan 23 15:14:33 2016 -0500
 8329 
 8330     mhical enhancement:  If a datetime is missing the time, assume
 8331     midnight.  If there is no end datetime (DTEND) and the DTSTART
 8332     doesn't contain a time, assume that the event is for the entire day.
 8333 
 8334 Author: Richard M Kreuter <kreuter@progn.net>
 8335 Date:   Tue Jan 19 21:39:11 2016 -0500
 8336 
 8337     Set MH to the resolved, absolute pathname inside context_read() so
 8338     that exec'd children can find it.
 8339 
 8340 Author: Richard M Kreuter <kreuter@progn.net>
 8341 Date:   Tue Jan 19 21:19:16 2016 -0500
 8342 
 8343     Added all of mhshow's documented switches to show's handling, on the
 8344     notion that nmh's pieces should know about each other.
 8345 
 8346 Author: David Levine <levinedl@acm.org>
 8347 Date:   Tue Jan 19 21:03:30 2016 -0500
 8348 
 8349     Added mention of mhfixmsg -fixcte to error message for improper C-T-E in
 8350     multipart message.  Thanks to Conrad Hughes for suggesting this.
 8351 
 8352 Author: David Levine <levinedl@acm.org>
 8353 Date:   Sun Nov 29 22:21:11 2015 -0500
 8354 
 8355     Moved addition of -ansi -pedantic to CFLAGS with gcc from
 8356     configure.ac to docs/contrib/build_nmh, so that they're not
 8357     included by default with builds by users.
 8358 
 8359 Author: David Levine <levinedl@acm.org>
 8360 Date:   Thu Nov 19 15:27:49 2015 -0500
 8361 
 8362     Allow a RRULE in an iCalendar request to not have an INTERVAL on its
 8363     yearly FREQ, because INTERVAL defaults to 1.
 8364 
 8365 Author: David Levine <levinedl@acm.org>
 8366 Date:   Wed Nov 18 18:35:59 2015 -0500
 8367 
 8368     Remove any enclosing quotes from a timezone identifier in an
 8369     iCalendar event request.  See comment added to format_datetime()
 8370     that says that I don't believe that RFC 5545 allows them to be
 8371     quoted.  But Oliver Kiddle found them in the wild.
 8372 
 8373 Author: David Levine <levinedl@acm.org>
 8374 Date:   Wed Nov 18 18:02:43 2015 -0500
 8375 
 8376     If format_datetime() returns null, store a copy of node->value on c->c_text
 8377     to prevent a double free().
 8378 
 8379 Author: Ken Hornstein <kenh@pobox.com>
 8380 Date:   Sat Aug 22 22:16:22 2015 -0400
 8381 
 8382     If str == buffer, then do NOT do a strncpy(buffer, str).  Many systems
 8383     this works, but on some systems it causes a SIGABRT.  POSIX says the
 8384     behavior on overlapping copies with str*cpy() is officially undefined.
 8385 
 8386 Author: Ken Hornstein <kenh@pobox.com>
 8387 Date:   Sat Aug 22 22:14:41 2015 -0400
 8388 
 8389     Add support for setting the environment variable MH_TEST_NOCLEANUP to
 8390     prevent a test from cleaning up the test working directory.
 8391 
 8392 Author: Leonardo Taccari <iamleot@gmail.com>
 8393 Date:   Fri Aug 21 13:26:53 2015 -0400
 8394 
 8395     Add support for the -sendmail flag to send/post, to support changing the
 8396     sendmail executable.
 8397 
 8398 Author: David Levine <levinedl@acm.org>
 8399 Date:   Mon Jul 13 22:32:36 2015 -0400
 8400 
 8401     Unquoted addresses in mhshow and scan output.  Suggested by
 8402     Anthony Bentley.
 8403 
 8404 Author: Ken Hornstein <kenh@pobox.com>
 8405 Date:   Fri Mar 20 12:09:54 2015 -0400
 8406 
 8407     Change the reference to the valgrind suppression file from $MH_OBJ_DIR to
 8408     $srcdir so "make distcheck" works.
 8409 
 8410 Author: Ken Hornstein <kenh@pobox.com>
 8411 Date:   Fri Mar 20 12:02:14 2015 -0400
 8412 
 8413     Include a new valgrind warning suppression for MacOS X.
 8414 
 8415 Author: Alexander Zangerl <exmh@bin.snafu.priv.at>
 8416 Date:   Fri Mar 20 10:26:02 2015 -0400
 8417 
 8418     Make sure the valgrind suppression file is honored, and add some extra
 8419     suppressions needed when running under the Debian fakeroot environment.
 8420 
 8421 Author: Ken Hornstein <kenh@pobox.com>
 8422 Date:   Tue Mar 17 11:02:38 2015 -0400
 8423 
 8424     Fix error message to correctly report the program that failed to execute
 8425     when doing HTML conversion.
 8426     Also, remove perl function prototypes as they are not considered best
 8427     practice.
 8428 
 8429 Author: Ken Hornstein <kenh@pobox.com>
 8430 Date:   Fri Mar 6 22:58:58 2015 -0500
 8431 
 8432     Rearrange all callers of post(8) so that the filename is always last.
 8433 
 8434 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8435 Date:   Wed Mar 4 13:10:38 2015 -0500
 8436 
 8437     mhparse.c: verify all MIME-Version: headers encountered
 8438     
 8439     in addition to verifying, silently ignore duplicate version headers.
 8440 
 8441 Merge: f9eb71e 3f60981
 8442 Author: David Levine <levinedl@acm.org>
 8443 Date:   Sun Feb 22 21:21:40 2015 -0600
 8444 
 8445     Merge remote-tracking branch 'origin/convertargs'
 8446 
 8447 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8448 Date:   Sat Feb 14 11:36:24 2015 -0500
 8449 
 8450     use %l uniformly on all the text-mode browser display strings
 8451     
 8452     otherwise behavior changes depending on which browser was present
 8453     when nmh is configured/installed.
 8454 
 8455 Author: David Levine <levinedl@acm.org>
 8456 Date:   Fri Feb 13 23:30:03 2015 -0600
 8457 
 8458     Filter converted text/html to remove blank lines and leading space
 8459     that lynx inserts.  Also, changed ISO-8859-1 to US-ASCII because it
 8460     is, so it doesn't need to be converted.
 8461 
 8462 Author: David Levine <levinedl@acm.org>
 8463 Date:   Fri Feb 13 22:22:21 2015 -0600
 8464 
 8465     Removed m_chkids(), per suggestion of Marcin Cieslak.
 8466 
 8467 Author: David Levine <levinedl@acm.org>
 8468 Date:   Fri Feb 13 21:31:48 2015 -0600
 8469 
 8470     Removed unnecessary #include of h/signals.h.
 8471 
 8472 Author: David Levine <levinedl@acm.org>
 8473 Date:   Fri Feb 13 21:30:41 2015 -0600
 8474 
 8475     Removed #include of signal.h because it's in h/signals.h.
 8476 
 8477 Author: Marcin Cieslak <saper@saper.info>
 8478 Date:   Fri Feb 13 21:01:09 2015 -0600
 8479 
 8480     Reset done in inc_done() to prevent endless loop when setegid()
 8481     fails (in which case adios() is called, which calls done()).
 8482 
 8483 Author: David Levine <levinedl@acm.org>
 8484 Date:   Thu Feb 12 21:33:05 2015 -0600
 8485 
 8486     That didn't work, so removed offset.
 8487 
 8488 Author: David Levine <levinedl@acm.org>
 8489 Date:   Thu Feb 12 21:27:45 2015 -0600
 8490 
 8491     Use +0000 isntead of -0000 offset because FreeBSD displays it that way.
 8492 
 8493 Author: Marcin Cieslak <saper@saper.info>
 8494 Date:   Thu Feb 12 21:09:26 2015 -0600
 8495 
 8496     Replaced setgid() calls with setegid() so that it works with dot
 8497     locking on FreeBSD.  setegid() should be supported on modern POSIX
 8498     systems.
 8499 
 8500 Author: David Levine <levinedl@acm.org>
 8501 Date:   Thu Feb 12 20:22:32 2015 -0600
 8502 
 8503     Added showmimeproc to test/common.sh.in so that test-show will test
 8504     it in the workspace, not the user's installation.  Also added all of
 8505     the other procs defined in config/config.c that are currently unused,
 8506     just in case they some day are.
 8507 
 8508 Author: David Levine <levinedl@acm.org>
 8509 Date:   Thu Feb 12 20:03:11 2015 -0600
 8510 
 8511     Removed a few more msh (MS_MSH and mshproc) and vmh (vmhproc) relics.
 8512 
 8513 Author: David Levine <levinedl@acm.org>
 8514 Date:   Wed Feb 11 21:38:51 2015 -0600
 8515 
 8516     Replaced individual assignment of array elements, one of which was
 8517     out of range, with array initialization.
 8518 
 8519 Author: Marcin Cieslak <saper@saper.info>
 8520 Date:   Tue Feb 10 14:18:05 2015 +0000
 8521 
 8522     Fixed the error message in lockit() when it fails to create tmp file.
 8523 
 8524 Author: Marcin Cieslak <saper@saper.info>
 8525 Date:   Tue Feb 10 14:18:05 2015 +0000
 8526 
 8527     Fixed "inc" to be installed setgid mail with dot locking.  MAILGROUP=1
 8528     was not set in the config.h because we no longer use "LOCKTYPE"
 8529     configure variable.
 8530 
 8531 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8532 Date:   Sun Feb 8 15:13:31 2015 -0500
 8533 
 8534     update tests for new message separator header from mhshow
 8535     
 8536     also added test names to tests, in any file i touched
 8537 
 8538 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8539 Date:   Sun Feb 8 16:06:44 2015 -0500
 8540 
 8541     update man pages for new mhshow message separator header
 8542 
 8543 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8544 Date:   Sun Feb 8 15:22:07 2015 -0500
 8545 
 8546     add new message separator header to mhshow
 8547     
 8548     new switches to mhshow (-headerform and -[no]header) control whether
 8549     and what is displayed before the display of every message's content.
 8550     the default separator looks like "[ Message folder:msg ]".  the
 8551     implementation parallels the -markform feature.
 8552     
 8553     since mhshow is often started by show, show now passes the -[no]header
 8554     options through to mhshow.  (also, show no longer attempts to pass
 8555     such options through to cat (in the case of -noshowproc)).
 8556 
 8557 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8558 Date:   Fri Feb 6 13:03:36 2015 -0500
 8559 
 8560     fix typo in mh-format.man
 8561 
 8562 Author: Eric Gillespie <epg@google.com>
 8563 Date:   Thu Feb 5 12:46:28 2015 -0800
 8564 
 8565     Test that show always shows message numbers.
 8566     
 8567     show shows message numbers in two different formats when showing one
 8568     non-MIME, multiple non-MIME messages, or one MIME message.
 8569     
 8570     show does not show any message numbers when showing multiple messages
 8571     any of which is MIME.
 8572     
 8573     This is not a new bug, just one that has bothered me since I started
 8574     using mhshow with 1.6.
 8575 
 8576 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8577 Date:   Fri Feb 6 11:57:58 2015 -0500
 8578 
 8579     test/common.sh: allow giving individual tests a name
 8580 
 8581 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8582 Date:   Fri Feb 6 11:32:44 2015 -0500
 8583 
 8584     man pages -- clarify what -part and -type do when used together
 8585 
 8586 Merge: 991ae1d afea511
 8587 Author: David Levine <levinedl@acm.org>
 8588 Date:   Sun Feb 8 09:23:34 2015 -0600
 8589 
 8590     Merge remote-tracking branch 'origin' into convertargs
 8591 
 8592 Author: David Levine <levinedl@acm.org>
 8593 Date:   Sun Feb 8 09:21:13 2015 -0600
 8594 
 8595     Added support to mhfixmsg -reformat for multipart/related.  If it has
 8596     only a single part that is not text/plain and can be converted to
 8597     text/plain, a text/plain part is added and the type of the part is
 8598     changed to multipart/alternative.  If the multipart/related has more
 8599     than one part but does not have a text/plain part, try to add one.
 8600 
 8601 Author: David Levine <levinedl@acm.org>
 8602 Date:   Wed Feb 4 19:19:54 2015 -0600
 8603 
 8604     Fixed test-convert to work on Cygwin and other platforms that
 8605     default to UTF-8 locale.
 8606 
 8607 Merge: 397195e ff6c0df
 8608 Author: David Levine <levinedl@acm.org>
 8609 Date:   Wed Feb 4 19:18:33 2015 -0600
 8610 
 8611     Merge remote-tracking branch 'origin' into convertargs
 8612 
 8613 Author: David Levine <levinedl@acm.org>
 8614 Date:   Wed Feb 4 19:05:16 2015 -0600
 8615 
 8616     Removed unused local variable from move_preferred_part().
 8617 
 8618 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8619 Date:   Wed Feb 4 18:52:53 2015 -0500
 8620 
 8621     pending-release-notes: add mhshow's "-prefer", and mh-format's %(kibi/kilo)
 8622 
 8623 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8624 Date:   Wed Feb 4 14:44:36 2015 -0500
 8625 
 8626     test-subpart: add mhlist and mhshow tests for -type/-part/-prefer
 8627 
 8628 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8629 Date:   Wed Feb 4 12:07:27 2015 -0500
 8630 
 8631     update mhshow, mhlist, and mhstore man pages for -prefer switch
 8632 
 8633 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8634 Date:   Tue Feb 3 21:55:41 2015 -0500
 8635 
 8636     implement -prefer, for multipart/alternative preferences
 8637 
 8638 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8639 Date:   Tue Feb 3 23:03:46 2015 -0500
 8640 
 8641     mhshow.man: more detail on use of -part and -type switches
 8642 
 8643 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8644 Date:   Tue Feb 3 12:39:53 2015 -0500
 8645 
 8646     mhshow: ensure that -part always shows every part requested
 8647     
 8648     previously, "mhshow -part 1 -part 1.3" would show 1.1 but not 1.3.
 8649 
 8650 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8651 Date:   Fri Jan 30 19:52:24 2015 -0500
 8652 
 8653     mhshow: fix display of alternatives after certain nested multiparts
 8654     
 8655     adjust return codes so that we now have a clear indication of whether
 8656     there was a hard error (NOTOK), a failure to display due to type
 8657     mismatch (DONE), or complete success (OK).  use those codes in
 8658     show_multi_internal() to decide whether we're finished with this
 8659     multipart or not.
 8660     
 8661     prior to this change, it was impossible to show part 1.2 of a
 8662     message constructed like the following, because the disinction
 8663     between (the new, as described above) DONE and OK states was
 8664     lost while processing multipart/related part 1.1.
 8665      msg part  type/subtype              size description
 8666       28       multipart/mixed           1040
 8667          1     multipart/alternative      623
 8668          1.1   multipart/related          275
 8669          1.1.1 text/html                  105
 8670          1.2   text/plain                  33
 8671          2     text/plain                  83
 8672     
 8673     this fix is related to 9cc2510 and c9794733.  hopefully it's right
 8674     this time.
 8675 
 8676 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8677 Date:   Fri Jan 30 20:14:59 2015 -0500
 8678 
 8679     mhshow: simplify code -- the DONE status was adding no value
 8680 
 8681 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 8682 Date:   Fri Jan 30 19:41:37 2015 -0500
 8683 
 8684     drop the second argument to part_ok(), since it is always 1
 8685     
 8686     the second argument hasn't been used since "historical" times.
 8687     also add some commentary to part_ok().
 8688 
 8689 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 8690 Date:   Tue Jan 27 15:17:20 2015 -0800
 8691 
 8692     Add a note about new bindir option to mhparam.
 8693 
 8694 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 8695 Date:   Tue Jan 27 15:07:19 2015 -0800
 8696 
 8697     'mhparam bindir' now prints NMH's idea of $(bindir).
 8698 
 8699 Author: David Levine <levinedl@acm.org>
 8700 Date:   Tue Jan 20 19:10:56 2015 -0600
 8701 
 8702     Added a line break to mhbuild man page because the
 8703     %docdir%/contrib/replaliases line caused format complaints from groff.
 8704 
 8705 Merge: 4857a9e a70006b
 8706 Author: David Levine <levinedl@acm.org>
 8707 Date:   Sun Jan 18 21:31:20 2015 -0600
 8708 
 8709     Merge remote-tracking branch 'origin' into convertargs
 8710 
 8711 Author: David Levine <levinedl@acm.org>
 8712 Date:   Sun Jan 11 19:10:23 2015 -0600
 8713 
 8714     Fixed check of return value of show_content_aux().
 8715 
 8716 Author: David Levine <levinedl@acm.org>
 8717 Date:   Sun Jan 11 19:05:11 2015 -0600
 8718 
 8719     Have show_content_aux2(), and therefore show_content_aux(), return
 8720     the status of the process used to show, instead of (usually) OK.
 8721     
 8722     (cherry picked from commit a70006bbdf676639961877b02a19e9e1f1d0ec78)
 8723 
 8724 Author: David Levine <levinedl@acm.org>
 8725 Date:   Sun Jan 11 19:05:11 2015 -0600
 8726 
 8727     Have show_content_aux2(), and therefore show_content_aux(), return
 8728     the status of the process used to show, instead of (usually) OK.
 8729 
 8730 Author: David Levine <levinedl@acm.org>
 8731 Date:   Sat Jan 10 17:23:54 2015 -0600
 8732 
 8733     Fixed typo in mh-format.man page, which I wouldn't have noticed
 8734     if I didn't go back in to update its date.
 8735 
 8736 Author: David Levine <levinedl@acm.org>
 8737 Date:   Sat Jan 10 17:12:49 2015 -0600
 8738 
 8739     Added multiply format function, requested by Norm.
 8740 
 8741 Merge: ebd5247 0706d36
 8742 Author: David Levine <levinedl@acm.org>
 8743 Date:   Wed Jan 7 20:32:20 2015 -0600
 8744 
 8745     Merge remote-tracking branch 'origin' into convertargs
 8746 
 8747 Author: David Levine <levinedl@acm.org>
 8748 Date:   Wed Jan 7 20:15:06 2015 -0600
 8749 
 8750     Pass along arguments to calaccept(), etc., functions in replaliases.
 8751 
 8752 Author: David Levine <levinedl@acm.org>
 8753 Date:   Wed Jan 7 20:13:41 2015 -0600
 8754 
 8755     Fix to commit 6b073f7b67a0afd64012ff7d00818ec1bd07b5f2 to properly
 8756     detect a Content-Type header in output from converted content.
 8757 
 8758 Author: David Levine <levinedl@acm.org>
 8759 Date:   Tue Jan 6 21:39:42 2015 -0600
 8760 
 8761     Another fix to convertarg handling of multipart/related.  Two,
 8762     actually.  One is a simple bug fix, the other restricts concatenation
 8763     to text/plain, not just text, parts.
 8764 
 8765 Author: David Levine <levinedl@acm.org>
 8766 Date:   Mon Jan 5 22:32:00 2015 -0600
 8767 
 8768     Specifically look for Content-Type header in converted content.
 8769 
 8770 Author: David Levine <levinedl@acm.org>
 8771 Date:   Mon Jan 5 19:10:33 2015 -0600
 8772 
 8773     Fixed convertarg handling of text part in multipart/related.
 8774 
 8775 Author: David Levine <levinedl@acm.org>
 8776 Date:   Sun Jan 4 11:22:18 2015 -0600
 8777 
 8778     Forgot to commit test-mhical.
 8779 
 8780 Author: David Levine <levinedl@acm.org>
 8781 Date:   Sun Jan 4 10:52:28 2015 -0600
 8782 
 8783     Added mhical(1), to display, reply to, and cancel iCalendar (RFC 5545)
 8784     event requests.
 8785 
 8786 Author: David Levine <levinedl@acm.org>
 8787 Date:   Sun Jan 4 09:57:23 2015 -0600
 8788 
 8789     Added yacc/bison support to configure.ac.
 8790 
 8791 Author: David Levine <levinedl@acm.org>
 8792 Date:   Mon Dec 29 07:44:38 2014 -0600
 8793 
 8794     Added rtm alias.
 8795 
 8796 Author: David Levine <levinedl@acm.org>
 8797 Date:   Mon Dec 29 06:06:59 2014 -0600
 8798 
 8799     More cleanup of the cp in tests/common.sh.in.
 8800 
 8801 Author: David Levine <levinedl@acm.org>
 8802 Date:   Sun Dec 28 22:15:04 2014 -0600
 8803 
 8804     Added -h and -p options to replaliases.  The -p argument can be useful
 8805     with improperly structured messages, such as those that use
 8806     multipart/related when they should have used multipart/alternative.
 8807     Alos, removed -editor mhbuild because it precludes use of WhatNow
 8808     attach.
 8809 
 8810 Author: David Levine <levinedl@acm.org>
 8811 Date:   Sun Dec 28 21:12:06 2014 -0600
 8812 
 8813     Replaced explicit list of files to be copied in test/common.sh.in
 8814     with *.  It wasn't trivial, per the comments in the file about
 8815     portability to posh, but close.
 8816 
 8817 Author: David Levine <levinedl@acm.org>
 8818 Date:   Sun Dec 28 15:51:36 2014 -0600
 8819 
 8820     OK, this fixes the problem referenced in the last commit.  It
 8821     removes the copy of the etc files only during make distcheck.
 8822 
 8823 Author: David Levine <levinedl@acm.org>
 8824 Date:   Sun Dec 28 13:42:35 2014 -0600
 8825 
 8826     Reverted commit a2b00e7053ca3be3d1389588580c71498222a267.  It caused
 8827     make check to pull etc files from where they were already installed,
 8828     not from the test directory.
 8829 
 8830 Author: David Levine <levinedl@acm.org>
 8831 Date:   Sun Dec 28 12:46:22 2014 -0600
 8832 
 8833     Removed export of most of the variables in test/common.sh.in.  The
 8834     test scripts source common.sh so they don't need them to be exported.
 8835 
 8836 Author: David Levine <levinedl@acm.org>
 8837 Date:   Sun Dec 28 12:32:14 2014 -0600
 8838 
 8839     Removed copy of all of the etc files from test/common.sh.in.
 8840     Instead, for make distcheck, pass the location of the installed etc
 8841     directory via DISTCHECK_CONFIGURE_FLAGS, configure, and
 8842     TESTS_ENVIRONMENT to a new nmhetcdirinst variable.  Outside of make
 8843     distcheck, nmhetcdir is valid by itself.
 8844 
 8845 Author: David Levine <levinedl@acm.org>
 8846 Date:   Sun Dec 28 12:12:40 2014 -0600
 8847 
 8848     Rearranged the variable settings at the top of test/common.sh.in.
 8849 
 8850 Author: David Levine <levinedl@acm.org>
 8851 Date:   Sat Dec 27 11:25:48 2014 -0600
 8852 
 8853     Changed direct access to etc files in a couple of tests to be the
 8854     installed (for the test) versions, not the copies made by common.sh.
 8855 
 8856 Author: David Levine <levinedl@acm.org>
 8857 Date:   Sat Dec 27 11:19:43 2014 -0600
 8858 
 8859     Replaced nmhexecdir with nmhlibexecdir in test/common.sh.in (and
 8860     test-mhparam) for consisitency with the Makefile.
 8861 
 8862 Author: David Levine <levinedl@acm.org>
 8863 Date:   Thu Dec 25 11:10:52 2014 -0600
 8864 
 8865     Added -fixtype switch to mhfixmsg(1).  It ensures that each part of
 8866     a message has the correct MIME type shown in its Content-Type header.
 8867 
 8868 Author: David Levine <levinedl@acm.org>
 8869 Date:   Thu Dec 25 11:04:28 2014 -0600
 8870 
 8871     Added const to char * arguments of uprf().
 8872 
 8873 Author: David Levine <levinedl@acm.org>
 8874 Date:   Thu Dec 25 00:05:36 2014 -0600
 8875 
 8876     Added ct_str_type() and ct_str_subtype() functions, to translate
 8877     MIME type and subtype names to the the internal MIME parser codes.
 8878 
 8879 Author: David Levine <levinedl@acm.org>
 8880 Date:   Thu Dec 25 00:04:34 2014 -0600
 8881 
 8882     Merged two adjacent if (verbose) blocks.
 8883 
 8884 Author: David Levine <levinedl@acm.org>
 8885 Date:   Wed Dec 24 18:25:43 2014 -0600
 8886 
 8887     Fixed memory leak in mime_type().  get_file_info() always allocates
 8888     its return value.
 8889 
 8890 Author: David Levine <levinedl@acm.org>
 8891 Date:   Wed Dec 24 14:35:41 2014 -0600
 8892 
 8893     Always initialize those two variables made static in commit
 8894     771706ac9fed2b902bd4d3ddccb15ee27b0f58ae in case they were
 8895     set in previous calls.
 8896 
 8897 Author: David Levine <levinedl@acm.org>
 8898 Date:   Sun Dec 21 19:50:58 2014 -0600
 8899 
 8900     And removed another improperly copied comment.
 8901 
 8902 Author: David Levine <levinedl@acm.org>
 8903 Date:   Sun Dec 21 19:46:25 2014 -0600
 8904 
 8905     Removed improperly copied comment from test-mhfixmsg.
 8906 
 8907 Author: David Levine <levinedl@acm.org>
 8908 Date:   Sun Dec 21 19:41:12 2014 -0600
 8909 
 8910     In expand_pseudoheader(), set Content-Type to 7-bit for ASCII text.
 8911 
 8912 Author: David Levine <levinedl@acm.org>
 8913 Date:   Sun Dec 21 16:21:27 2014 -0600
 8914 
 8915     Added mention of profile components that are described
 8916     in other man pages.  Suggested by Michael Richardson.
 8917 
 8918 Author: David Levine <levinedl@acm.org>
 8919 Date:   Sun Dec 21 10:31:41 2014 -0600
 8920 
 8921     Rearranged code to avoid "might be clobbered by longjmp" warnings from
 8922     gcc 4.9.2
 8923 
 8924 Author: David Levine <levinedl@acm.org>
 8925 Date:   Sun Dec 21 10:22:41 2014 -0600
 8926 
 8927     Removed unnecessary #includes of setjmp.h.
 8928 
 8929 Author: David Levine <levinedl@acm.org>
 8930 Date:   Sat Dec 20 14:27:03 2014 -0600
 8931 
 8932     Removed widths from mhbuild-convert-text/html lines that should
 8933     have been removed by commit 5ab36412b5fc49feb41fa816129c68fd6d946e8b.
 8934 
 8935 Author: David Levine <levinedl@acm.org>
 8936 Date:   Sat Dec 20 14:07:37 2014 -0600
 8937 
 8938     Fixed use of text_plain_ct in mhbuildsbr.c so that it works with
 8939     multiple text parts.  Found by Clang static analyzer.
 8940 
 8941 Author: David Levine <levinedl@acm.org>
 8942 Date:   Sat Dec 20 10:42:11 2014 -0600
 8943 
 8944     Set COLUMNS in test-cd if using readline so that its wrapping doesn't
 8945     disturb the test output.  The problem arose with a long workspace path.
 8946 
 8947 Author: David Levine <levinedl@acm.org>
 8948 Date:   Sat Dec 20 10:36:10 2014 -0600
 8949 
 8950     posh didn't like use of file wildcard in common.sh.in.
 8951 
 8952 Author: David Levine <levinedl@acm.org>
 8953 Date:   Sat Dec 20 09:21:50 2014 -0600
 8954 
 8955     Removed R from default PARINIT environment variable so that par(1)
 8956     does not consider an input word that is too long to be an error.
 8957 
 8958 Author: David Levine <levinedl@acm.org>
 8959 Date:   Wed Dec 17 20:43:37 2014 -0600
 8960 
 8961     Fixed format engine output of negative number with 0 fill character.
 8962     Improper output was reported by Bob Carragher.
 8963 
 8964 Author: David Levine <levinedl@acm.org>
 8965 Date:   Sun Dec 14 22:11:00 2014 -0600
 8966 
 8967     Added -convertargs switch to repl(1), to pass arguments to programs
 8968     specified in the user's profile or mhn.defaults to convert message
 8969     content.
 8970 
 8971 Author: David Levine <levinedl@acm.org>
 8972 Date:   Sat Dec 13 08:30:35 2014 -0600
 8973 
 8974     Rearranged mhn.defaults.sh a bit:  consolidated web-browser specific
 8975     settings and put most of the mhstore-store- directives in a here doc.
 8976 
 8977 Author: David Levine <levinedl@acm.org>
 8978 Date:   Sat Dec 13 08:04:13 2014 -0600
 8979 
 8980     Clarified in repl(1) man page that -noformat is only the
 8981     default when no -filter switch is used.
 8982 
 8983 Author: Eric Gillespie <epg@google.com>
 8984 Date:   Mon Dec 8 23:37:51 2014 -0800
 8985 
 8986     Strip carriage returns fakehttprequest logging.
 8987 
 8988 Author: Eric Gillespie <epg@google.com>
 8989 Date:   Mon Dec 8 23:29:07 2014 -0800
 8990 
 8991     Note curl dependencies for Linux and FreeBSD.
 8992 
 8993 Author: Eric Gillespie <epg@google.com>
 8994 Date:   Mon Dec 8 23:26:27 2014 -0800
 8995 
 8996     Teach mhparam about oauth support.
 8997 
 8998 Author: Eric Gillespie <epg@google.com>
 8999 Date:   Mon Dec 8 23:20:01 2014 -0800
 9000 
 9001     Implement OAuth 2.0 [1] for XOAUTH2 in SMTP [2] and POP3 [3].
 9002     
 9003     Google defined XOAUTH2 for SMTP, and that's what we use here.  If other
 9004     providers implement XOAUTH2 or some similar OAuth-based SMTP authentication
 9005     protocol, it should be simple to extend this.
 9006     
 9007     [1] https://tools.ietf.org/html/rfc6749
 9008     [2] https://developers.google.com/gmail/xoauth2_protocol
 9009     [3] http://googleappsdeveloper.blogspot.com/2014/10/updates-on-authentication-for-gmail.html
 9010     
 9011     Technically, XOAUTH2 is a SASL auth mechanism, but the implementation is so
 9012     trivial, I can't justify the code complexity or additional dependency
 9013     requirement of using Cyrus SASL for this.  So it's completely separate.
 9014     
 9015     Changes:
 9016     
 9017     - New dependencies:
 9018     
 9019       - jsmn (JSON processing library) bundled directly rather than linked to as
 9020         an external library because there is no clear winner among JSON
 9021         libraries for C and this one is tiny
 9022     
 9023       - libcurl is nearly ubiquitous and too heavy-weight to bundle, so link to
 9024         the library the user must install separately
 9025     
 9026     - Add oauth.h / oauth.c which do almost all the work, with quite a bit of
 9027       help from curl and jsmn.
 9028     
 9029     - Add new mhlogin program to authorize nmh to use the Gmail account and
 9030       store the access and refresh tokens.
 9031     
 9032     - Add new user_agent global to version.c (version.sh); not too happy with
 9033       such a generic name, but the others had no mh_ prefix or anything...
 9034     
 9035     - Add XOAUTH2 support to:
 9036       mts/smtp/smtp.c uip/post.c uip/send.c uip/popsbr.c uip/inc.c uip/msgchk.c
 9037     
 9038     - Split duplicated serving code out of fakepop.c and fakesmtp.c to new
 9039       server.c and also use that for new fakehttp.c.
 9040     
 9041     - Add XOAUTH2 support to fakepop.c and fakesmtp.c.
 9042 
 9043 Author: Eric Gillespie <epg@pretzelnet.org>
 9044 Date:   Mon Dec 8 21:47:58 2014 -0800
 9045 
 9046     import jsmn 86:19001fb4adb3
 9047 
 9048 Author: David Levine <levinedl@acm.org>
 9049 Date:   Sat Dec 6 09:30:52 2014 -0600
 9050 
 9051     Only remove extraneous trailing semicolon from Content-Type and
 9052     Content-Disposition headers because those are the only ones that
 9053     parse_mime() warns about, but it does appear on others.
 9054 
 9055 Author: Eric Gillespie <epg@pretzelnet.org>
 9056 Date:   Fri Dec 5 21:08:40 2014 -0800
 9057 
 9058     Terminate last arg in proxy argv n popsbr.c:parse_proxy().
 9059     
 9060     This bug seems to have existed since this code was born.  I guess
 9061     others have been lucky?
 9062 
 9063 Author: Ken Hornstein <kenh@pobox.com>
 9064 Date:   Tue Dec 2 13:41:55 2014 -0500
 9065 
 9066     Set all Content structure elements to NULL as they are free()'d; in a few
 9067     cases a content structure is reused and you can get into problems with
 9068     double-free()ing elements depending on your MIME composition content syntax.
 9069 
 9070 Merge: 330bdf6 8206fbf
 9071 Author: Ken Hornstein <kenh@pobox.com>
 9072 Date:   Tue Dec 2 13:12:45 2014 -0500
 9073 
 9074     Merge commit '8206fbf', due to my screwup of committing it on a detached
 9075     HEAD after a git-bisect.
 9076 
 9077 Author: Ken Hornstein <kenh@pobox.com>
 9078 Date:   Tue Dec 2 13:00:47 2014 -0500
 9079 
 9080     Turns out those warnings for ali(1) actually happen when the prefix is
 9081     33 characters, not 35.
 9082 
 9083 Author: Ken Hornstein <kenh@pobox.com>
 9084 Date:   Tue Dec 2 09:35:02 2014 -0500
 9085 
 9086     Explicitly depend on $(srcdir)/config/version.h rather than depend
 9087     on VPATH.
 9088 
 9089 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 9090 Date:   Mon Dec 1 13:32:26 2014 -0500
 9091 
 9092     cast isspace() arg to unsigned char in previous commit
 9093 
 9094 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 9095 Date:   Mon Dec 1 08:57:44 2014 -0500
 9096 
 9097     handle extraneous trailing ';' characters that are followed by whitespace
 9098 
 9099 Author: David Levine <levinedl@acm.org>
 9100 Date:   Sun Nov 30 21:35:19 2014 -0600
 9101 
 9102     mhfixmsg now removes an extraneous trailing semicolon from header
 9103     parameter lists.
 9104 
 9105 Author: David Levine <levinedl@acm.org>
 9106 Date:   Sat Nov 22 19:00:32 2014 -0600
 9107 
 9108     Use Nmh-Attach for attach header field name, and accept Attach.
 9109 
 9110 Author: David Levine <levinedl@acm.org>
 9111 Date:   Sat Nov 22 18:55:39 2014 -0600
 9112 
 9113     Have to check for missing type parameter in message/related part
 9114     even though it's required according to RFC 2387 Sec. 3.1.
 9115 
 9116 Author: David Levine <levinedl@acm.org>
 9117 Date:   Sat Nov 22 18:54:48 2014 -0600
 9118 
 9119     Expanded explanation of mhfixmsg return status in its man page.
 9120 
 9121 Author: David Levine <levinedl@acm.org>
 9122 Date:   Thu Nov 20 22:28:28 2014 -0600
 9123 
 9124     Look at type of parent multipart/related when determining whether
 9125     a non-plain text part already has a text/plain sibling.
 9126 
 9127 Author: David Levine <levinedl@acm.org>
 9128 Date:   Thu Nov 20 22:27:58 2014 -0600
 9129 
 9130     Added support for multipart/related to MIME parser.
 9131 
 9132 Author: David Levine <levinedl@acm.org>
 9133 Date:   Thu Nov 20 20:25:14 2014 -0600
 9134 
 9135     Added some checks to mhfixmsg.c to avoid dereferecing null pointers
 9136     after a failed transformation.
 9137 
 9138 Author: David Levine <levinedl@acm.org>
 9139 Date:   Thu Nov 20 19:48:58 2014 -0600
 9140 
 9141     Fixed double fclose() in InitMultiPart() and leaks introduced in
 9142     commit 5be8db81.
 9143 
 9144 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 9145 Date:   Thu Nov 20 15:41:34 2014 -0500
 9146 
 9147     prevent spurious errors when requesting specific message parts
 9148     
 9149     no one should be reporting NOTOK for failure to display parts that
 9150     weren't actually requested.  failure should be reserved for parts that
 9151     we really attempted to display.
 9152     
 9153     (this fix is an extension of c9794733.)
 9154 
 9155 Author: David Levine <levinedl@acm.org>
 9156 Date:   Wed Nov 19 21:04:33 2014 -0600
 9157 
 9158     Updated simple integration example in mhfixmsg(1) man page
 9159     and added return status values.
 9160 
 9161 Author: David Levine <levinedl@acm.org>
 9162 Date:   Wed Nov 19 20:17:45 2014 -0600
 9163 
 9164     Updated test-mhfixmsg to support -[no]changecur.
 9165 
 9166 Author: David Levine <levinedl@acm.org>
 9167 Date:   Wed Nov 19 20:13:01 2014 -0600
 9168 
 9169     Added -[no]changecur switches to mhfixmsg(1).
 9170 
 9171 Author: David Levine <levinedl@acm.org>
 9172 Date:   Sun Nov 16 18:13:47 2014 -0600
 9173 
 9174     Updated test-repl to compare with new -help message.
 9175 
 9176 Author: David Levine <levinedl@acm.org>
 9177 Date:   Sun Nov 16 17:14:32 2014 -0600
 9178 
 9179     Fixed repl help message to show "-[no]cc all|to|cc|me" instead of
 9180     different options for -cc and -nocc.
 9181 
 9182 Author: David Levine <levinedl@acm.org>
 9183 Date:   Sun Nov 16 17:10:52 2014 -0600
 9184 
 9185     Fixed leak in content_charset():  if get_param() found the charset,
 9186     it returns a copy.
 9187 
 9188 Author: David Levine <levinedl@acm.org>
 9189 Date:   Sat Nov 15 10:20:42 2014 -0600
 9190 
 9191     Moved mhstore declarations from uip/mhn.c, uip/mhstore.c, and
 9192     uip/mhstoresbr.c to h/mhparse.h.
 9193 
 9194 Author: David Levine <levinedl@acm.org>
 9195 Date:   Sat Nov 15 08:40:36 2014 -0600
 9196 
 9197     Removed "If this draft originated on the local host, then" phrase
 9198     from mh-alias man page.  Alias resolution applies no matter where
 9199     the draft originated.
 9200 
 9201 Author: David Levine <levinedl@acm.org>
 9202 Date:   Fri Nov 7 23:08:13 2014 -0600
 9203 
 9204     Changed content_charset() to not cache, so the user can always, and
 9205     should, free the return value.
 9206 
 9207 Author: David Levine <levinedl@acm.org>
 9208 Date:   Fri Nov 7 22:46:17 2014 -0600
 9209 
 9210     Cleaned up leaks from calls to content_charset() in mhfixmsg.
 9211 
 9212 Author: David Levine <levinedl@acm.org>
 9213 Date:   Fri Nov 7 22:42:34 2014 -0600
 9214 
 9215     Added deallocation of cts to freects_done().
 9216 
 9217 Author: David Levine <levinedl@acm.org>
 9218 Date:   Tue Nov 4 21:47:13 2014 -0600
 9219 
 9220     Fixed repl(1) man page to show "msg" instead of "msgs" because
 9221     it only allows reply to one message.
 9222 
 9223 Author: David Levine <levinedl@acm.org>
 9224 Date:   Tue Nov 4 17:04:30 2014 -0600
 9225 
 9226     Fixed mlistfree() so that it doesn't dereference a free'd list node
 9227     in order to find the next node.
 9228 
 9229 Author: David Levine <levinedl@acm.org>
 9230 Date:   Tue Nov 4 17:00:28 2014 -0600
 9231 
 9232     Fixed commit 6cc9e85e73ff6f6c67ae6e645d184bbf57ecc2f0 to properly
 9233     return other than the first mbox/address if there's a match in
 9234     getmymbox/getmyaddr.
 9235 
 9236 Author: David Levine <levinedl@acm.org>
 9237 Date:   Wed Oct 29 21:27:55 2014 -0500
 9238 
 9239     Fixed memory management in mhstore.  The main problem was a double
 9240     free when both -file and -outfile switches were used on a MIME
 9241     message.
 9242 
 9243 Author: David Levine <levinedl@acm.org>
 9244 Date:   Wed Oct 29 19:37:18 2014 -0500
 9245 
 9246     Added initial "MH-Profile-Version: 1.0\n" line to newly created
 9247     profiles.  The main purpose of this first line is to fool file(1).
 9248     Without it, if the first line of the profile is Path:, file 5.19
 9249     reports its type as message/news.  With it, it reports the type as
 9250     text/plain.
 9251 
 9252 Author: David Levine <levinedl@acm.org>
 9253 Date:   Mon Oct 27 21:20:07 2014 -0500
 9254 
 9255     Renamed getmymbox mh-format escape function to getmyaddr, and
 9256     added new getmymbox that returns the user's address with any
 9257     personal name.
 9258 
 9259 Author: David Levine <levinedl@acm.org>
 9260 Date:   Sun Oct 26 10:41:04 2014 -0500
 9261 
 9262     Added getmymbox function escape.
 9263 
 9264 Author: David Levine <levinedl@acm.org>
 9265 Date:   Sat Oct 25 20:41:55 2014 -0500
 9266 
 9267     Fixed memory leak in do_name() when multiple dates are parsed.
 9268 
 9269 Author: David Levine <levinedl@acm.org>
 9270 Date:   Sat Oct 25 20:38:20 2014 -0500
 9271 
 9272     Added free_fs(), corresponding to new_fs().
 9273 
 9274 Author: David Levine <levinedl@acm.org>
 9275 Date:   Sat Oct 25 18:54:50 2014 -0500
 9276 
 9277     Fixed dst format escape to return 1 instead of 16, to agree with its
 9278     documentation.
 9279 
 9280 Author: David Levine <levinedl@acm.org>
 9281 Date:   Fri Oct 24 23:25:58 2014 -0500
 9282 
 9283     Added mhstore-store-text/html formatting string to mhn.defaults.
 9284 
 9285 Author: David Levine <levinedl@acm.org>
 9286 Date:   Fri Oct 24 23:19:54 2014 -0500
 9287 
 9288     Fixed typo in mhstore man page.
 9289 
 9290 Author: David Levine <levinedl@acm.org>
 9291 Date:   Fri Oct 24 22:22:47 2014 -0500
 9292 
 9293     Reworked charstring_buffer_copy() to not use strdup() so that
 9294     charstrings with null bytes can be supported.  Added
 9295     charstring_append_cstring().
 9296 
 9297 Author: David Levine <levinedl@acm.org>
 9298 Date:   Sat Oct 11 09:22:52 2014 -0500
 9299 
 9300     Added mh_xcalloc().
 9301 
 9302 Author: David Levine <levinedl@acm.org>
 9303 Date:   Sat Oct 11 09:17:14 2014 -0500
 9304 
 9305     The units of the zone format escape are minutes, not hours.
 9306 
 9307 Merge: edccf71 a92ba79
 9308 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9309 Date:   Wed Oct 8 19:13:19 2014 -0700
 9310 
 9311     Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/nmh
 9312 
 9313 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9314 Date:   Wed Oct 8 19:12:28 2014 -0700
 9315 
 9316     no-op to force check the buildbots.
 9317 
 9318 Merge: cdec1be 64be852
 9319 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9320 Date:   Sun Oct 5 12:32:20 2014 -0700
 9321 
 9322     Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/nmh
 9323 
 9324 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9325 Date:   Sun Oct 5 12:28:56 2014 -0700
 9326 
 9327     mhn.defaults: make fetch less agressive on FreeBSD.
 9328     
 9329     Drop the -a flag to fetch.  Its retry logic has a bug where it will
 9330     go into an endless loop when trying to re-fetch an object behind
 9331     an https:// link when it is unable to validate the X.509 certificate
 9332     chain.
 9333 
 9334 Author: David Levine <levinedl@acm.org>
 9335 Date:   Sun Oct 5 10:18:25 2014 -0500
 9336 
 9337     Use "mhparam etcdir" instead of hard-coded etc in build_nmh.
 9338 
 9339 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9340 Date:   Sun Oct 5 01:50:59 2014 -0700
 9341 
 9342     Clean atags file as part of maintainer-clean.
 9343 
 9344 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9345 Date:   Sun Oct 5 01:27:56 2014 -0700
 9346 
 9347     Add a missing option to mhn fetch command for FreeBSD.
 9348     
 9349     I *always* forget the '-o -' to redirect to stdout :-P
 9350 
 9351 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9352 Date:   Sun Oct 5 01:20:56 2014 -0700
 9353 
 9354     On FreeBSD, use fetch(1) to retrieve external content through URLs.
 9355     
 9356     fetch(1) is part of the base system, so it's guaranteed to always be there.
 9357     And it is more likely to have been configured for any local site
 9358     customizations (local caches, proxies, etc).
 9359 
 9360 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9361 Date:   Sun Oct 5 00:26:11 2014 -0700
 9362 
 9363     If building from a non-master git branch, include the branch name in the version string.
 9364 
 9365 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9366 Date:   Sat Oct 4 22:49:01 2014 -0700
 9367 
 9368     New locations for config files and support binaries, and smarter default for install root directory.
 9369     
 9370     The default locations for config files and back-end executables has
 9371     changed.
 9372     
 9373     Config files have moved from ${sysconfdir} to ${sysconfdir}/nmh, and
 9374     the back-end programs from ${libdir} to ${libexecdir}/nmh.
 9375     
 9376     The only user-visible change is the addition of a new mhparam(1)
 9377     component 'libexecdir', which replaces the previous 'libdir'.  User
 9378     scripts invoking 'mhparam libdir' will need an update.  'libdir'
 9379     has been kept around for the time being, to give people a chance
 9380     to update their scripts.  It returns the same value as 'libexecdir'.
 9381     'libdir' has been marked deprecated in the mhparam(1) manpage and
 9382     the release notes; it will be removed in a couple of releases.
 9383     
 9384     In conjunction with this change there was an opportunity to do a
 9385     bit of Makefile cleanup.  The old 'auxexec' construct has been
 9386     replaced with a new scheme that leverages automake's templating.
 9387     The auxexec_* references have been replaced with nmhlibexec_* forms,
 9388     and a corresponding nmhlibexecdir variable defined as ${libexecdir}/nmh.
 9389     
 9390     Likewise, etcdir has been replaced with nmhetcdir.
 9391     
 9392     These name changes have percolated downstream to some extent, primarily
 9393     in the man pages and test scripts.
 9394     
 9395     Finally, configure has been made a bit smarter about setting the
 9396     default ${prefix}.  If it finds an existing nmh installation, it
 9397     will set the default ${prefix} to match, falling back to /usr/local/nmh.
 9398     configure looks for an existing installation by searching $PATH for
 9399     a viable mhparam binary.
 9400 
 9401 Author: David Levine <levinedl@acm.org>
 9402 Date:   Sat Oct 4 22:43:21 2014 -0500
 9403 
 9404     Fixed commit 2adafe760a9c45b417727a3f5d9481de26471a8b to not
 9405     try to allocate a charstring_t of length INT_MAX with -width 0.
 9406 
 9407 Author: David Levine <levinedl@acm.org>
 9408 Date:   Sat Oct 4 22:17:08 2014 -0500
 9409 
 9410     Simplified test-mhl-flags a bit.
 9411 
 9412 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9413 Date:   Wed Oct 1 17:20:38 2014 -0700
 9414 
 9415     Add a 'guide' file for acme(1).
 9416     
 9417     If we ever find more than one acme user working on the source,
 9418     the single-guide-file premise might need a review.
 9419     
 9420     Ultimately, there should be a way for the configure script to
 9421     search for and import a personal guide file from the developer's
 9422     $HOME or some such.  The next person to come along can figure
 9423     that out.
 9424 
 9425 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9426 Date:   Wed Oct 1 15:36:25 2014 -0700
 9427 
 9428     git: ignore top-level tags files
 9429     
 9430     atags is the output from a ctags variant that generates its
 9431     output in a format recognized by Plan 9's acme editor.
 9432     (ftp://orthanc.ca/unix/atags/ for details.)
 9433 
 9434 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9435 Date:   Mon Sep 29 22:42:28 2014 -0700
 9436 
 9437     FreeBSD packages destination directory fixup.
 9438     
 9439     If the ports collection is not installed, assume ports/packages
 9440     install under /usr/local.
 9441     
 9442     Also, when querying <bsd.port.mk>, use the value of the $(LOCALBASE)
 9443     macro. ($(PREFIX) is for port-specific overrides of $(LOCALBASE).)
 9444 
 9445 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9446 Date:   Mon Sep 29 15:52:18 2014 -0700
 9447 
 9448     For FreeBSD builds, also search the ports tree for includes and libs.
 9449 
 9450 Author: David Levine <levinedl@acm.org>
 9451 Date:   Sun Sep 14 20:24:24 2014 -0500
 9452 
 9453     Added checks of return value of fwrite() calls where missing.
 9454 
 9455 Author: David Levine <levinedl@acm.org>
 9456 Date:   Sun Sep 14 19:31:43 2014 -0500
 9457 
 9458     Fixed formatting of rtrim/nortrim in mhl man page.
 9459 
 9460 Author: David Levine <levinedl@acm.org>
 9461 Date:   Sun Sep 14 19:14:10 2014 -0500
 9462 
 9463     An "rtrim" flag has been added to mhl to remove any trailing
 9464     whitespace from filtered text lines.  A corresponding "nortrim" flag
 9465     has also been added.
 9466 
 9467 Author: David Levine <levinedl@acm.org>
 9468 Date:   Sun Sep 14 19:04:21 2014 -0500
 9469 
 9470     If a component has trailing whitespace, e.g., body:component="> ",
 9471     mhl now trims that whitespace off when filtering blank text lines.
 9472 
 9473 Author: David Levine <levinedl@acm.org>
 9474 Date:   Fri Sep 12 22:12:33 2014 -0500
 9475 
 9476     Fixed all anomalies detected by clang static analyzer (with
 9477     default checkers on Linux).  One was notable:  there was a break
 9478     missing from a switch case in fmt_scan.c, which caused the result
 9479     of the sday function escape to be garbage.
 9480 
 9481 Author: Ken Hornstein <kenh@pobox.com>
 9482 Date:   Fri Sep 12 15:06:52 2014 -0400
 9483 
 9484     Fix typo in man page
 9485 
 9486 Author: David Levine <levinedl@acm.org>
 9487 Date:   Sun Sep 7 09:56:21 2014 -0500
 9488 
 9489     On some platforms, -D_FORTIFY_SOURCE=2 warns about ignoring the
 9490     return value from mbtowc() even when it is called to reset the
 9491     shift state.  So wrap that in an if statement with a null body.
 9492 
 9493 Author: David Levine <levinedl@acm.org>
 9494 Date:   Sun Sep 7 09:18:20 2014 -0500
 9495 
 9496     Added -D_FORTIFY_SOURCE=2 now that the build is clean with it.
 9497     Removed -Wno-unused-result because it shold no longer be necessary.
 9498     Adjusting all settings of CPPFLAGS to have consistent form.
 9499 
 9500 Author: David Levine <levinedl@acm.org>
 9501 Date:   Sat Sep 6 20:26:42 2014 -0500
 9502 
 9503     Added a couple of new directories and a note about valgrind
 9504     warnings from debuginfo to README.developers.
 9505 
 9506 Author: David Levine <levinedl@acm.org>
 9507 Date:   Sat Sep 6 08:00:52 2014 -0500
 9508 
 9509     Check return values of system calls in uip/ and test/ .c files, found
 9510     with gcc's -D_FORTIFY_SOURCE=2.
 9511 
 9512 Author: David Levine <levinedl@acm.org>
 9513 Date:   Fri Sep 5 21:18:28 2014 -0500
 9514 
 9515     Quote "$SEARCHPATH" in mhn.defaults.sh to allow spaces, etc., in
 9516     PATH components.
 9517 
 9518 Author: David Levine <levinedl@acm.org>
 9519 Date:   Mon Sep 1 21:09:04 2014 -0500
 9520 
 9521     Doubled size of buffers used by m_getfld(), scan, and fmttest to
 9522     8192, on any platform, so that -width 0 and -outsize max are
 9523     likely to include at least some part of the body of each message.
 9524 
 9525 Author: David Levine <levinedl@acm.org>
 9526 Date:   Mon Sep 1 20:27:33 2014 -0500
 9527 
 9528     Fixed typo in mh-profile.man.
 9529 
 9530 Author: David Levine <levinedl@acm.org>
 9531 Date:   Mon Sep 1 20:14:52 2014 -0500
 9532 
 9533     Don't let scan() use too large a width (BUFSIZ for now) to prevent
 9534     allocating a huge output buffer.
 9535 
 9536 Author: David Levine <levinedl@acm.org>
 9537 Date:   Sun Aug 31 15:40:57 2014 -0500
 9538 
 9539     A value of 0 for the width switch of scan(1), inc(1), ap(1), dp(1),
 9540     fmttest(1), and mhl(1) now means as many characters as the format
 9541     engine can produce [Bug #15274].  That amount is limited by internal
 9542     buffers.
 9543 
 9544 Author: David Levine <levinedl@acm.org>
 9545 Date:   Sun Aug 31 15:39:47 2014 -0500
 9546 
 9547     Fixed read of body in fmttest to limit size to that of rbuf, if
 9548     smaller than outwidth, to avoid overrunning it.
 9549 
 9550 Author: David Levine <levinedl@acm.org>
 9551 Date:   Fri Aug 29 08:50:51 2014 -0500
 9552 
 9553     fmt_scan() no longer subtracts 1 from the width.  This has the effect
 9554     of no longer counting the trailing newline in the output of scan(1),
 9555     inc(1), and the other programs that rely on it.
 9556 
 9557 Author: Ken Hornstein <kenh@pobox.com>
 9558 Date:   Thu Aug 28 22:29:21 2014 -0400
 9559 
 9560     Very very rough cut at trying to parse email addresses with Bison.
 9561 
 9562 Author: David Levine <levinedl@acm.org>
 9563 Date:   Mon Aug 25 22:06:11 2014 -0500
 9564 
 9565     Check return values of system calls in several sbr .c files, found
 9566     with gcc's -D_FORTIFY_SOURCE=2.  Updated checks added previously to
 9567     mhfixmsg.c to be consistent.
 9568 
 9569 Author: David Levine <levinedl@acm.org>
 9570 Date:   Mon Aug 25 20:49:39 2014 -0500
 9571 
 9572     Moved reverse_alternative_parts() from mhfixmsg.c to mhparse.c
 9573     and added declaration to mhparse.h.
 9574 
 9575 Author: David Levine <levinedl@acm.org>
 9576 Date:   Mon Aug 25 19:50:23 2014 -0500
 9577 
 9578     Removed msh relics from scansbr.c, including a global.
 9579 
 9580 Author: David Levine <levinedl@acm.org>
 9581 Date:   Mon Aug 25 19:29:34 2014 -0500
 9582 
 9583     Added size_t cast of another MB_CUR_MAX to silence the compiler
 9584     on FreeBSD 9.
 9585 
 9586 Author: David Levine <levinedl@acm.org>
 9587 Date:   Sun Aug 24 21:46:34 2014 -0500
 9588 
 9589     Added cast of MB_CUR_MAX to size_t to silence compiler warning on
 9590     FreeBSD.
 9591 
 9592 Author: David Levine <levinedl@acm.org>
 9593 Date:   Sun Aug 24 21:19:10 2014 -0500
 9594 
 9595     Dynamically allocate space for the output of fmt_scan(), using
 9596     charstring_t, so a fixed sized output buffer is no longer needed.
 9597     Also got rid of scanl global.
 9598 
 9599 Author: David Levine <levinedl@acm.org>
 9600 Date:   Sun Aug 24 12:06:40 2014 -0500
 9601 
 9602     Added const to last argument of trace_cb signature, it'll be
 9603     needed for use with charstring.
 9604 
 9605 Author: David Levine <levinedl@acm.org>
 9606 Date:   Sun Aug 24 08:23:55 2014 -0500
 9607 
 9608     Added charstring "class".
 9609 
 9610 Author: David Levine <levinedl@acm.org>
 9611 Date:   Wed Aug 20 07:53:56 2014 -0500
 9612 
 9613     Refer to RFC 2046 instead of 1521 in mhlist.man.
 9614 
 9615 Author: David Levine <levinedl@acm.org>
 9616 Date:   Mon Aug 18 20:47:03 2014 -0500
 9617 
 9618     Changed dist_contrib_DATA to dist_contrib_SCRIPTS so that all
 9619     of the scripts will be installed with execute permissions.
 9620 
 9621 Author: David Levine <levinedl@acm.org>
 9622 Date:   Mon Aug 18 20:36:00 2014 -0500
 9623 
 9624     Updated mhfixmsg(1) man page to refer to mh-mkstemp(1) instead of
 9625     mktemp.
 9626 
 9627 Author: David Levine <levinedl@acm.org>
 9628 Date:   Sat Aug 16 21:01:26 2014 -0500
 9629 
 9630     Checked return value of write() calls in mhfixmsg.c,
 9631     found with gcc's -D_FORTIFY_SOURCE=2.
 9632 
 9633 Author: David Levine <levinedl@acm.org>
 9634 Date:   Fri Aug 15 21:00:57 2014 -0500
 9635 
 9636     Removed h/msh, hopefully the last msh relic.
 9637 
 9638 Author: David Levine <levinedl@acm.org>
 9639 Date:   Sat Aug 9 09:20:31 2014 -0500
 9640 
 9641     ncurses package is required to run all of test suite on Linux and Cygwin.
 9642 
 9643 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9644 Date:   Fri Aug 8 14:32:54 2014 -0700
 9645 
 9646     Print information about the compiler toolchain on Darwin and FreeBSD.
 9647 
 9648 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9649 Date:   Wed Aug 6 17:48:18 2014 -0700
 9650 
 9651     Add new build tool: tools/showbuildenv
 9652     
 9653     This prints some basic information about the build environment.
 9654     It's intended use is to print some information about the specific
 9655     build environment for each of the builds in the buildbot cluster.
 9656     In particular, the patch level of the OS, and the versions of
 9657     3rd-party packages installed on the system, compiler versions, etc.
 9658 
 9659 Author: David Levine <levinedl@acm.org>
 9660 Date:   Sun Aug 3 22:08:23 2014 -0500
 9661 
 9662     Removed second argument from m_Eom() in m_getfld.c because
 9663     it was unused.
 9664 
 9665 Author: David Levine <levinedl@acm.org>
 9666 Date:   Sun Aug 3 21:05:03 2014 -0500
 9667 
 9668     Here's a better fix to m_Eom() in m_getfld.c than commit
 9669     d2520ac7054ad75d60342606bf13c821305d958c.  The comparison
 9670     of the return value of Getc() with EOF must be as an
 9671     integer, not a char.
 9672 
 9673 Author: David Levine <levinedl@acm.org>
 9674 Date:   Sun Aug 3 21:01:16 2014 -0500
 9675 
 9676     Removed eom_action from m_getfld.c because it was only used by
 9677     m_eomsbr(), which was removed by commit
 9678     68e8c25f906e7353269502d2292c8e99aa8c6605.
 9679 
 9680 Author: David Levine <levinedl@acm.org>
 9681 Date:   Sun Aug 3 20:35:07 2014 -0500
 9682 
 9683     Removed mhlsbr().  It was only used by msh, too.
 9684 
 9685 Author: David Levine <levinedl@acm.org>
 9686 Date:   Sun Aug 3 20:10:45 2014 -0500
 9687 
 9688     Removed m_eomsbr() from m_getfld.c, and its scan_eom_action()
 9689     wrapper.  It was only used by msh, which was removed by commit
 9690     e6917522a770cf2dba9997ca047977bc55fac061.
 9691 
 9692 Author: David Levine <levinedl@acm.org>
 9693 Date:   Sun Aug 3 07:53:15 2014 -0500
 9694 
 9695     Added -debug switch to pick(1) and deprecated $MHPDEBUG.
 9696 
 9697 Author: David Levine <levinedl@acm.org>
 9698 Date:   Sat Aug 2 21:37:34 2014 -0500
 9699 
 9700     Fixed refile(1) -retainsequences when the source and destination
 9701     folders are the same.
 9702 
 9703 Author: David Levine <levinedl@acm.org>
 9704 Date:   Sun Jul 27 08:32:13 2014 -0500
 9705 
 9706     Separated out list of programs that are required to build from a
 9707     source code snapshot from those that are required to build from a
 9708     distribution.
 9709 
 9710 Author: David Levine <levinedl@acm.org>
 9711 Date:   Thu Jul 24 13:10:23 2014 -0500
 9712 
 9713     Fixed sed usage in flex fixup to not use -s (or -e, because
 9714     even that's not needed).
 9715 
 9716 Author: David Levine <levinedl@acm.org>
 9717 Date:   Wed Jul 23 21:20:34 2014 -0500
 9718 
 9719     Removed "true" from end of flex fixups.  I don't know why it was
 9720     there.
 9721 
 9722 Author: David Levine <levinedl@acm.org>
 9723 Date:   Wed Jul 23 21:10:47 2014 -0500
 9724 
 9725     Apply flex fixup to dtimep.c with flex 2.5.37 as well as 2.5.36.
 9726 
 9727 Author: David Levine <levinedl@acm.org>
 9728 Date:   Tue Jul 22 21:50:30 2014 -0500
 9729 
 9730     When mhparam(1) is going to output the value for spoollocking,
 9731     call mts_init() first in case it was set in mts.conf.
 9732 
 9733 Author: David Levine <levinedl@acm.org>
 9734 Date:   Tue Jul 22 21:17:54 2014 -0500
 9735 
 9736     Updated test-spoollocking to restore mts.conf when it's finished
 9737     (successfully) so as to not upset subsequent tests.  Also fixed
 9738     removal of existing spoollocking option each time through.
 9739 
 9740 Author: David Levine <levinedl@acm.org>
 9741 Date:   Tue Jul 22 20:46:04 2014 -0500
 9742 
 9743     Note in mh-folders(5) man page that spoollocking can be overridden
 9744     in mts.conf as well as with configure.
 9745 
 9746 Author: Ken Hornstein <kenh@pobox.com>
 9747 Date:   Wed Jul 9 12:05:49 2014 -0400
 9748 
 9749     Fix bug #42718; ali(1) still refers to removed options -normalize and
 9750     -nonormalize.
 9751 
 9752 Author: David Levine <levinedl@acm.org>
 9753 Date:   Tue Jul 8 19:58:12 2014 -0500
 9754 
 9755     If the user didn't specify any of the tls switches to post(8), try to
 9756     help them by implying -initialtls if they're using port 465 (smtps,
 9757     until IANA revoked that registration in 1998).
 9758 
 9759 Author: David Levine <levinedl@acm.org>
 9760 Date:   Sun Jul 6 22:22:38 2014 -0500
 9761 
 9762     Here's an even simpler fix to enable TLS by default.
 9763 
 9764 Author: David Levine <levinedl@acm.org>
 9765 Date:   Sun Jul 6 16:46:12 2014 -0500
 9766 
 9767     Fix to commit 03e76aecdf671ca13b5912af8206e9bdcb6c0919 to enable
 9768     TLS by default.  Boolean logic is our friend.
 9769 
 9770 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9771 Date:   Fri Jul 4 13:24:37 2014 -0700
 9772 
 9773     Revert "Default to enabling (Cyrus) SASL, if available."
 9774     
 9775     This reverts commit fd23674a5829d5092c99a07110086f02f0b4a238.
 9776 
 9777 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9778 Date:   Thu Jul 3 19:31:44 2014 -0700
 9779 
 9780     Turn back the sasl test.  Everything broke as a result.
 9781     Not surprising.
 9782     
 9783     Revert "Comments should say why a chance matters ..."
 9784     
 9785     This reverts commit 7e6d0b76b1869b4fecc2412ac68f9739ee5916ea.
 9786 
 9787 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9788 Date:   Thu Jul 3 17:49:31 2014 -0700
 9789 
 9790     Comments should say why a chance matters ...
 9791 
 9792 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9793 Date:   Thu Jul 3 16:40:37 2014 -0700
 9794 
 9795     Default to enabling (Cyrus) SASL, if available.
 9796 
 9797 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9798 Date:   Thu Jul 3 16:33:56 2014 -0700
 9799 
 9800     Fix the release notes to put things in the correct section,
 9801 
 9802 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9803 Date:   Thu Jul 3 16:25:13 2014 -0700
 9804 
 9805     Note that post uses the submission port now.
 9806 
 9807 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9808 Date:   Thu Jul 3 16:11:38 2014 -0700
 9809 
 9810     Enable TLS by default.
 9811 
 9812 Author: David Levine <levinedl@acm.org>
 9813 Date:   Mon Jun 16 21:04:47 2014 -0500
 9814 
 9815     Check return value of setlocale(3) and admonish on failure.
 9816 
 9817 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9818 Date:   Mon Jun 16 17:03:06 2014 -0700
 9819 
 9820     Add missing variable initializations on fmt_scan().
 9821 
 9822 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
 9823 Date:   Mon Jun 16 16:03:25 2014 -0700
 9824 
 9825     Ensure getline() is in scope on FreeBSD.
 9826     
 9827     On FreeBSD, to make the getline() prototype visible, you must
 9828     '#define _WITH_GETLINE' before including <stdio.h>.
 9829 
 9830 Author: David Levine <levinedl@acm.org>
 9831 Date:   Sun Jun 15 22:43:16 2014 -0500
 9832 
 9833     Fix to commit 0d3875d020fb17d34918f5e81ee7f87fbc5d1565:  it seems
 9834     that only Linux uses the locale name of en_US.utf8, so added check
 9835     for the more common en_US.utf-8 to the tests that use it.
 9836 
 9837 Author: David Levine <levinedl@acm.org>
 9838 Date:   Sun Jun 15 22:05:16 2014 -0500
 9839 
 9840     Reordered #includes of sbr/terminal.c to allow compilation on
 9841     Solaris 10.  Thanks to Michael Urban for report the problem and
 9842     verifying the fix.
 9843 
 9844 Author: David Levine <levinedl@acm.org>
 9845 Date:   Sat Jun 14 11:52:42 2014 -0500
 9846 
 9847     Skip (parts of) tests that require en_US.utf8 locale if it's
 9848     not available.  Thanks to Alexander Zangerl for reporting the
 9849     issue.
 9850 
 9851 Author: Ken Hornstein <kenh@pobox.com>
 9852 Date:   Fri Jun 13 15:17:48 2014 -0400
 9853 
 9854     Test to make sure inc works properly with a POP server that has
 9855     multiple messages on it.
 9856 
 9857 Author: Ken Hornstein <kenh@pobox.com>
 9858 Date:   Fri Jun 13 15:07:26 2014 -0400
 9859 
 9860     Support multiple messages with fakepop.
 9861 
 9862 Author: Ken Hornstein <kenh@pobox.com>
 9863 Date:   Tue Jun 10 21:08:02 2014 -0400
 9864 
 9865     Always default the username to the local username, even when not
 9866     doing SASL.  Fix suggested by Michael Urban.
 9867 
 9868 Author: Ken Hornstein <kenh@pobox.com>
 9869 Date:   Tue Jun 10 19:06:54 2014 -0400
 9870 
 9871     Use variable-size (but in one case, fixed but larger) buffers for the SASL
 9872     exchange to deal with larger SASL messages (specifically, when doing GSSAPI
 9873     with certain ticket extensions).
 9874 
 9875 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 9876 Date:   Mon Jun 9 23:21:35 2014 -0400
 9877 
 9878     mh-profile.man: rewrite the Profile Lookup section for clarity
 9879     
 9880     thanks to Ralph Corderoy for the text.
 9881 
 9882 Author: Ken Hornstein <kenh@pobox.com>
 9883 Date:   Mon Jun 9 12:00:17 2014 -0400
 9884 
 9885     If "curl" is available, create a nmh-access-url entry that uses it.
 9886 
 9887 Author: Ken Hornstein <kenh@pobox.com>
 9888 Date:   Mon Jun 9 11:36:05 2014 -0400
 9889 
 9890     Fix curl example for nmh-access-url entry.
 9891 
 9892 Author: Ken Hornstein <kenh@pobox.com>
 9893 Date:   Sat Jun 7 23:14:12 2014 -0400
 9894 
 9895     Return an appropriate error if the input characters are 8-bit, but the
 9896     locale character set is US-ASCII.
 9897 
 9898 Author: Ken Hornstein <kenh@pobox.com>
 9899 Date:   Sat Jun 7 22:40:12 2014 -0400
 9900 
 9901     Whoops, this should be LC_CTYPE.  Fixing that exposes the lack of an
 9902     appropriate environment variable in test-utf8-body
 9903 
 9904 Author: Paul Fox <pgf@foxharp.boston.ma.us>
 9905 Date:   Wed Jun 4 12:18:12 2014 -0400
 9906 
 9907     mhlist: don't truncate anything when -verbose
 9908     
 9909     without this change to the -verbose output, there's no easy way to use
 9910     mhlist to get an unmodified content-type or content-description.  (the
 9911     non-verbose output isn't changed.)
 9912 
 9913 Author: David Levine <levinedl@acm.org>
 9914 Date:   Thu May 29 21:08:59 2014 -0500
 9915 
 9916     Clarified description in comments of context_find_by_type().
 9917 
 9918 Author: David Levine <levinedl@acm.org>
 9919 Date:   Thu May 29 21:07:25 2014 -0500
 9920 
 9921     Added static to declaration of docc().
 9922 
 9923 Author: David Levine <levinedl@acm.org>
 9924 Date:   Thu May 29 21:05:36 2014 -0500
 9925 
 9926     Undid commit 475fef2edee9db3c63fc089df76f8e93e3d598cd, it didn't
 9927     seem popular.  We'd be better off with a proper method, or using
 9928     formail(1), to extract the addresses from a message.
 9929 
 9930 Author: David Levine <levinedl@acm.org>
 9931 Date:   Thu May 29 21:02:49 2014 -0500
 9932 
 9933     Split assignment and export of shell variable.
 9934 
 9935 Author: David Levine <levinedl@acm.org>
 9936 Date:   Tue May 27 21:35:23 2014 -0500
 9937 
 9938     Added mention of "Reply to <address>?" prompt to repl(1) man
 9939     page and code, as comment.  Suggested by Norm so that scripts
 9940     can depend on it.
 9941 
 9942 Author: David Levine <levinedl@acm.org>
 9943 Date:   Mon May 26 09:17:34 2014 -0500
 9944 
 9945     Added context_find_by_type(), helper function to search first, if
 9946     subtype is non-NULL, for invoname-string-type/subtype and then
 9947     invoname-string-type.  Also gets rid of some fixed-size temp buffers.
 9948 
 9949 Author: David Levine <levinedl@acm.org>
 9950 Date:   Fri May 23 17:07:39 2014 -0500
 9951 
 9952     Fixed test-mkstemp to work with valgrind.
 9953 
 9954 Author: David Levine <levinedl@acm.org>
 9955 Date:   Thu May 22 20:39:45 2014 -0500
 9956 
 9957     Fixed to commit 378589b17424bd78acbfc57d505383ffb8c256cb:
 9958     when a -file switch will be used, insert -[no]concat before
 9959     the filename (and therefore, the -file switch itself).
 9960 
 9961 Author: David Levine <levinedl@acm.org>
 9962 Date:   Wed May 21 22:11:42 2014 -0500
 9963 
 9964     Don't pass -[no]concat from show(1) to mhl(1).
 9965 
 9966 Author: David Levine <levinedl@acm.org>
 9967 Date:   Wed May 21 20:56:25 2014 -0500
 9968 
 9969     Fixed typos in comments.
 9970 
 9971 Author: David Levine <levinedl@acm.org>
 9972 Date:   Wed May 21 20:50:22 2014 -0500
 9973 
 9974     On platforms with no MIMETYPEPROC, declare the content to be
 9975     binary if it contains any NUL characters.
 9976 
 9977 Author: Ken Hornstein <kenh@pobox.com>
 9978 Date:   Mon May 19 13:37:26 2014 -0400
 9979 
 9980     Explain how to get a literal % in format files.
 9981 
 9982 Author: David Levine <levinedl@acm.org>
 9983 Date:   Sun May 18 21:55:13 2014 -0500
 9984 
 9985     Documented steps to build RPM from tarball, without using autogen.sh.
 9986 
 9987 Author: David Levine <levinedl@acm.org>
 9988 Date:   Sun May 18 21:43:20 2014 -0500
 9989 
 9990     Added autogen.sh to EXTRA_DIST.
 9991 
 9992 Author: Ken Hornstein <kenh@pobox.com>
 9993 Date:   Fri May 16 13:02:43 2014 -0400
 9994 
 9995     Handle unknown message types in the generic content handler rather
 9996     than in the RFC822 handler; this will cause them to be displayed using
 9997     an output marker rather than throw an error.
 9998 
 9999 Author: Ken Hornstein <kenh@pobox.com>
10000 Date:   Fri May 16 12:14:21 2014 -0400
10001 
10002     Output a newline if the last character in a text/plain part is
10003     not a newline (but only for mhshow).
10004 
10005 Author: Ken Hornstein <kenh@pobox.com>
10006 Date:   Fri May 16 00:04:24 2014 -0400
10007 
10008     Move the prototype for show_content_aux() to a common header file; it
10009     got an extra argument recently but none of the other users of it
10010     noticed.
10011     
10012     When fixing this I discovered that the usage of show_content_aux()
10013     by mhstoresbr.c was wrong; the prototype had an extra argument in
10014     the middle of it.  Apparently this has been broken for 15 years!
10015 
10016 Author: Ken Hornstein <kenh@pobox.com>
10017 Date:   Thu May 15 23:01:49 2014 -0400
10018 
10019     Switch from %p to %l (%p is no longer supported, although we silently
10020     accept it).
10021 
10022 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10023 Date:   Thu May 15 14:02:07 2014 -0400
10024 
10025     fix comment syntax
10026 
10027 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10028 Date:   Tue May 13 09:36:42 2014 -0400
10029 
10030     clarify scan_content() logic for choosing encoding
10031 
10032 Author: David Levine <levinedl@acm.org>
10033 Date:   Thu May 15 10:28:03 2014 -0500
10034 
10035     Added support for mhbuild-disposition-<type>[/<subtype>] profile
10036     entries when mhbuild expands Attach: headers.  Default to
10037     'attachment', but override with 'inline' entries for text/calendar
10038     and message/rfc822 in mhn.defaults.
10039 
10040 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10041 Date:   Thu May 15 08:55:45 2014 -0400
10042 
10043     change mhlist to use decimal math when abbreviating sizes
10044     
10045     the K/M/G/T units imply factors of 1000, so make the code
10046     match.  (the alternative would be to change the units to
10047     Ki/Mi/Gi/Ti.)  mhlist output might someday be configurable
10048     using mh-format, in which case the user will be able to choose.
10049 
10050 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10051 Date:   Tue May 13 10:10:09 2014 -0400
10052 
10053     add $(kibi) function, as complement to %(kilo)
10054     
10055     %(kibi) will convert a number to IEC prefix units, i.e. Ki, Mi, Gi,
10056     Ti, representing factors of 1024.  (by comparison, %(kilo) represents
10057     factors of 1000.)
10058 
10059 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10060 Date:   Tue May 13 09:43:43 2014 -0400
10061 
10062     rename %(units) to %(kilo)
10063     
10064     per discussion here:
10065       http://lists.nongnu.org/archive/html/nmh-workers/2014-05/msg00092.html
10066 
10067 Author: David Levine <levinedl@acm.org>
10068 Date:   Tue May 13 07:02:11 2014 -0500
10069 
10070     Added --dereference option, if supported, to file(1) command
10071     in NMH_MIMETYPEPROC and NMH_MIMEENCODINGPROC macros.
10072 
10073 Author: David Levine <levinedl@acm.org>
10074 Date:   Fri May 9 18:58:11 2014 -0500
10075 
10076     Fix to commit b828fcb1695393007a75c41d32b2173c296be9d7:  a couple
10077     of commas were missing from the added line.
10078 
10079 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10080 Date:   Thu May 8 14:25:14 2014 -0400
10081 
10082     add new sample files for mhbuild tests to Makefile.am
10083 
10084 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10085 Date:   Thu May 8 12:42:10 2014 -0400
10086 
10087     add new test for 'mhbuild -check'
10088 
10089 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10090 Date:   Thu May 8 11:31:56 2014 -0400
10091 
10092     eliminate use of fgets() from calculate_digest() in mhbuildsbr.c
10093 
10094 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10095 Date:   Thu May 8 10:57:40 2014 -0400
10096 
10097     eliminate use of fgets() in mhbuild.c
10098     
10099     use getline() instead, which is more tolerant of NULs in the input.
10100     also cleaned up error and file cleanup paths a bit.
10101 
10102 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10103 Date:   Thu May 8 10:51:30 2014 -0400
10104 
10105     eliminate use of fgets() in mhparse.c
10106     
10107     use getline() instead, which is more tolerant of NULs in the input.
10108 
10109 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10110 Date:   Wed May 7 19:43:04 2014 -0400
10111 
10112     add new test for NUL bytes embedded in text/plain parts
10113     
10114     such parts should be encoded with quoted-printable
10115 
10116 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10117 Date:   Wed May 7 16:57:14 2014 -0400
10118 
10119     add new test for attachment containing NULs
10120 
10121 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10122 Date:   Wed May 7 19:41:39 2014 -0400
10123 
10124     clean up whitespace in mhbuildsbr.c
10125     
10126     lots of space-follows-tabs, and trailing whitespace.
10127     no code changes.
10128 
10129 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10130 Date:   Wed May 7 19:36:56 2014 -0400
10131 
10132     make scan_content() work correctly with content containing NULs
10133     
10134     switched from fgets to getline for unambiguous reads in the face of
10135     NUL bytes.  added a checkfornuls flag, and use it to cause the correct
10136     encoding when content-types of application or text contain NULs.
10137 
10138 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10139 Date:   Wed May 7 19:34:33 2014 -0400
10140 
10141     make writeQuoted() work correctly with content containing NULs
10142 
10143 Author: Ken Hornstein <kenh@pobox.com>
10144 Date:   Thu May 8 12:37:50 2014 -0400
10145 
10146     Treat unknown top-level content types as "application" types, instead
10147     of generating an "unknown content type 0" error.
10148 
10149 Author: David Levine <levinedl@acm.org>
10150 Date:   Wed May 7 21:16:46 2014 -0500
10151 
10152     Fixed test-charset to pass without iconv.
10153 
10154 Author: David Levine <levinedl@acm.org>
10155 Date:   Wed May 7 21:14:45 2014 -0500
10156 
10157     Moved norm_charmap() declaration from h/prototypes.h to
10158     sbr/check_charset.c.  That's the only place where it's used and
10159     we want to keep it that way.
10160 
10161 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10162 Date:   Wed May 7 12:33:56 2014 -0700
10163 
10164     Add a doxygen config file.
10165     
10166     Sends its output to docs/doxygen/... (see docs/doxygen/html/index.html after
10167     you run doxygen).
10168     
10169     Requires graphviz, for the dependency graphs.
10170 
10171 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10172 Date:   Wed May 7 12:09:21 2014 -0700
10173 
10174     Revert "Increment VERSION on the head to 1.7+dev."
10175     
10176     This reverts commit 6cce62edaae4cc28ac42a1a796ff18f183407788.
10177 
10178 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10179 Date:   Wed May 7 12:07:03 2014 -0700
10180 
10181     Add a 'tools' subdirectory.  This is a home for developer-oriented
10182     scripts and such which can't be run from the Makefile(s) due to
10183     system dependencies.
10184 
10185 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10186 Date:   Wed May 7 11:49:10 2014 -0700
10187 
10188     Increment VERSION on the head to 1.7+dev.
10189 
10190 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10191 Date:   Wed May 7 11:44:05 2014 -0700
10192 
10193     Scrub *.plist (Clang Static Analyzer) files when cleaning.
10194 
10195 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10196 Date:   Wed May 7 11:43:09 2014 -0700
10197 
10198     Git: ingore *.plist files (generated by the Clang Static Analyzer).
10199 
10200 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10201 Date:   Wed May 7 12:10:35 2014 -0400
10202 
10203     remove binaries unintentionally committed
10204     
10205     oops.
10206 
10207 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10208 Date:   Mon May 5 22:41:43 2014 -0400
10209 
10210     modify tests for the new mhshow mime part marker format
10211     
10212     also added a couple of Content-Description headers to better
10213     test the marker format.
10214 
10215 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10216 Date:   Wed May 7 10:19:56 2014 -0400
10217 
10218     modify mhshow marker format to include the size of the part
10219 
10220 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10221 Date:   Tue May 6 17:28:18 2014 -0400
10222 
10223     add "%(units)" function, to express numbers with SI units
10224     
10225     i.e., 1510 --> 1.5K, 15780000 --> 15.8M  etc.  useful with %(size),
10226     as in %(units(size)).
10227 
10228 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10229 Date:   Tue May 6 11:54:52 2014 -0400
10230 
10231     make the %(size) function useful in mhshow marker line formats
10232     
10233     normally %(size) returns the size of the message.  in mhshow
10234     marker lines, it returns the size of the (decoded, if necessary) part.
10235 
10236 Author: Ken Hornstein <kenh@pobox.com>
10237 Date:   Tue May 6 22:41:34 2014 -0400
10238 
10239     Document these functions a bit better.
10240 
10241 Author: David Levine <levinedl@acm.org>
10242 Date:   Sun May 4 22:30:45 2014 -0500
10243 
10244     Removed obsolete comment.
10245 
10246 Author: David Levine <levinedl@acm.org>
10247 Date:   Sun May 4 09:25:49 2014 -0500
10248 
10249     Fixed typo in comment in sbr/readconfig.c.
10250 
10251 Author: David Levine <levinedl@acm.org>
10252 Date:   Sun May 4 21:51:52 2014 -0500
10253 
10254     Replaced use of norm_charmap() in mhshow and mhfixmsg with
10255     case-insensitive string comparison against the charset name.
10256     norm_charmap() is intended for use with result of nl_langinfo(),
10257     and didn't add much value here.
10258 
10259 Author: David Levine <levinedl@acm.org>
10260 Date:   Sun May 4 09:03:33 2014 -0500
10261 
10262     In mhshow, copy result of call to norm_charmap() and get_charset()
10263     because they return a static buffer.  Thanks to Alexander Zangerl
10264     for tracking this down, when using an ISO-8859-1 locale.
10265 
10266 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10267 Date:   Wed Apr 23 21:44:54 2014 -0400
10268 
10269     mhshow:  apply marker form to all part separators
10270     
10271     the mhshow "-markform" format is now used for all part separators, not
10272     just those being left out.  the format now overloads the %(unseen)
10273     function to indicate that the content of the part being marked has
10274     been suppressed.  the built-in default and example formats both make
10275     use of this function.
10276 
10277 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10278 Date:   Sat Apr 26 10:45:47 2014 -0400
10279 
10280     mhshow: suppress error for undisplayable parts, if they're not wanted
10281     
10282     consider this message:
10283     
10284        1       multipart/mixed          1113K
10285          1     multipart/alternative      292
10286          1.1   text/html                   66
10287          1.2   text/plain                  49
10288          2     image/jpeg                823K
10289     
10290     if this is displayed using "mshow -part 2", in the presence of an
10291     MHSHOW variable which _only_ describes a rule for displaying images,
10292     then we don't want to get an error about how nothing in part 1 was
10293     displayable.
10294 
10295 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10296 Date:   Tue Apr 22 12:23:01 2014 -0400
10297 
10298     man pages: clarify how profiles entries are searched
10299     
10300     (cherry picked from commit d7b59eb68168ead6a81ca40cf8aa5cccbf86c649)
10301 
10302 Author: Ken Hornstein <kenh@pobox.com>
10303 Date:   Mon Apr 21 23:00:47 2014 -0400
10304 
10305     Fix minor typo in NEWS file.  Pointed out by Norman Shapiro.
10306 
10307 Author: David Levine <levinedl@acm.org>
10308 Date:   Mon Apr 21 19:00:45 2014 -0500
10309 
10310     Added yet another NDBM (gdbm, actually) header/lib pair, for Ralph's
10311     platform.
10312 
10313 Author: David Levine <levinedl@acm.org>
10314 Date:   Mon Apr 21 13:00:00 2014 -0500
10315 
10316     Added mhfixmsg to nmh man page.
10317 
10318 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10319 Date:   Sun Apr 20 19:01:48 2014 -0400
10320 
10321     mhshow.man: fix an incorrect 'mhn' reference
10322 
10323 Author: Ken Hornstein <kenh@pobox.com>
10324 Date:   Sun Apr 20 18:28:21 2014 -0400
10325 
10326     Documentation improvements, from Ralph Corderoy.
10327 
10328 Author: Ken Hornstein <kenh@pobox.com>
10329 Date:   Sun Apr 20 18:08:47 2014 -0400
10330 
10331     Move clsfolds() before the call to context_save(); that is required
10332     when using private sequences, since seq_save() only moves the sequence
10333     information into the context structure; a subsequent call to context_save()
10334     is required to actually write out the context file.
10335 
10336 Author: Ken Hornstein <kenh@pobox.com>
10337 Date:   Sun Apr 20 00:02:26 2014 -0400
10338 
10339     Sigh.  Of course I find another bug after I release RC2.  Make sure to
10340     initialize the enclosing CT structure when creating a message/external-body
10341     part.
10342 
10343 Author: Ken Hornstein <kenh@pobox.com>
10344 Date:   Fri Apr 18 10:57:27 2014 -0400
10345 
10346     Remove support for a "*" in alias files (which would add everyone in
10347     the password file to the alias).
10348 
10349 Author: Ken Hornstein <kenh@pobox.com>
10350 Date:   Fri Apr 18 10:44:19 2014 -0400
10351 
10352     Remove msh(1).
10353 
10354 Author: Ken Hornstein <kenh@pobox.com>
10355 Date:   Fri Apr 18 10:03:27 2014 -0400
10356 
10357     Remove mhtest(8).
10358 
10359 Author: Ken Hornstein <kenh@pobox.com>
10360 Date:   Fri Apr 18 09:30:22 2014 -0400
10361 
10362     Remove conflict(8).
10363 
10364 Author: Ken Hornstein <kenh@pobox.com>
10365 Date:   Fri Apr 18 09:20:42 2014 -0400
10366 
10367     Remove -queue support to post; it is now officially obsolete.
10368 
10369 Author: Ken Hornstein <kenh@pobox.com>
10370 Date:   Fri Apr 18 08:43:37 2014 -0400
10371 
10372     Fix the same problem in scan that was fixed in commit
10373     9eb9b47593181a3bf987eeaa0398ab5330ec12f8, but fix it for Maildir
10374     support.  Patch from Eric Gillespie.
10375 
10376 Author: David Levine <levinedl@acm.org>
10377 Date:   Thu Apr 17 19:55:19 2014 -0500
10378 
10379     Unset MAILDROP in test/common.sh so that it doesn't confuse
10380     test/inc/test-msgchk.
10381 
10382 Author: Ken Hornstein <kenh@pobox.com>
10383 Date:   Wed Apr 16 11:46:55 2014 -0400
10384 
10385     Sigh.  Mention that we have to do both a "git push" and a "git push --tags".
10386 
10387 Author: Ken Hornstein <kenh@pobox.com>
10388 Date:   Wed Apr 16 11:44:48 2014 -0400
10389 
10390     Mention release branchpoint tagging.
10391 
10392 Author: David Levine <levinedl@acm.org>
10393 Date:   Tue Apr 15 21:57:30 2014 -0500
10394 
10395     Fixed popsbr.c to look like its nmh 1.5 version, except it now
10396     uses nmh_get_credentials() instead of ruserpass() directly.  Also,
10397     added checks of return values of nmh_get_credentials() to smtp.c.
10398 
10399 Author: David Levine <levinedl@acm.org>
10400 Date:   Tue Apr 15 21:10:41 2014 -0500
10401 
10402     Consistently refer to $HOME/.mh_profile and mh-profile(5) in
10403     the man pages.
10404 
10405 Author: David Levine <levinedl@acm.org>
10406 Date:   Tue Apr 15 20:58:32 2014 -0500
10407 
10408     Reworked retrieval of username and password with SMTP and sasl so
10409     that if getusername() and no password are accepted by the mechanism,
10410     then the user need not provide them.
10411 
10412 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10413 Date:   Tue Apr 15 21:39:38 2014 -0400
10414 
10415     docs/contrib/ml: add a runtime check for known bash-ism
10416     
10417     i'm leaving the #! line as /bin/bash, because that's how i wrote
10418     and tested.  but with this change i think the script will still
10419     function correctly on a wide variety of shells.
10420 
10421 Author: Ken Hornstein <kenh@pobox.com>
10422 Date:   Mon Apr 14 21:32:41 2014 -0400
10423 
10424     It turns out that due to the changes to m_getfld() to support file
10425     position tracking, this broke the scan output from inc(1) when POPing
10426     more than one message at a time.  Since a new filehandle was being
10427     passed to each call to scan(), it made the most sense to simply
10428     discard the m_getfld() state for each call to scan() when doing POP.
10429 
10430 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10431 Date:   Mon Apr 14 12:29:39 2014 -0400
10432 
10433     replyfilter: flesh out the configuration instructions
10434 
10435 Author: Ken Hornstein <kenh@pobox.com>
10436 Date:   Mon Apr 14 11:58:54 2014 -0400
10437 
10438     Updating release notes for new release.
10439 
10440 Author: Ken Hornstein <kenh@pobox.com>
10441 Date:   Mon Apr 14 09:57:59 2014 -0400
10442 
10443     Update for post-1.6.
10444 
10445 Author: Ken Hornstein <kenh@pobox.com>
10446 Date:   Sun Apr 13 23:09:54 2014 -0400
10447 
10448     Update these a bit.
10449 
10450 Author: Ken Hornstein <kenh@pobox.com>
10451 Date:   Sun Apr 13 23:07:45 2014 -0400
10452 
10453     Add README-iCalendar to the distribution.
10454 
10455 Author: Ken Hornstein <kenh@pobox.com>
10456 Date:   Sun Apr 13 23:02:57 2014 -0400
10457 
10458     Update developer documentation to match reality.
10459 
10460 Author: Ken Hornstein <kenh@pobox.com>
10461 Date:   Sun Apr 13 22:37:53 2014 -0400
10462 
10463     If attaching a "message" content type, scan the content to see if it
10464     has 8bit characters and set the CTE on the enclosing MIME headers
10465     appropriately.
10466 
10467 Author: Ken Hornstein <kenh@pobox.com>
10468 Date:   Sun Apr 13 22:36:34 2014 -0400
10469 
10470     Create a default CTE so routines in mhparse.c are happy.
10471 
10472 Author: Ken Hornstein <kenh@pobox.com>
10473 Date:   Sun Apr 13 22:17:23 2014 -0400
10474 
10475     Make sure the draft filename ends up in the MIME structure, so error
10476     messages have the proper name in them.
10477 
10478 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10479 Date:   Sun Apr 13 16:18:07 2014 -0400
10480 
10481     add rmf(1) and folder(1) to one another's SEE ALSO sections
10482 
10483 Author: David Levine <levinedl@acm.org>
10484 Date:   Sun Apr 13 15:13:21 2014 -0500
10485 
10486     If mhfixmsg's call to convert_charset() fails, output why.
10487 
10488 Author: Ken Hornstein <kenh@pobox.com>
10489 Date:   Sun Apr 13 13:11:00 2014 -0400
10490 
10491     If c_termproc is set, include a default display command so the charset
10492     conversion pipeline will work correctly.
10493 
10494 Author: David Levine <levinedl@acm.org>
10495 Date:   Fri Apr 11 17:20:02 2014 -0500
10496 
10497     Fixed showproc for RFC 822 messages.  Thanks to Mikhail for
10498     pointing this out.
10499 
10500 Author: Paul Fox <pgf@foxharp.boston.ma.us>
10501 Date:   Fri Apr 11 15:55:54 2014 -0400
10502 
10503     mhshow: properly report the name of a failing display program
10504     
10505     otherwise it's not clear what didn't work.
10506 
10507 Author: David Levine <levinedl@acm.org>
10508 Date:   Thu Apr 10 21:21:28 2014 -0500
10509 
10510     If -[no]concat is given to show(1), have it use showmimeproc instead
10511     of showproc and pass those switches along.  This way, show won't pass
10512     them to mhl, which doesn't accept them.
10513 
10514 Merge: 4c82793 236a2b6
10515 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10516 Date:   Thu Apr 10 18:49:18 2014 -0700
10517 
10518     Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/nmh
10519 
10520 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10521 Date:   Thu Apr 10 18:47:43 2014 -0700
10522 
10523     Add a note about devel/autotools as a pre-req for building on FreeBSD.
10524     
10525     Be a bit more specific about the versions of some OSes we build
10526     in the buildbot cluster.
10527 
10528 Author: Ken Hornstein <kenh@pobox.com>
10529 Date:   Thu Apr 10 21:45:14 2014 -0400
10530 
10531     Use a dynamically-allocated buffer for character set conversion, and
10532     resize it if we get E2BIG.  Also create a test that exercises this
10533     particular problem.
10534 
10535 Author: Ken Hornstein <kenh@pobox.com>
10536 Date:   Thu Apr 10 18:58:39 2014 -0400
10537 
10538     Don't clobber "cp"; use dp instead.
10539 
10540 Author: Ken Hornstein <kenh@pobox.com>
10541 Date:   Thu Apr 10 14:09:18 2014 -0400
10542 
10543     Fix bug in error message when reporting character set conversion failure.
10544 
10545 Author: Ken Hornstein <kenh@pobox.com>
10546 Date:   Thu Apr 10 12:29:28 2014 -0400
10547 
10548     A bad cut-and-paste job made -noinlineonly not work.  Patch from
10549     M. Levinson.
10550 
10551 Author: Ken Hornstein <kenh@pobox.com>
10552 Date:   Thu Apr 10 12:28:01 2014 -0400
10553 
10554     Fix test for inlineonly.
10555 
10556 Author: David Levine <levinedl@acm.org>
10557 Date:   Thu Apr 10 07:52:41 2014 -0500
10558 
10559     Added -dump to w3m and elinks invocations in mhn.defaults.
10560 
10561 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10562 Date:   Thu Apr 10 04:10:34 2014 -0700
10563 
10564     When lkfopendata() fails, seqfile is being freed too soon.
10565 
10566 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10567 Date:   Thu Apr 10 04:00:18 2014 -0700
10568 
10569     I missed one spot in getln() where the new quoting flag needs to be cleared.
10570 
10571 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10572 Date:   Thu Apr 10 03:52:17 2014 -0700
10573 
10574     If getln() sees a newline as its first character, it incorrectly
10575     references a character one byte before the start of its input
10576     buffer.
10577 
10578 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10579 Date:   Thu Apr 10 03:07:16 2014 -0700
10580 
10581     Clang's static analyzer reports a potential NULL pointer deref.
10582     This is a "shouldn't happen" case, so I have added an assert
10583     to quell the warning, and catch the failure in the off chance
10584     we do get here with last == NULL.
10585 
10586 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10587 Date:   Thu Apr 10 02:43:36 2014 -0700
10588 
10589     Remove dead initialization of fp in main().
10590 
10591 Author: David Levine <levinedl@acm.org>
10592 Date:   Wed Apr 9 22:04:58 2014 -0500
10593 
10594     Added -dump (and -child) to lynx invocation when it's used in
10595     mhshow-show-text/html.
10596 
10597 Author: Ken Hornstein <kenh@pobox.com>
10598 Date:   Wed Apr 9 21:05:07 2014 -0400
10599 
10600     Formatting fix, from Mikhail <mp39590@gmail.com>.
10601 
10602 Merge: 6e94720 d6e398f
10603 Author: David Levine <levinedl@acm.org>
10604 Date:   Wed Apr 9 19:19:26 2014 -0500
10605 
10606     Merge remote-tracking branch 'origin/fix-locking'
10607 
10608 Author: David Levine <levinedl@acm.org>
10609 Date:   Wed Apr 9 16:32:56 2014 -0500
10610 
10611     The size reported by mhshow test-charset is different with and
10612     without iconv, so determine it at runtime.
10613 
10614 Author: David Levine <levinedl@acm.org>
10615 Date:   Wed Apr 9 16:31:06 2014 -0500
10616 
10617     Use *ct->c_ceclosefnx() instead of clsoe_encoding() in show_content_aux().
10618 
10619 Merge: 1f29440 e6ddebc
10620 Author: Ken Hornstein <kenh@pobox.com>
10621 Date:   Wed Apr 9 16:25:08 2014 -0400
10622 
10623     Merge branch 'mhshow-fixup'
10624 
10625 Author: Ken Hornstein <kenh@pobox.com>
10626 Date:   Wed Apr 9 16:24:34 2014 -0400
10627 
10628     Document and distribute mhshow.marker
10629 
10630 Author: Ken Hornstein <kenh@pobox.com>
10631 Date:   Wed Apr 9 16:16:18 2014 -0400
10632 
10633     Document the changes made to mhshow.
10634 
10635 Author: Ken Hornstein <kenh@pobox.com>
10636 Date:   Wed Apr 9 14:53:00 2014 -0400
10637 
10638     Change from "concat" to "concatsw" so we don't conflict with the
10639     function concat().
10640 
10641 Author: Ken Hornstein <kenh@pobox.com>
10642 Date:   Wed Apr 9 13:30:42 2014 -0400
10643 
10644     Add new flags for -concat/-noconcat, -inlineonly/-noinlineonly, and
10645     -textonly/-notextonly;
10646 
10647 Author: Ken Hornstein <kenh@pobox.com>
10648 Date:   Wed Apr 9 13:15:28 2014 -0400
10649 
10650     Change things so we only supply a form filename; most programs don't do
10651     both, and this isn't work the extra hassle.
10652 
10653 Author: Ken Hornstein <kenh@pobox.com>
10654 Date:   Wed Apr 9 11:29:32 2014 -0400
10655 
10656     Now only display text and inline content by default.
10657     Use mh-format(5) to display marker text for skipped content.
10658 
10659 Author: David Levine <levinedl@acm.org>
10660 Date:   Tue Apr 8 21:34:20 2014 -0500
10661 
10662     lkopen_dot() would block forever if another process held a lock
10663     forever.  Changed it to only retry for 60 seconds, like the other
10664     lkopen's.  And have it indicate that it failed to acquire the lock.
10665 
10666 Author: David Levine <levinedl@acm.org>
10667 Date:   Sun Apr 6 13:55:27 2014 -0500
10668 
10669     Instead of relying on errno to determine if locking failed, pass
10670     back explicit indication in int * argument to lk(f)opendata() and
10671     lkopenspool().
10672 
10673 Author: David Levine <levinedl@acm.org>
10674 Date:   Sun Apr 6 11:12:14 2014 -0500
10675 
10676     Don't ignore return value of lkfopendata(), most notably of
10677     seq_read() in folder_read().  Increased LOCK_RETRIES from 5 to 60.
10678 
10679 Author: David Levine <levinedl@acm.org>
10680 Date:   Fri Apr 4 20:05:51 2014 -0500
10681 
10682     Update context and sequences before showing messages in mhn(1),
10683     just like in mhshow(1).
10684 
10685 Author: Ken Hornstein <kenh@pobox.com>
10686 Date:   Thu Apr 3 18:12:56 2014 -0400
10687 
10688     Moving closer to fixing mhshow completely.  Includes fix from David Levine
10689     for a slight bug in charset conversion.
10690 
10691 Author: Ken Hornstein <kenh@pobox.com>
10692 Date:   Tue Mar 25 22:41:13 2014 -0400
10693 
10694     Start of changes for mhshow; compiles, but does nothing (yet).
10695 
10696 Author: David Levine <levinedl@acm.org>
10697 Date:   Sun Mar 23 08:43:56 2014 -0500
10698 
10699     mhn.defaults.sh really doesn't need to look in /usr/demo/SOUND
10700     for helper programs any more.  If the user has it in their PATH,
10701     it will anyway.
10702 
10703 Author: David Levine <levinedl@acm.org>
10704 Date:   Sun Mar 23 08:30:37 2014 -0500
10705 
10706     Added mhshow-show-application/pdf detection to mhn.defaults.sh.
10707 
10708 Author: David Levine <levinedl@acm.org>
10709 Date:   Sun Mar 23 08:00:12 2014 -0500
10710 
10711     Note that order is preserved for messages that have the same date,
10712     when sorting on dates.
10713 
10714 Author: Ken Hornstein <kenh@pobox.com>
10715 Date:   Fri Mar 21 18:53:26 2014 -0400
10716 
10717     Move pidcheck() into mhshowsbr.c (the only consumer of it) and make
10718     it static.
10719 
10720 Author: Ken Hornstein <kenh@pobox.com>
10721 Date:   Fri Mar 21 14:22:58 2014 -0400
10722 
10723     Remove support for -pause/-nopause switches to mhshow(1).  This and
10724     commit 4c436246f048635446353dadaa68174445c58160 are based on work
10725     originally done by Markus Schnalke.
10726 
10727 Author: Ken Hornstein <kenh@pobox.com>
10728 Date:   Fri Mar 21 12:56:37 2014 -0400
10729 
10730     Remove support for parallel content display.  This means we can finally drive
10731     a stake in the heart of the horrible xpid global!
10732 
10733 Author: David Levine <levinedl@acm.org>
10734 Date:   Thu Mar 20 09:40:01 2014 -0500
10735 
10736     Fixed quoting of charset value in mhn.defaults.sh.
10737 
10738 Author: David Levine <levinedl@acm.org>
10739 Date:   Sun Mar 16 15:03:37 2014 -0500
10740 
10741     Renamed mkstemp(1) man page to mh-mkstemp(1), so it doesn't obscure
10742     any existing mkstemp(3) page.
10743 
10744 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10745 Date:   Sun Mar 16 12:19:54 2014 -0700
10746 
10747     Update the manpage style guide to be consistent about setting program names in
10748     boldface always.
10749 
10750 Author: David Levine <levinedl@acm.org>
10751 Date:   Sun Mar 16 10:40:27 2014 -0500
10752 
10753     Fixed formatting of program name in mh-mime(7) man page.  Removed
10754     CONTEXT section from mkstemp(1) man page.
10755 
10756 Author: David Levine <levinedl@acm.org>
10757 Date:   Sun Mar 16 10:15:41 2014 -0500
10758 
10759     Moved "mhparam iconv" description to mhparam(1) man page and put
10760     references to it in mh-mime(7), mhfixmsg(1), and mhshow(1) man pages.
10761     Updated mhparam man page description of other configuration
10762     parameters.  Added "Message Rewrite" section to mh-mime page.
10763 
10764 Author: David Levine <levinedl@acm.org>
10765 Date:   Fri Mar 14 20:25:06 2014 -0500
10766 
10767     Fixed some of the issues noted by clang --analyze with
10768     mhfixmsg.c and mkstemp.c.
10769 
10770 Author: David Levine <levinedl@acm.org>
10771 Date:   Fri Mar 14 20:22:07 2014 -0500
10772 
10773     Fixed fixup of sbr/dtimep.c with flex 2.5.36.
10774 
10775 Author: David Levine <levinedl@acm.org>
10776 Date:   Fri Mar 14 19:56:38 2014 -0500
10777 
10778     Modified probe to output sbr/dtimep.c.  The flex version is 2.5.36.
10779 
10780 Author: David Levine <levinedl@acm.org>
10781 Date:   Fri Mar 14 19:16:23 2014 -0500
10782 
10783     Added probe to configure.ac to output flex version (for fed18arm7 build).
10784 
10785 Author: David Levine <levinedl@acm.org>
10786 Date:   Fri Mar 14 19:04:45 2014 -0500
10787 
10788     Compare character with EOF using signed comparison because
10789     EOF can be (and is likely) negative.  This showed up on
10790     arm7, which apparently uses unsigned char for char.
10791 
10792 Author: Ken Hornstein <kenh@pobox.com>
10793 Date:   Fri Mar 14 15:22:12 2014 -0400
10794 
10795     Sigh.  Make localmbox work even if we're not using -debug.
10796 
10797 Author: Ken Hornstein <kenh@pobox.com>
10798 Date:   Fri Mar 14 15:21:49 2014 -0400
10799 
10800     Whoops, missed a warning groff found.
10801 
10802 Author: Ken Hornstein <kenh@pobox.com>
10803 Date:   Fri Mar 14 14:59:39 2014 -0400
10804 
10805     Fix some typos and make some style changes suggested by Ralph Corderoy
10806 
10807 Author: Ken Hornstein <kenh@pobox.com>
10808 Date:   Fri Mar 14 12:31:23 2014 -0400
10809 
10810     Add support for printing iconv and localmbox.
10811 
10812 Author: Ken Hornstein <kenh@pobox.com>
10813 Date:   Thu Mar 13 15:53:05 2014 -0400
10814 
10815     Update for mh-mime.
10816 
10817 Author: Ken Hornstein <kenh@pobox.com>
10818 Date:   Thu Mar 13 15:51:32 2014 -0400
10819 
10820     Create new mh-mime man page, with overview of how MIME handling works in nmh.
10821 
10822 Author: Ken Hornstein <kenh@pobox.com>
10823 Date:   Thu Mar 13 15:11:22 2014 -0400
10824 
10825     Update and fix some formatting issues.
10826 
10827 Author: David Levine <levinedl@acm.org>
10828 Date:   Mon Mar 10 20:26:51 2014 -0500
10829 
10830     Fixed test-mkstemp to work on platforms that don't have mkstemps(3),
10831     such as CentOS 5.
10832 
10833 Author: David Levine <levinedl@acm.org>
10834 Date:   Mon Mar 10 20:24:46 2014 -0500
10835 
10836     Check for text/html display programs in this order:  w3m, lynx, elinks.
10837 
10838 Author: Ken Hornstein <kenh@pobox.com>
10839 Date:   Fri Mar 7 12:04:46 2014 -0500
10840 
10841     Fix minor typo.
10842 
10843 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
10844 Date:   Fri Mar 7 09:05:17 2014 -0800
10845 
10846     Import Dave Crocker's brief history of email development at Rand.
10847     (Added with his permission.)
10848 
10849 Author: David Levine <levinedl@acm.org>
10850 Date:   Thu Mar 6 20:32:14 2014 -0600
10851 
10852     Fixed test/getcwidth.c to build without MULTIBYTE_SUPPORT.
10853     Found by cppcheck.
10854 
10855 Author: David Levine <levinedl@acm.org>
10856 Date:   Thu Mar 6 20:15:45 2014 -0600
10857 
10858     Fixed a few very minor issues that cppcheck noticed.
10859 
10860 Author: David Levine <levinedl@acm.org>
10861 Date:   Thu Mar 6 19:46:30 2014 -0600
10862 
10863     Removed declaration of unused sm_reply from post.c.
10864 
10865 Author: David Levine <levinedl@acm.org>
10866 Date:   Thu Mar 6 19:45:37 2014 -0600
10867 
10868     Made a couple of globals static in smtp.c.
10869 
10870 Author: David Levine <levinedl@acm.org>
10871 Date:   Thu Mar 6 19:43:47 2014 -0600
10872 
10873     Changed unused symbol that gen-ctype-checked creates with NDEBUG
10874     from a data object to a function, to remove a global from libmh.a.
10875 
10876 Author: David Levine <levinedl@acm.org>
10877 Date:   Thu Mar 6 19:39:10 2014 -0600
10878 
10879     Added remedy for compile warnings when built with --with-tls on
10880     Mac OS 10.7 or later.
10881 
10882 Author: David Levine <levinedl@acm.org>
10883 Date:   Thu Mar 6 19:35:22 2014 -0600
10884 
10885     Remove backup file at end of test-ext-params, and a temp file.
10886 
10887 Author: Ken Hornstein <kenh@pobox.com>
10888 Date:   Thu Mar 6 15:45:19 2014 -0500
10889 
10890     Put in check so "attach" is rejected when the draft already has MIME headers.
10891 
10892 Author: Ken Hornstein <kenh@pobox.com>
10893 Date:   Thu Mar 6 15:31:01 2014 -0500
10894 
10895     Update test to match reality
10896 
10897 Author: Ken Hornstein <kenh@pobox.com>
10898 Date:   Thu Mar 6 15:25:55 2014 -0500
10899 
10900     Update documentation to match reality.
10901 
10902 Author: Ken Hornstein <kenh@pobox.com>
10903 Date:   Thu Mar 6 14:59:35 2014 -0500
10904 
10905     Prevent crash if editfile() is called and both "*ed" and editsave
10906     are NULL.  This can happen if you call "mime" and then run "edit" without
10907     any arguments, if you're running whatnow standalone.
10908 
10909 Author: Ken Hornstein <kenh@pobox.com>
10910 Date:   Thu Mar 6 14:34:34 2014 -0500
10911 
10912     Remove unneeded assignment.
10913 
10914 Author: Ken Hornstein <kenh@pobox.com>
10915 Date:   Wed Mar 5 23:31:31 2014 -0500
10916 
10917     Fix up some warnings and problems when iconv doesn't exist.
10918 
10919 Merge: 7b9cb49 5c3a50d
10920 Author: Ken Hornstein <kenh@pobox.com>
10921 Date:   Wed Mar 5 23:17:17 2014 -0500
10922 
10923     Merge branch 'extended-params'
10924 
10925 Author: Ken Hornstein <kenh@pobox.com>
10926 Date:   Wed Mar 5 21:27:25 2014 -0500
10927 
10928     Update pending-release-notes.
10929 
10930 Author: Ken Hornstein <kenh@pobox.com>
10931 Date:   Wed Mar 5 21:26:02 2014 -0500
10932 
10933     More tests for extended-parameter parsing.
10934 
10935 Author: Ken Hornstein <kenh@pobox.com>
10936 Date:   Wed Mar 5 18:22:56 2014 -0500
10937 
10938     Add extra argument to add_param() so it can use the passed-in pointers
10939     directly without making copies first.
10940 
10941 Author: Ken Hornstein <kenh@pobox.com>
10942 Date:   Wed Mar 5 15:43:33 2014 -0500
10943 
10944     A more complicated RFC 2231 parsing example.
10945 
10946 Author: Ken Hornstein <kenh@pobox.com>
10947 Date:   Wed Mar 5 15:42:59 2014 -0500
10948 
10949     Whoops, a little TOO hasty on the last bugfix; put back an assignment.
10950 
10951 Author: Ken Hornstein <kenh@pobox.com>
10952 Date:   Wed Mar 5 15:11:54 2014 -0500
10953 
10954     Switch over to using the token parser instead of isspace(), and
10955     make sure we have our pointer correct when doing an encoded parameter
10956     that isn't the first one.
10957 
10958 Author: Ken Hornstein <kenh@pobox.com>
10959 Date:   Wed Mar 5 14:36:43 2014 -0500
10960 
10961     Move language tag parser into the block so it only gets
10962     invoked on index 0.
10963 
10964 Author: Ken Hornstein <kenh@pobox.com>
10965 Date:   Wed Mar 5 14:04:47 2014 -0500
10966 
10967     Change disposition output slightly.
10968 
10969 Author: Ken Hornstein <kenh@pobox.com>
10970 Date:   Wed Mar 5 13:48:45 2014 -0500
10971 
10972     Update information to mention RFC 2231.
10973 
10974 Author: Ken Hornstein <kenh@pobox.com>
10975 Date:   Wed Mar 5 13:40:13 2014 -0500
10976 
10977     Add message/external-body test.
10978 
10979 Author: Ken Hornstein <kenh@pobox.com>
10980 Date:   Wed Mar 5 13:03:30 2014 -0500
10981 
10982     Update mhlist and other relevant utilities to output disposition information
10983     with a new -disposition switch.
10984 
10985 Author: Ken Hornstein <kenh@pobox.com>
10986 Date:   Tue Mar 4 23:44:09 2014 -0500
10987 
10988     Some tests for RFC 2231 decoding; seems like it works, but need to stress
10989     it some more.
10990 
10991 Author: Ken Hornstein <kenh@pobox.com>
10992 Date:   Tue Mar 4 23:43:26 2014 -0500
10993 
10994     Fix up some error reporting, and reassemble partial parameters correctly.
10995 
10996 Author: Ken Hornstein <kenh@pobox.com>
10997 Date:   Tue Mar 4 22:49:13 2014 -0500
10998 
10999     Fix up a few pointer mishaps; this should now get everything right!
11000 
11001 Author: Ken Hornstein <kenh@pobox.com>
11002 Date:   Tue Mar 4 22:37:10 2014 -0500
11003 
11004     Whoops, forgot to set the name element of the partial parameter structure.
11005 
11006 Author: Ken Hornstein <kenh@pobox.com>
11007 Date:   Tue Mar 4 19:53:23 2014 -0500
11008 
11009     A few minor fixups; the parser now passes the test suite!
11010 
11011 Author: Ken Hornstein <kenh@pobox.com>
11012 Date:   Tue Mar 4 13:45:19 2014 -0500
11013 
11014     Fixes for the MIME parser; kinda works for regular parameters, but
11015     still needs some fixes.
11016 
11017 Author: Ken Hornstein <kenh@pobox.com>
11018 Date:   Mon Mar 3 21:52:35 2014 -0500
11019 
11020     More work on extended parameter parser.  Does not compile yet.
11021 
11022 Author: David Levine <levinedl@acm.org>
11023 Date:   Mon Mar 3 07:14:09 2014 -0800
11024 
11025     In test/common.sh.in trap, cd to $MH_TEST_DIR before trying
11026     to remove its Mail subdirectory.  rm on Solaris won't remove
11027     it if it's in the path of the current working directory.
11028 
11029 Author: Ken Hornstein <kenh@pobox.com>
11030 Date:   Mon Mar 3 00:43:46 2014 -0500
11031 
11032     Make parse_header_attrs() a private function (there are no longer any
11033     public consumers of it).
11034 
11035 Author: Ken Hornstein <kenh@pobox.com>
11036 Date:   Mon Mar 3 00:42:56 2014 -0500
11037 
11038     Convert unqp() to decode_qp(), and make it a public function.  Also,
11039     handle the case where decode_qp() is passed a character outside of
11040     the normal ASCII range.
11041 
11042 Author: David Levine <levinedl@acm.org>
11043 Date:   Sun Mar 2 22:38:57 2014 -0600
11044 
11045     Added mkstemp(1), wrapper around mkstemp(3)/mkstemps(3), to
11046     auxexec, for use by mhmail.
11047 
11048 Author: David Levine <levinedl@acm.org>
11049 Date:   Sun Mar 2 20:29:20 2014 -0600
11050 
11051     Added convenience function die() to mhmail.
11052 
11053 Author: Ken Hornstein <kenh@pobox.com>
11054 Date:   Sun Mar 2 21:04:55 2014 -0500
11055 
11056     Switch over get_ctinfo() to determine the filename based on the filename if
11057     one was not provided.  Remove some unneeded functions as part of this work.
11058 
11059 Author: David Levine <levinedl@acm.org>
11060 Date:   Sun Mar 2 12:00:13 2014 -0600
11061 
11062     Added recommendation to use nmh-storage profile setting or
11063     non-default -clobber with mhstore -always.
11064 
11065 Author: David Levine <levinedl@acm.org>
11066 Date:   Sun Mar 2 10:09:18 2014 -0600
11067 
11068     Added check of -noverbose to test-mhstore.
11069 
11070 Author: David Levine <levinedl@acm.org>
11071 Date:   Sun Mar 2 09:30:01 2014 -0600
11072 
11073     Added commented explaining use of ci_attrs[0] in
11074     build_multipart_alt() of mhfixmsg.
11075 
11076 Author: Ken Hornstein <kenh@pobox.com>
11077 Date:   Sun Mar 2 00:07:10 2014 -0500
11078 
11079     Whoops, forgot to TEST THIS OUT first.
11080 
11081 Author: Ken Hornstein <kenh@pobox.com>
11082 Date:   Sun Mar 2 00:06:13 2014 -0500
11083 
11084     For some reason viamail listed mhoutsbr as a dependency.  It turned out it
11085     wasn't required, so we removed it so we don't have to pull in a complete MIME
11086     parser into viamail.
11087 
11088 Author: Ken Hornstein <kenh@pobox.com>
11089 Date:   Sat Mar 1 23:51:19 2014 -0500
11090 
11091     More cleaned and conversion to the new parameter API.
11092 
11093 Author: Ken Hornstein <kenh@pobox.com>
11094 Date:   Sat Mar 1 23:24:47 2014 -0500
11095 
11096     Add a new get_param_value(); redo iconv() parameter conversion code.
11097     Start having code use get_param() and get_param_value() rather than
11098     walking the whole parameter linked list.
11099 
11100 Author: David Levine <levinedl@acm.org>
11101 Date:   Sat Mar 1 13:55:24 2014 -0600
11102 
11103     Removed recommendation from mhstore man page that users not put
11104     -auto in their profile.  Added recommendation that users not use
11105     the %a escape string.
11106 
11107 Author: David Levine <levinedl@acm.org>
11108 Date:   Sat Mar 1 13:30:50 2014 -0600
11109 
11110     Added description of switches.
11111 
11112 Author: David Levine <levinedl@acm.org>
11113 Date:   Sat Mar 1 12:00:18 2014 -0600
11114 
11115     mhstore(1) now obeys its -noverbose switch.
11116 
11117 Author: David Levine <levinedl@acm.org>
11118 Date:   Sat Mar 1 08:32:20 2014 -0600
11119 
11120     Fix to commit a2806483a53fcdb62ca8e2bec4f4e023355f4470
11121     to properly handle quoting when text follows quoted
11122     text in a mhshow display string.
11123 
11124 Author: David Levine <levinedl@acm.org>
11125 Date:   Sat Mar 1 08:30:27 2014 -0600
11126 
11127     Moved discussion when no messages are matched from BUGS section
11128     to new subsection under DESCRIPTION, per Ralph's suggestion.
11129 
11130 Author: David Levine <levinedl@acm.org>
11131 Date:   Fri Feb 28 22:59:09 2014 -0600
11132 
11133     Removed a couple of unnecessary vector typedefs from h/mh.h.
11134 
11135 Author: David Levine <levinedl@acm.org>
11136 Date:   Fri Feb 28 22:05:37 2014 -0600
11137 
11138     Updated MACHINES and SPECS/nmh.spec to reflect packages
11139     available for CentOS Linux.
11140 
11141 Author: Ken Hornstein <kenh@pobox.com>
11142 Date:   Thu Feb 27 21:43:18 2014 -0500
11143 
11144     Fix iconv return value test warning.
11145 
11146 Author: Ken Hornstein <kenh@pobox.com>
11147 Date:   Thu Feb 27 21:38:09 2014 -0500
11148 
11149     Support complete encoding for encoding Content-Type parameters.  Start
11150     work on retrieving parameters and converting them to the correct charset.
11151 
11152 Author: Ken Hornstein <kenh@pobox.com>
11153 Date:   Thu Feb 27 11:50:33 2014 -0500
11154 
11155     Use RFC 2047 encoding for Content-Description, and make sure to encode
11156     MIME parameters correctly when building the Content-Disposition header.
11157 
11158 Author: Ken Hornstein <kenh@pobox.com>
11159 Date:   Wed Feb 26 22:58:26 2014 -0500
11160 
11161     Re-do length calculation for parameter output, and adapt test for new code.
11162 
11163 Author: David Levine <levinedl@acm.org>
11164 Date:   Wed Feb 26 21:48:29 2014 -0600
11165 
11166     Fixed quoting of filename, expanded C-T parameter values, etc.,
11167     in mhshow.  Removed the workarounds that had built up when it
11168     was broken.
11169 
11170 Author: Ken Hornstein <kenh@pobox.com>
11171 Date:   Wed Feb 26 21:13:30 2014 -0500
11172 
11173     Closer, but not quite right yet.
11174 
11175 Author: David Levine <levinedl@acm.org>
11176 Date:   Wed Feb 26 19:58:43 2014 -0600
11177 
11178     Updated mhparam, man pages, and test-mhparam to reflect split
11179     of locking methods into datalocking and spoollocking.
11180 
11181 Author: Ken Hornstein <kenh@pobox.com>
11182 Date:   Tue Feb 25 21:31:18 2014 -0500
11183 
11184     Add test for long + encoded line; does not pass right now.
11185 
11186 Author: Ken Hornstein <kenh@pobox.com>
11187 Date:   Tue Feb 25 21:30:52 2014 -0500
11188 
11189     Make sure we include space in the list of characters we need to encode in
11190     a parameter line.
11191 
11192 Author: Ken Hornstein <kenh@pobox.com>
11193 Date:   Tue Feb 25 21:28:45 2014 -0500
11194 
11195     Remove unused variable, and make sure we free c_dispo_type.
11196 
11197 Author: Ken Hornstein <kenh@pobox.com>
11198 Date:   Tue Feb 25 21:15:51 2014 -0500
11199 
11200     A new test for longer lines.
11201 
11202 Author: Ken Hornstein <kenh@pobox.com>
11203 Date:   Tue Feb 25 21:14:51 2014 -0500
11204 
11205     Calculate "characters to use in for current line" based on starting a new
11206     line, rather than the number of characters in the previous line.
11207 
11208 Author: Ken Hornstein <kenh@pobox.com>
11209 Date:   Tue Feb 25 15:23:56 2014 -0500
11210 
11211     First basic test of extended parameter output: working!
11212 
11213 Author: Ken Hornstein <kenh@pobox.com>
11214 Date:   Mon Feb 24 21:34:12 2014 -0500
11215 
11216     Beginnings of test suite for RFC 2231 support; does not work yet.
11217 
11218 Author: David Levine <levinedl@acm.org>
11219 Date:   Mon Feb 24 20:18:17 2014 -0600
11220 
11221     Fixed m_getfld() to not return EOF indicator, so that files need
11222     not end with a newline.
11223 
11224 Author: Ken Hornstein <kenh@pobox.com>
11225 Date:   Mon Feb 24 13:39:19 2014 -0500
11226 
11227     Make sure we don't modify the original text when processing the disposition
11228     header.
11229 
11230 Author: David Levine <levinedl@acm.org>
11231 Date:   Sun Feb 23 18:52:52 2014 -0600
11232 
11233     Added mh-folders to nmh(7) man page.  Split out Formats section of
11234     nmh man page.
11235 
11236 Author: Ken Hornstein <kenh@pobox.com>
11237 Date:   Sun Feb 23 21:29:52 2014 -0500
11238 
11239     Fix up error reporting for the hook code.
11240 
11241 Author: Ken Hornstein <kenh@pobox.com>
11242 Date:   Sat Feb 22 00:07:55 2014 -0500
11243 
11244     It compiles now!  And actually sort of works, but still a LOT more
11245     that needs to be done before it is complete.
11246 
11247 Author: Ken Hornstein <kenh@pobox.com>
11248 Date:   Fri Feb 21 14:49:07 2014 -0500
11249 
11250     Getting closer to getting something working.
11251 
11252 Author: Ken Hornstein <kenh@pobox.com>
11253 Date:   Thu Feb 20 14:55:01 2014 -0500
11254 
11255     More work on handling encoded params; still does not compile.
11256 
11257 Author: David Levine <levinedl@acm.org>
11258 Date:   Wed Feb 19 22:01:45 2014 -0600
11259 
11260     Cast argument to isspace() to unsigned char instead of int.
11261 
11262 Author: David Levine <levinedl@acm.org>
11263 Date:   Wed Feb 19 21:55:19 2014 -0600
11264 
11265     Fix to commit ed3214f1518b36c8b96a1a17be4af0a708ea25e3
11266     to not try to quote filenames in multipart parts.
11267 
11268 Author: David Levine <levinedl@acm.org>
11269 Date:   Wed Feb 19 21:36:16 2014 -0600
11270 
11271     Generalized %{charset} display string escape to any Content-Type
11272     parameter.  Also, always quote the expanded value, whether or not
11273     the escape was quoted in the profile.
11274 
11275 Author: David Levine <levinedl@acm.org>
11276 Date:   Wed Feb 19 20:09:28 2014 -0600
11277 
11278     Added reason to mhfixmsg's printout when it fails to decode binary
11279     content.
11280 
11281 Author: David Levine <levinedl@acm.org>
11282 Date:   Wed Feb 19 18:57:29 2014 -0600
11283 
11284     Refined commit ed3214f1518b36c8b96a1a17be4af0a708ea25e3 to only
11285     accept single quotes wrapping %f and %F display escapes.
11286 
11287 Author: David Levine <levinedl@acm.org>
11288 Date:   Tue Feb 18 21:26:52 2014 -0600
11289 
11290     Migrated show_content_aux2() to argsplit().
11291 
11292 Author: David Levine <levinedl@acm.org>
11293 Date:   Tue Feb 18 21:16:06 2014 -0600
11294 
11295     Removed redundant quoting of %f and %F in display strings.  Now,
11296     the code checks to see if those escapes are quoted before quoting
11297     them.  Removed quoting of them in mhn.defaults.sh because it isn't
11298     (and wasn't) necessary.
11299 
11300 Author: David Levine <levinedl@acm.org>
11301 Date:   Tue Feb 18 19:16:39 2014 -0600
11302 
11303     Removed leading "exec " inserted in show_content_aux2(), which
11304     allows use of shell expansion on Content-Type parameters in
11305     mhshow display straings.
11306 
11307 Author: Ken Hornstein <kenh@pobox.com>
11308 Date:   Tue Feb 18 12:38:06 2014 -0500
11309 
11310     Fix for bug #41618: Supply charset to w3m when converting text/html parts.
11311 
11312 Author: David Levine <levinedl@acm.org>
11313 Date:   Tue Feb 18 07:54:37 2014 -0600
11314 
11315     Silenced warnings when built without iconv.
11316 
11317 Author: David Levine <levinedl@acm.org>
11318 Date:   Sun Feb 16 15:25:34 2014 -0600
11319 
11320     Added MH libdir to PATH in test-textcharset because it uses ap.
11321 
11322 Author: David Levine <levinedl@acm.org>
11323 Date:   Sun Feb 16 14:12:15 2014 -0600
11324 
11325     Removed remaining TMP relics missed with commit
11326     d046c8f0992fddcd69f2172a6607a14dec3b1251.  Also, have mhmail clean
11327     up a .orig tmp file, now that it always uses mhbuild.
11328 
11329 Author: David Levine <levinedl@acm.org>
11330 Date:   Sun Feb 16 13:12:39 2014 -0600
11331 
11332     Added support for %{charset} display string escape to mhshow(1).
11333 
11334 Author: David Levine <levinedl@acm.org>
11335 Date:   Sun Feb 16 11:30:41 2014 -0600
11336 
11337     Factored out duplicate code into parse_display_string() function.
11338 
11339 Author: David Levine <levinedl@acm.org>
11340 Date:   Sun Feb 16 10:26:34 2014 -0600
11341 
11342     Instead of printing PostScript attachments, by default, from mhshow,
11343     try to find a suitable viewer.
11344 
11345 Author: David Levine <levinedl@acm.org>
11346 Date:   Sun Feb 16 10:06:47 2014 -0600
11347 
11348     Added associations to mhn.defaults.sh from
11349     http://technet.microsoft.com/en-us/library/cc179224.aspx.
11350 
11351 Author: Ken Hornstein <kenh@pobox.com>
11352 Date:   Wed Feb 12 15:41:39 2014 -0500
11353 
11354     More extended parameter work.  Still non-functional.
11355 
11356 Author: Ken Hornstein <kenh@pobox.com>
11357 Date:   Wed Feb 12 15:41:04 2014 -0500
11358 
11359     Move contains8bit() to a common file, and make it a bit more general.
11360 
11361 Author: Ken Hornstein <kenh@pobox.com>
11362 Date:   Tue Feb 11 23:17:00 2014 -0500
11363 
11364     Beginnings of RFC 2231 support.  Does not compile (yet).
11365 
11366 Author: David Levine <levinedl@acm.org>
11367 Date:   Mon Feb 10 23:17:28 2014 -0600
11368 
11369     Removed the -[no]textcharset switches that were added to mhshow(1)
11370     in commit 721b0395fb2fceac4e66fed1009ed2f17fd5351f.  They weren't
11371     needed.  So the net effect is that, if built with iconv, mhshow
11372     will attempt to convert text/plain content to match the user's locale.
11373 
11374 Author: David Levine <levinedl@acm.org>
11375 Date:   Sun Feb 9 12:52:28 2014 -0600
11376 
11377     Use test_skip in test-textcharset if not built with iconv.
11378 
11379 Author: David Levine <levinedl@acm.org>
11380 Date:   Sun Feb 9 10:32:46 2014 -0600
11381 
11382     Need to set locale to something other than UTF-8 on Cygwin for
11383     the first couple of checks in test-textcharset.
11384 
11385 Author: David Levine <levinedl@acm.org>
11386 Date:   Sun Feb 9 09:59:23 2014 -0600
11387 
11388     Removed potential buffer overflow from ruserpass().  It had been
11389     there a long time.  Also, move the tokval buffer from global data
11390     to the stack.
11391 
11392 Author: David Levine <levinedl@acm.org>
11393 Date:   Sun Feb 9 09:58:00 2014 -0600
11394 
11395     Added -[no]textcharset switches to mhshow(1).  These only apply if
11396     nmh was configured with iconv(3) support.  If -textcharset is not
11397     used, mhshow will convert, if necessary, the charset of text/plain
11398     content to match the user's locale setting.
11399 
11400 Author: David Levine <levinedl@acm.org>
11401 Date:   Sun Feb 9 09:05:14 2014 -0600
11402 
11403     Use $MH shortcut for the profile in a few of the tests.
11404 
11405 Author: David Levine <levinedl@acm.org>
11406 Date:   Sun Feb 9 08:56:42 2014 -0600
11407 
11408     In test-mhfixmsg, look at configuration to see if iconv is enabled
11409     rather than detecting it from test output.
11410 
11411 Author: David Levine <levinedl@acm.org>
11412 Date:   Sat Feb 8 22:23:17 2014 -0600
11413 
11414     Remove mhbuild backup files at end of a couple of tests, if successful.
11415 
11416 Author: David Levine <levinedl@acm.org>
11417 Date:   Sat Feb 8 21:38:18 2014 -0600
11418 
11419     Changed "codeset" to "charset" for (and in) mhfixmsg.  Also
11420     cleaned up some comments in mhshowsbr.c.
11421 
11422 Author: David Levine <levinedl@acm.org>
11423 Date:   Sat Feb 8 11:11:25 2014 -0600
11424 
11425     Moved upcase(), update_attr(), content_charset(), and
11426     convert_charset() out of mhfixmsg.c so that other programs can
11427     use them.
11428 
11429 Author: Ken Hornstein <kenh@pobox.com>
11430 Date:   Fri Feb 7 15:53:35 2014 -0500
11431 
11432     Start of changes to support extended parameter parsing and decoding.
11433 
11434 Author: Ken Hornstein <kenh@pobox.com>
11435 Date:   Wed Feb 5 13:05:21 2014 -0500
11436 
11437     Fix uninitialized variable warning
11438 
11439 Author: Ken Hornstein <kenh@pobox.com>
11440 Date:   Wed Feb 5 11:02:01 2014 -0500
11441 
11442     Adjust the quoted-printable output routine to continue when the end of
11443     the buffer is reached, rather than adding a soft line break.
11444 
11445 Author: Ken Hornstein <kenh@pobox.com>
11446 Date:   Tue Feb 4 15:09:12 2014 -0500
11447 
11448     Add test for -maxunencoded.
11449 
11450 Author: Ken Hornstein <kenh@pobox.com>
11451 Date:   Tue Feb 4 14:54:16 2014 -0500
11452 
11453     A few more C-T-E tests.
11454 
11455 Author: Ken Hornstein <kenh@pobox.com>
11456 Date:   Tue Feb 4 13:36:29 2014 -0500
11457 
11458     Still more CTE tests to cover (hopefully) all of tbe base64 cases.
11459 
11460 Author: Ken Hornstein <kenh@pobox.com>
11461 Date:   Tue Feb 4 13:34:22 2014 -0500
11462 
11463     More CTE tests.
11464 
11465 Author: Ken Hornstein <kenh@pobox.com>
11466 Date:   Tue Feb 4 12:38:34 2014 -0500
11467 
11468     More fixes (and tests) for the base64 encoder.
11469 
11470 Author: Ken Hornstein <kenh@pobox.com>
11471 Date:   Tue Feb 4 11:49:49 2014 -0500
11472 
11473     Add a new base64 CTE test.
11474 
11475 Author: Ken Hornstein <kenh@pobox.com>
11476 Date:   Tue Feb 4 11:19:24 2014 -0500
11477 
11478     Fix encoder so at least one case of LF -> CR LF conversion happens correctly.
11479 
11480 Author: David Levine <levinedl@acm.org>
11481 Date:   Mon Feb 3 22:48:38 2014 -0600
11482 
11483     Reordered a bit of code in signal handler.  Noted in comment that
11484     NetBSD doesn't have mkstemps(3).
11485 
11486 Author: David Levine <levinedl@acm.org>
11487 Date:   Mon Feb 3 21:42:44 2014 -0600
11488 
11489     Use rename(2), not link(2), in m_mktemps() if mkstemps() is not
11490     available.
11491 
11492 Author: Ken Hornstein <kenh@pobox.com>
11493 Date:   Mon Feb 3 21:46:33 2014 -0500
11494 
11495     Add a new (but incomplete) test for mhbuild's new functionality.
11496 
11497 Author: Ken Hornstein <kenh@pobox.com>
11498 Date:   Mon Feb 3 21:46:08 2014 -0500
11499 
11500     Fix up mhbuild so the character set is always output when needed, even
11501     when the CTE is specified.
11502 
11503 Author: Ken Hornstein <kenh@pobox.com>
11504 Date:   Mon Feb 3 21:45:41 2014 -0500
11505 
11506     Document changes to mhbuild.
11507 
11508 Author: Ken Hornstein <kenh@pobox.com>
11509 Date:   Mon Feb 3 20:14:55 2014 -0500
11510 
11511     Support for selectable Content-Transfer-Encoding.
11512     Now default to 8bit for CTE for text types.
11513 
11514 Author: David Levine <levinedl@acm.org>
11515 Date:   Sun Feb 2 22:34:14 2014 -0600
11516 
11517     netbsd uses flock by default for mail spool locking, as reported
11518     by Robert Elz.  Use *netbsd* to also include knetbsd, though I
11519     don't know for sure that it uses flock.
11520 
11521 Author: David Levine <levinedl@acm.org>
11522 Date:   Sun Feb 2 22:16:25 2014 -0600
11523 
11524     Restored setuid/setgid to slocal:  it needs them when run as root,
11525     as a mail delivery agent.
11526 
11527 Author: David Levine <levinedl@acm.org>
11528 Date:   Sun Feb 2 16:45:23 2014 -0600
11529 
11530     Removed some unused code that forked /bin/mkdir to make a new
11531     directory if an the effective and real uids differed.  There are no
11532     setuid executables in nmh.
11533 
11534 Author: David Levine <levinedl@acm.org>
11535 Date:   Sun Feb 2 09:58:45 2014 -0600
11536 
11537     Removed all unnecessary setuid/setgid calls.  Using setuid as an
11538     example and not showing the setgid analogues:
11539     
11540         1) setuid(getuid());
11541         This dropped privileges before an exec and is normally a
11542         good thing.  Except here, the return value isn't checked.
11543         And, we don't have any setuid programs in nmh now, so it was
11544         unnecessary.
11545     
11546         2) if (geteuid() == 0) setuid(pw->pw_uid);
11547         This would have been a security hole if the executable was
11548         setuid root because the user specifies the source of the pw
11549         data.  This was in slocal(1), which is not setuid, so this
11550         was certainly not needed.
11551     
11552         3) setuid(geteuid());
11553         This was in post(8) for when it called the sendmail
11554         executable directly (-mts sendmail or -mts sendmail/pipe.
11555         It's not necessary with modern sendmail or replacements.
11556 
11557 Author: David Levine <levinedl@acm.org>
11558 Date:   Sun Feb 2 08:46:25 2014 -0600
11559 
11560     Added m_mktemps(), which creates a temporary file with a specified
11561     suffix.  It uses mkstemps(3) where available, which should be most
11562     modern platforms.  If not available, it tries link(2), and if that
11563     fails, rename(2).
11564 
11565 Author: Ken Hornstein <kenh@pobox.com>
11566 Date:   Sat Feb 1 16:13:00 2014 -0500
11567 
11568     Change mhstore test slightly to test canonical line ending handling for
11569     text MIME parts that are encoded with base64.
11570 
11571 Author: Ken Hornstein <kenh@pobox.com>
11572 Date:   Sat Feb 1 15:57:49 2014 -0500
11573 
11574     Document changes to base64 encoder/decoder.
11575 
11576 Merge: 3235599 d722ee2
11577 Author: Ken Hornstein <kenh@pobox.com>
11578 Date:   Sat Feb 1 12:48:20 2014 -0500
11579 
11580     Merge branch 'base64-text-fixup'
11581 
11582 Author: David Levine <levinedl@acm.org>
11583 Date:   Sat Feb 1 11:32:53 2014 -0600
11584 
11585     Removed set +e where not needed in test-mhfixmsg.
11586 
11587 Author: David Levine <levinedl@acm.org>
11588 Date:   Sat Feb 1 11:24:16 2014 -0600
11589 
11590     Fixed test-mhfixmsg check attempted -decode of binary text to
11591     work with the fixed base64 decoder.
11592 
11593 Author: David Levine <levinedl@acm.org>
11594 Date:   Sat Feb 1 10:11:08 2014 -0600
11595 
11596     Added note that suffixes were removed from filenames of temporary files.
11597 
11598 Author: David Levine <levinedl@acm.org>
11599 Date:   Sat Feb 1 10:09:13 2014 -0600
11600 
11601     Look for w3m if lynx isn't available for mhshow-show-text.
11602 
11603 Author: David Levine <levinedl@acm.org>
11604 Date:   Sat Feb 1 10:11:08 2014 -0600
11605 
11606     Added note that suffixes were removed from filenames of temporary files.
11607 
11608 Author: David Levine <levinedl@acm.org>
11609 Date:   Sat Feb 1 10:09:13 2014 -0600
11610 
11611     Look for w3m if lynx isn't available for mhshow-show-text.
11612 
11613 Author: Ken Hornstein <kenh@pobox.com>
11614 Date:   Fri Jan 31 15:53:04 2014 -0500
11615 
11616     Fix base64 to handle text parts properly; currently this breaks mhfixmsg,
11617     and I'm not sure why yet.
11618 
11619 Author: Ken Hornstein <kenh@pobox.com>
11620 Date:   Fri Jan 31 15:00:57 2014 -0500
11621 
11622     Add -width when appropriate for this test.
11623 
11624 Author: Ken Hornstein <kenh@pobox.com>
11625 Date:   Wed Jan 29 15:56:01 2014 -0500
11626 
11627     Beginnings of selectable CTE; allow specification in mhbuild directives,
11628     but it doesn't do anything quite yet.
11629 
11630 Author: David Levine <levinedl@acm.org>
11631 Date:   Tue Jan 28 21:36:05 2014 -0600
11632 
11633     Unset LANG, LC_ALL, and LC_TYPE in common.sh so that the tests
11634     don't accidentally rely on any of the user's settings.
11635 
11636 Author: David Levine <levinedl@acm.org>
11637 Date:   Mon Jan 27 18:56:20 2014 -0600
11638 
11639     mhl() needs to set invo_name, too.
11640 
11641 Author: David Levine <levinedl@acm.org>
11642 Date:   Mon Jan 27 12:53:03 2014 -0600
11643 
11644     WhatNow needs to set invo_name so that switches are interpreted properly.
11645 
11646 Author: David Levine <levinedl@acm.org>
11647 Date:   Sun Jan 26 11:57:29 2014 -0600
11648 
11649     No longer look at TMP environment variable for temporary file storage.
11650 
11651 Author: David Levine <levinedl@acm.org>
11652 Date:   Sun Jan 26 11:26:11 2014 -0600
11653 
11654     Merge branch 'tmpfiles'
11655 
11656 Merge: 1468359 dd259aa
11657 Author: David Levine <levinedl@acm.org>
11658 Date:   Sun Jan 26 11:23:53 2014 -0600
11659 
11660     Merge branch 'tmpfiles'
11661 
11662 Author: David Levine <levinedl@acm.org>
11663 Date:   Sat Jan 25 10:50:29 2014 -0600
11664 
11665     Added unregister_for_removal(0) calls to the couple of children
11666     that don't exec() or _exit() after fork().
11667 
11668 Author: David Levine <levinedl@acm.org>
11669 Date:   Sat Jan 25 10:04:19 2014 -0600
11670 
11671     Replaced nearly all unlink(3) calls with m_unlink().
11672 
11673 Author: David Levine <levinedl@acm.org>
11674 Date:   Sat Jan 25 09:26:13 2014 -0600
11675 
11676     Restored the unlinks of temporary files immediately after their
11677     creation in rcvtty.c, now that we have m_unlink().
11678 
11679 Author: David Levine <levinedl@acm.org>
11680 Date:   Sat Jan 25 09:15:05 2014 -0600
11681 
11682     Replaced boilerplate at beginning of each nmh program with new
11683     nmh_init() function.  It sets up an atexit() function and signal
11684     handlers so that all temporary files are removed when the program
11685     terminates, however that happens.  It relies on a call in m_mktemp()
11686     to register each temporary file for removal.  See new "nmh temporary
11687     files" section in README.developers and comments in m_mktemp.c.
11688 
11689 Author: David Levine <levinedl@acm.org>
11690 Date:   Fri Jan 24 21:10:03 2014 -0600
11691 
11692     Removed 3 renames of temporary files in mhparse.c.  They added
11693     unnecessary filename extensions to the temp files.  They weren't good
11694     from a security standpoint and added a failure mode.
11695 
11696 Author: David Levine <levinedl@acm.org>
11697 Date:   Fri Jan 24 20:29:38 2014 -0600
11698 
11699     Replaced use of mkstemp() with m_mktemp() in lock_file.c.
11700 
11701 Author: Ken Hornstein <kenh@pobox.com>
11702 Date:   Fri Jan 24 13:17:56 2014 -0500
11703 
11704     Move uip/attach.c to sbr/mime_type.c; it was used by enough programs
11705     that it deserved to be in libmh.
11706 
11707 Author: Ken Hornstein <kenh@pobox.com>
11708 Date:   Fri Jan 24 12:38:03 2014 -0500
11709 
11710     In my over-eager trimming I didn't realize the fallback code that
11711     used the mhshow-suffix configuration information to determine the
11712     MIME type was removed; put that back into mime_type().
11713 
11714 Author: David Levine <levinedl@acm.org>
11715 Date:   Thu Jan 23 22:16:34 2014 -0600
11716 
11717     Replaced use of mkstemp() with m_mktemp2() in header_fd() of
11718     rcvtty.c.  It never would have worked, anyway, because it had 5
11719     instead of 6 X's in the template.
11720 
11721 Author: Ken Hornstein <kenh@pobox.com>
11722 Date:   Thu Jan 23 21:48:24 2014 -0500
11723 
11724     Switch from volatile char * to the more correct char *volatile.
11725 
11726 Author: David Levine <levinedl@acm.org>
11727 Date:   Thu Jan 23 19:58:41 2014 -0600
11728 
11729     Separate export from assignment in test-dist and test-attach.
11730 
11731 Author: Ken Hornstein <kenh@pobox.com>
11732 Date:   Thu Jan 23 14:55:21 2014 -0500
11733 
11734     Whoops, forgot to initialize the linked list next pointer to NULL.
11735 
11736 Author: Ken Hornstein <kenh@pobox.com>
11737 Date:   Thu Jan 23 14:55:06 2014 -0500
11738 
11739     Make sure we include tiny.jpg we need for the test suite.
11740 
11741 Author: Ken Hornstein <kenh@pobox.com>
11742 Date:   Thu Jan 23 14:40:44 2014 -0500
11743 
11744     Try to suppress warnings from changes (but why is this thing complaining
11745     about drft being clobbered now??)
11746 
11747 Author: Ken Hornstein <kenh@pobox.com>
11748 Date:   Thu Jan 23 14:24:35 2014 -0500
11749 
11750     Hm, maybe I can't put environment variable assignments in front of
11751     functions?
11752 
11753 Author: Ken Hornstein <kenh@pobox.com>
11754 Date:   Thu Jan 23 14:01:53 2014 -0500
11755 
11756     Whoops, forgot a newline.
11757 
11758 Merge: 05b74a0 18a3694
11759 Author: Ken Hornstein <kenh@pobox.com>
11760 Date:   Thu Jan 23 13:35:31 2014 -0500
11761 
11762     Merge branch 'mhbuild-always'
11763 
11764 Author: Ken Hornstein <kenh@pobox.com>
11765 Date:   Thu Jan 23 13:35:03 2014 -0500
11766 
11767     Document changes to mhbuild and send.
11768 
11769 Author: Ken Hornstein <kenh@pobox.com>
11770 Date:   Thu Jan 23 00:34:18 2014 -0500
11771 
11772     Garbage collect unused code.
11773 
11774 Author: Ken Hornstein <kenh@pobox.com>
11775 Date:   Thu Jan 23 00:32:18 2014 -0500
11776 
11777     Remove automimeproc functionality; it's redundant now.
11778 
11779 Author: Ken Hornstein <kenh@pobox.com>
11780 Date:   Thu Jan 23 00:31:55 2014 -0500
11781 
11782     Update the pending-release-notes for changes.
11783 
11784 Author: Ken Hornstein <kenh@pobox.com>
11785 Date:   Thu Jan 23 00:07:54 2014 -0500
11786 
11787     Flesh out test-attach, and set it to run as part of the test suite.
11788 
11789 Author: Ken Hornstein <kenh@pobox.com>
11790 Date:   Wed Jan 22 18:59:07 2014 -0500
11791 
11792     Fix mhmail so it works with the new world order.
11793 
11794 Author: Ken Hornstein <kenh@pobox.com>
11795 Date:   Wed Jan 22 15:22:07 2014 -0500
11796 
11797     Convert whatnow over to using the new Attach header.
11798     Mark the old -attach switches as deprecated (and make them not show
11799     up in help).  Still more documentation cleanup to do.
11800 
11801 Author: Ken Hornstein <kenh@pobox.com>
11802 Date:   Wed Jan 22 12:06:49 2014 -0500
11803 
11804     Fixed this to use Attach instead of Nmh-Attachment.
11805 
11806 Author: David Levine <levinedl@acm.org>
11807 Date:   Tue Jan 21 22:09:49 2014 -0600
11808 
11809     Added svector_find() function.
11810 
11811 Author: Ken Hornstein <kenh@pobox.com>
11812 Date:   Tue Jan 21 22:35:35 2014 -0500
11813 
11814     Make viamail read the user's profile; this is required because sendsbr()
11815     wants to call mhbuild, which can be overridden via the user's profile
11816     (which is required for the test suite to work).
11817 
11818 Author: David Levine <levinedl@acm.org>
11819 Date:   Tue Jan 21 20:55:57 2014 -0600
11820 
11821     Always check that mktemp()/mktemp2() succeeds before trying to
11822     use result.  And if it fails, have the error message report
11823     the directory where the failed temporary file creation occurred.
11824     And, removed all chmod()'s of temporary files created by mktemp()/
11825     mktemp2() because they set the umask to 077 before calling mkstemp(3).
11826 
11827 Author: David Levine <levinedl@acm.org>
11828 Date:   Tue Jan 21 20:51:00 2014 -0600
11829 
11830     Expose get_temp_dir().
11831 
11832 Author: David Levine <levinedl@acm.org>
11833 Date:   Tue Jan 21 20:50:11 2014 -0600
11834 
11835     Enable asserts when debug is enabled, in build_nmh.
11836 
11837 Author: Ken Hornstein <kenh@pobox.com>
11838 Date:   Tue Jan 21 20:12:29 2014 -0500
11839 
11840     Fix a bunch of tests for the mhbuild changes; still more to do.
11841 
11842 Author: David Levine <levinedl@acm.org>
11843 Date:   Mon Jan 20 21:08:47 2014 -0600
11844 
11845     Replaced use of m_mktemp() with m_mktemp2() so that tmp files created
11846     by attach, burst, mhbuild, and post will be in the directory specified
11847     by the first non-null of {MHTMPDIR, TMPDIR, TMP, MH Path directory}.
11848 
11849 Author: David Levine <levinedl@acm.org>
11850 Date:   Mon Jan 20 21:07:08 2014 -0600
11851 
11852     Removed remaining occurrences of char *tmp from uip/mh* programs.
11853 
11854 Author: David Levine <levinedl@acm.org>
11855 Date:   Mon Jan 20 20:53:10 2014 -0600
11856 
11857     Expanded mhpath(1) man page discussion of its handling of out-of-range
11858     message numbers, and fixed a couple of formatting glitches.
11859 
11860 Author: David Levine <levinedl@acm.org>
11861 Date:   Mon Jan 20 10:52:07 2014 -0600
11862 
11863     Use LC_ALL instead of LC_CTYPE in test-pick because LC_ALL has
11864     precendence.
11865 
11866 Author: David Levine <levinedl@acm.org>
11867 Date:   Mon Jan 20 10:31:16 2014 -0600
11868 
11869     Fixed three LC_ALL settings:
11870     1) Replaced en_US.ISO8859-1 with C because that's sufficient to show
11871        decoding with an invalid multibyte sequence.
11872     2) Removed redundant LC_ALL=en_US.UTF-8; that is set for the entire test.
11873     3) Removed the last en_US.ISO8859-1 because it hid what the test was
11874        trying to show.
11875 
11876 Author: Ken Hornstein <kenh@pobox.com>
11877 Date:   Mon Jan 20 01:27:15 2014 -0500
11878 
11879     Remove autoconf checks for nl_langinfo() and langinfo.h
11880 
11881 Author: Ken Hornstein <kenh@pobox.com>
11882 Date:   Mon Jan 20 01:15:55 2014 -0500
11883 
11884     Completely deprecate support for MM_CHARSET.
11885 
11886 Author: David Levine <levinedl@acm.org>
11887 Date:   Sun Jan 19 23:21:51 2014 -0600
11888 
11889     Removed "tmp" from the uip/mh* programs, so that they no longer
11890     use the nmh-storage profile component for their tmp files.  Or
11891     their invoname, but that will be taken care of later.
11892 
11893 Author: Ken Hornstein <kenh@pobox.com>
11894 Date:   Sun Jan 19 23:21:32 2014 -0500
11895 
11896     Remove the --disable-locale configure option and make locale support
11897     unconditional.
11898 
11899 Author: Ken Hornstein <kenh@pobox.com>
11900 Date:   Sun Jan 19 13:47:07 2014 -0500
11901 
11902     Document the -dist flag.
11903 
11904 Author: Ken Hornstein <kenh@pobox.com>
11905 Date:   Sun Jan 19 11:59:25 2014 -0500
11906 
11907     Change error message so "Unknown error 0" doesn't get printed if there
11908     is an error parsing an address.
11909 
11910 Author: Ken Hornstein <kenh@pobox.com>
11911 Date:   Sun Jan 19 11:52:47 2014 -0500
11912 
11913     Add a test for dist to make sure it works with headers that need RFC-2047
11914     encoding.
11915 
11916 Author: David Levine <levinedl@acm.org>
11917 Date:   Sun Jan 19 10:48:14 2014 -0600
11918 
11919     Updated MACHINES to show package requirements on Linux and Cygwin.
11920 
11921 Author: Ken Hornstein <kenh@pobox.com>
11922 Date:   Sun Jan 19 01:11:59 2014 -0500
11923 
11924     Add support for not outputting any MIME headers when using dist.
11925 
11926 Author: Ken Hornstein <kenh@pobox.com>
11927 Date:   Sun Jan 19 00:50:49 2014 -0500
11928 
11929     Allow mhbuild to work when the message body is empty.  You know, that
11930     was actually a giant pain!
11931 
11932 Author: Ken Hornstein <kenh@pobox.com>
11933 Date:   Sat Jan 18 23:34:41 2014 -0500
11934 
11935     Removed unused argument "file" to user_content().
11936 
11937 Author: Ken Hornstein <kenh@pobox.com>
11938 Date:   Sat Jan 18 01:17:12 2014 -0500
11939 
11940     Beginning of work to run mhbuild always.  A bit more complicated than I
11941     originally expected.
11942 
11943 Author: Ken Hornstein <kenh@pobox.com>
11944 Date:   Sat Jan 18 00:38:39 2014 -0500
11945 
11946     Explictly return the exit code, so we can portably guarantee that
11947     pidstatus() will return 0 on a successful command execution.
11948 
11949 Author: David Levine <levinedl@acm.org>
11950 Date:   Fri Jan 17 18:42:52 2014 -0600
11951 
11952     Removed -a option from whatnow attach, in anticipation of
11953     removal of send -attachformat.
11954 
11955 Author: Ken Hornstein <kenh@pobox.com>
11956 Date:   Fri Jan 17 15:45:31 2014 -0500
11957 
11958     Add support for -auto flag to mhbuild.
11959 
11960 Author: Ken Hornstein <kenh@pobox.com>
11961 Date:   Fri Jan 17 14:20:12 2014 -0500
11962 
11963     Remove WHATNOW #ifdefs; that code was obsolete a long time ago.
11964 
11965 Author: David Levine <levinedl@acm.org>
11966 Date:   Thu Jan 16 21:48:01 2014 -0600
11967 
11968     Moved readline check to after termcap/curses check in configure.ac.
11969     This way, $TERMLIB can be included in the readline check.  That's
11970     neeed on CentOS 5.9.
11971 
11972 Author: David Levine <levinedl@acm.org>
11973 Date:   Thu Jan 16 19:55:58 2014 -0600
11974 
11975     Moved readconfig() of mhn.defaults into construct_build_directive().
11976     This way, platforms that don't define MIMETYPEPROC will display
11977     the proper directive with attach -v.
11978 
11979 Author: David Levine <levinedl@acm.org>
11980 Date:   Tue Jan 14 20:09:40 2014 -0600
11981 
11982     Added check to get_file_info() in attach.c for failed fgets() call.
11983     It can happen on Cygwin for mysterious reasons,
11984     http://cygwin.com/faq/faq.html#faq.using.bloda.
11985 
11986 Author: David Levine <levinedl@acm.org>
11987 Date:   Tue Jan 14 19:39:42 2014 -0600
11988 
11989     Removed the tests of attach -v -a from test-attach-detach, and
11990     added -prompt '' to try to get the test to pass on Mac OS X.
11991 
11992 Author: David Levine <levinedl@acm.org>
11993 Date:   Tue Jan 14 07:41:28 2014 -0600
11994 
11995     Modified last check added to test-scan-multibyte so that it
11996     also works without iconv support.
11997 
11998 Author: David Levine <levinedl@acm.org>
11999 Date:   Mon Jan 13 20:29:19 2014 -0600
12000 
12001     Skip the last check that I added to test-scan-multibyte if we don't
12002     have iconv support because it requires converting from ISO-8859-1 to
12003     UTF-8.
12004 
12005 Author: David Levine <levinedl@acm.org>
12006 Date:   Mon Jan 13 20:08:55 2014 -0600
12007 
12008     In cpstripped(), check for negative return value from wcwidth().
12009 
12010 Author: David Levine <levinedl@acm.org>
12011 Date:   Mon Jan 13 14:33:44 2014 -0800
12012 
12013     Better fix for test-attach-detach on platforms without readline.
12014 
12015 Author: David Levine <levinedl@acm.org>
12016 Date:   Mon Jan 13 13:35:41 2014 -0800
12017 
12018     Fixed build on Solaris by only checking for -Wno-unused-result with gcc.
12019 
12020 Author: David Levine <levinedl@acm.org>
12021 Date:   Sun Jan 12 12:18:47 2014 -0600
12022 
12023     Hacked test-attach-detach to pass on Solaris.
12024 
12025 Author: David Levine <levinedl@acm.org>
12026 Date:   Sun Jan 12 11:45:16 2014 -0600
12027 
12028     Final fix to test-attach-detach:  on some platforms, there's no
12029     charset for a text/plain file.
12030 
12031 Author: David Levine <levinedl@acm.org>
12032 Date:   Sun Jan 12 11:32:11 2014 -0600
12033 
12034     Really fix mode of file that's used in test-attach-detach.
12035 
12036 Author: David Levine <levinedl@acm.org>
12037 Date:   Sun Jan 12 11:26:07 2014 -0600
12038 
12039     One final fix to test-attach-detach.
12040 
12041 Author: David Levine <levinedl@acm.org>
12042 Date:   Sun Jan 12 11:22:57 2014 -0600
12043 
12044     Fixed test-attach-detach to work with any umask, and without readline.
12045 
12046 Author: David Levine <levinedl@acm.org>
12047 Date:   Sun Jan 12 10:18:20 2014 -0600
12048 
12049     Added -v and -a switches to whatnow attach so the user can see
12050     the mhbuild directive that send(1) will use.
12051 
12052 Author: David Levine <levinedl@acm.org>
12053 Date:   Sat Jan 11 16:30:42 2014 -0600
12054 
12055     Refined the POSTLINK used on OpenBSD so that it leaves the warnings,
12056     but capitalizes the "w" so that they don't color the buildbot waterfall.
12057 
12058 Author: David Levine <levinedl@acm.org>
12059 Date:   Sat Jan 11 16:00:14 2014 -0600
12060 
12061     Refined the autoconf test for -Wno-unused-result so that
12062     it's only used where we need it (currently Ubuntu gcc 4.8.1
12063     with -O2).
12064 
12065 Author: David Levine <levinedl@acm.org>
12066 Date:   Sat Jan 11 11:22:50 2014 -0600
12067 
12068     Calculate port numbers in test suite based on uid so that different
12069     users can run the test suite on a host simultaneously.
12070 
12071 Author: David Levine <levinedl@acm.org>
12072 Date:   Sat Jan 11 11:02:19 2014 -0600
12073 
12074     Updated Cygwin and Linux build notes.
12075 
12076 Author: David Levine <levinedl@acm.org>
12077 Date:   Sat Jan 11 11:01:21 2014 -0600
12078 
12079     Added more .exe files to .gitignore.
12080 
12081 Author: David Levine <levinedl@acm.org>
12082 Date:   Sat Jan 11 10:15:27 2014 -0600
12083 
12084     Work around OpenBSD 5.4 file(1), which reports the --mime-encoding
12085     of text files as "binary".
12086 
12087 Author: David Levine <levinedl@acm.org>
12088 Date:   Sat Jan 11 09:22:36 2014 -0600
12089 
12090     Reworked attach to add charset to Content-Type string for
12091     text content.
12092 
12093 Author: David Levine <levinedl@acm.org>
12094 Date:   Sat Jan 11 08:09:20 2014 -0600
12095 
12096     Changed how build_nmh deals with older mhparam that doesn't
12097     report SASL/TLS.
12098 
12099 Author: David Levine <levinedl@acm.org>
12100 Date:   Sat Jan 11 08:00:55 2014 -0600
12101 
12102     Reorganized autoconf test for -Qunused-warnings so that it
12103     outputs something when configuring on any platform.
12104 
12105 Author: Ken Hornstein <kenh@pobox.com>
12106 Date:   Sat Jan 11 01:41:44 2014 -0500
12107 
12108     Change test-mhmail so it can handle a MIMETYPEPROC that doesn't output
12109     the character set.
12110 
12111 Author: Ken Hornstein <kenh@pobox.com>
12112 Date:   Sat Jan 11 01:11:45 2014 -0500
12113 
12114     Switch over to using --mime-type, since --mime seems to include a
12115     charset for non-text MIME types.
12116 
12117 Author: David Levine <levinedl@acm.org>
12118 Date:   Fri Jan 10 23:41:04 2014 -0600
12119 
12120     Fixed POSTLINK (on OpenBSD) now that it doesn't use -Qunused-arguments.
12121 
12122 Author: Ken Hornstein <kenh@pobox.com>
12123 Date:   Sat Jan 11 00:32:54 2014 -0500
12124 
12125     More tests, but not quite there yet.
12126 
12127 Author: Ken Hornstein <kenh@pobox.com>
12128 Date:   Fri Jan 10 13:31:05 2014 -0500
12129 
12130     Don't error out if the message body is empty.
12131 
12132 Author: David Levine <levinedl@acm.org>
12133 Date:   Fri Jan 10 23:25:19 2014 -0600
12134 
12135     Only add -Qunused-arguments to LDFLAGS if compiler is clang.
12136 
12137 Author: David Levine <levinedl@acm.org>
12138 Date:   Fri Jan 10 20:49:24 2014 -0800
12139 
12140     Reworked LFLAGS hack for flex 2.5.35 and 2.5.36 to work on
12141     Ubuntu.  And use sed instead of ed.
12142 
12143 Author: David Levine <levinedl@acm.org>
12144 Date:   Fri Jan 10 19:36:34 2014 -0600
12145 
12146     No longer add -g or -s to LDFLAGS.  autoconf handles -g.  And "make
12147     install-strip" is the approved way to install stripped executables.
12148 
12149 Author: David Levine <levinedl@acm.org>
12150 Date:   Fri Jan 10 19:03:56 2014 -0600
12151 
12152     Added -Wno-unused-result to silence warnings on Ubuntu.
12153 
12154 Author: Ken Hornstein <kenh@pobox.com>
12155 Date:   Fri Jan 10 00:45:38 2014 -0500
12156 
12157     Make sure we use the 'short' filename and add newlines where appropriate.
12158 
12159 Author: Ken Hornstein <kenh@pobox.com>
12160 Date:   Thu Jan 9 23:17:25 2014 -0500
12161 
12162     A bit closer, but don't run the test just yet.
12163 
12164 Author: Ken Hornstein <kenh@pobox.com>
12165 Date:   Thu Jan 9 16:03:21 2014 -0500
12166 
12167     Preliminary Attach: header support.  Untested just yet.
12168 
12169 Author: David Levine <levinedl@acm.org>
12170 Date:   Wed Jan 8 20:54:50 2014 -0600
12171 
12172     OpenBSD 5 needs an other-libraries (fourth argument) to the
12173     AC_CHECK_LIB for SSL_library_init, because it doesn't automatically
12174     append -lcrypto when linking with -lssl.
12175 
12176 Author: David Levine <levinedl@acm.org>
12177 Date:   Wed Jan 8 20:14:57 2014 -0600
12178 
12179     Hard-code the config/version.c target, instead of using $@, so its
12180     rule works for the distcheck target with Solaris (System V) make.
12181     distcheck uses VPATH, causes that make to prepend the VPATH to $@.
12182 
12183 Author: David Levine <levinedl@acm.org>
12184 Date:   Wed Jan 8 19:02:58 2014 -0600
12185 
12186     Replace use of awk with sed in test-anno because it failed
12187     on Solaris (gawk).
12188 
12189 Author: David Levine <levinedl@acm.org>
12190 Date:   Wed Jan 8 18:23:10 2014 -0600
12191 
12192     Detect whether or not to use -n with tail in build_nmh.
12193     Synched that to uip/mhmail.
12194 
12195 Author: David Levine <levinedl@acm.org>
12196 Date:   Tue Jan 7 22:51:41 2014 -0600
12197 
12198     Fixed typo in last commit of test-curses.
12199 
12200 Author: David Levine <levinedl@acm.org>
12201 Date:   Tue Jan 7 22:49:51 2014 -0600
12202 
12203     Added -Txterm-color to tput invocations that didn't have it.
12204 
12205 Author: David Levine <levinedl@acm.org>
12206 Date:   Tue Jan 7 22:27:55 2014 -0600
12207 
12208     In test-curses, use termcap codes if terminfo capabilities
12209     are not supported, such as on FreeBSD 9.
12210 
12211 Author: David Levine <levinedl@acm.org>
12212 Date:   Tue Jan 7 20:18:52 2014 -0600
12213 
12214     Added sbr/dtimep.c to CLEANFILES so that make distcheck passes on
12215     FreeBSD 9.
12216 
12217 Author: David Levine <levinedl@acm.org>
12218 Date:   Tue Jan 7 19:51:58 2014 -0600
12219 
12220     Clarified advisory message it test-mhfixmsg if a text browser
12221     isn't available.
12222 
12223 Author: Ken Hornstein <kenh@pobox.com>
12224 Date:   Tue Jan 7 23:15:39 2014 -0500
12225 
12226     Update this for From, Resent-From, and Envelope-From.  Also document
12227     Attach even though the code hasn't been written yet.
12228 
12229 Author: Ken Hornstein <kenh@pobox.com>
12230 Date:   Tue Jan 7 11:45:24 2014 -0500
12231 
12232     Prevent message status allocation code from overflowing if we get a
12233     message number that is too high; simply abort instead.
12234 
12235 Author: David Levine <levinedl@acm.org>
12236 Date:   Mon Jan 6 20:49:18 2014 -0600
12237 
12238     Replaced hidden make_mime_composition_file_entry() used by attach()
12239     with public construct_build_directive().
12240 
12241 Author: David Levine <levinedl@acm.org>
12242 Date:   Mon Jan 6 19:14:20 2014 -0600
12243 
12244     Here's a better fix for the whatnow tests:  set and export
12245     TERM at the beginning of each test so that valgrind can be
12246     supported.
12247 
12248 Author: David Levine <levinedl@acm.org>
12249 Date:   Mon Jan 6 11:30:42 2014 -0600
12250 
12251     Removed remaining run_prog's from tests that set an
12252     environment variable.
12253 
12254 Author: Ken Hornstein <kenh@pobox.com>
12255 Date:   Mon Jan 6 11:20:47 2014 -0500
12256 
12257     Add a test for the new curses-based format escapes.
12258 
12259 Author: David Levine <levinedl@acm.org>
12260 Date:   Sun Jan 5 14:48:18 2014 -0600
12261 
12262     Fixed description of send -attach switch in whatnow:  its argument
12263     is the header file name, not a filename.
12264 
12265 Author: David Levine <levinedl@acm.org>
12266 Date:   Sun Jan 5 10:01:48 2014 -0600
12267 
12268     Removed remaining globals in uip/attach.c.
12269 
12270 Author: David Levine <levinedl@acm.org>
12271 Date:   Sun Jan 5 09:51:53 2014 -0600
12272 
12273     Got rid of a couple of globals used by attach get_line().
12274 
12275 Author: David Levine <levinedl@acm.org>
12276 Date:   Sun Jan 5 09:39:11 2014 -0600
12277 
12278     Moved the functions that implement whatnow attach from
12279     uip/sendsbr.c to new uip/attach.c.
12280 
12281 Author: David Levine <levinedl@acm.org>
12282 Date:   Sun Jan 5 08:28:58 2014 -0600
12283 
12284     In whatnow help, don't show that detached can be abbreviated
12285     with "de", because that conflicts with "delete".
12286 
12287 Author: Ken Hornstein <kenh@pobox.com>
12288 Date:   Sat Jan 4 20:44:21 2014 -0500
12289 
12290     Whoops, I'm supposed to NUL-terminate the string, not set the actual pointer
12291     itself!
12292 
12293 Author: Ken Hornstein <kenh@pobox.com>
12294 Date:   Sat Jan 4 14:01:58 2014 -0500
12295 
12296     Make sure scan.curses is installed & distributed.
12297 
12298 Author: Ken Hornstein <kenh@pobox.com>
12299 Date:   Sat Jan 4 00:59:38 2014 -0500
12300 
12301     Support for sending color escape sequences retrieved from terminfo(5).
12302 
12303 Author: Ken Hornstein <kenh@pobox.com>
12304 Date:   Fri Jan 3 15:55:10 2014 -0500
12305 
12306     Add support for %(hascolor), and a new function for parameterized
12307     terminfo capabilities.
12308 
12309 Author: Ken Hornstein <kenh@pobox.com>
12310 Date:   Fri Jan 3 14:40:35 2014 -0500
12311 
12312     Document %(nodate), and update things a bit.
12313 
12314 Author: Ken Hornstein <kenh@pobox.com>
12315 Date:   Fri Jan 3 11:43:16 2014 -0500
12316 
12317     Garbage collect some Autoconf cruft that has been around a lot longer
12318     than necessary.
12319 
12320 Author: Ken Hornstein <kenh@pobox.com>
12321 Date:   Fri Jan 3 11:06:29 2014 -0500
12322 
12323     Also make sure outc() uses TPUTS_PUTC_ARG.
12324 
12325 Author: Ken Hornstein <kenh@pobox.com>
12326 Date:   Fri Jan 3 11:05:18 2014 -0500
12327 
12328     Whoops, I forgot that AC_CACHE_CHECK calls AC_MSG_RESULT.
12329 
12330 Author: Ken Hornstein <kenh@pobox.com>
12331 Date:   Fri Jan 3 10:44:59 2014 -0500
12332 
12333     Create an autoconf test to determine the argument of the tputs() callback.
12334 
12335 Author: Ken Hornstein <kenh@pobox.com>
12336 Date:   Fri Jan 3 09:27:39 2014 -0500
12337 
12338     Remove checks for termcap.h and ncurses/termcap.h, since we're not using
12339     those header files anymore.
12340 
12341 Author: Ken Hornstein <kenh@pobox.com>
12342 Date:   Fri Jan 3 00:42:05 2014 -0500
12343 
12344     Sigh.  Fix up missing conversion from clear->ti_clear.
12345 
12346 Author: Ken Hornstein <kenh@pobox.com>
12347 Date:   Fri Jan 3 00:30:15 2014 -0500
12348 
12349     I guess we can't include both termcap and terminfo headers on Solaris.
12350 
12351 Author: Ken Hornstein <kenh@pobox.com>
12352 Date:   Fri Jan 3 00:15:56 2014 -0500
12353 
12354     include curses.h so this (hopefully) now works on Solaris.
12355 
12356 Author: Ken Hornstein <kenh@pobox.com>
12357 Date:   Thu Jan 2 23:59:57 2014 -0500
12358 
12359     Convert all of the terminal functions over to terminfo(5) instead of
12360     the older termcap.
12361     
12362     Move the terminal-specific code from fmt_compile.c to terminal.c, so it
12363     is all in one place.
12364 
12365 Author: Ken Hornstein <kenh@pobox.com>
12366 Date:   Thu Jan 2 15:55:33 2014 -0500
12367 
12368     Garbage collect unused code.
12369 
12370 Author: Ken Hornstein <kenh@pobox.com>
12371 Date:   Thu Jan 2 15:52:49 2014 -0500
12372 
12373     Remove baudrate-handing code.
12374 
12375 Author: Ken Hornstein <kenh@pobox.com>
12376 Date:   Thu Jan 2 15:04:17 2014 -0500
12377 
12378     Always emit an STR instruction for terminal escape sequences, otherwise you
12379     can get unintended results (like printint the previous contents of the str
12380     register, which is almost certainly what you don't want).
12381 
12382 Author: Ken Hornstein <kenh@pobox.com>
12383 Date:   Thu Jan 2 15:00:46 2014 -0500
12384 
12385     Switch from the M-X format for characters with the high bit set to
12386     \xXX instead when printing format strings and other characters.
12387 
12388 Author: Ken Hornstein <kenh@pobox.com>
12389 Date:   Thu Jan 2 14:46:52 2014 -0500
12390 
12391     Fix problem with %(putlit) and %(zputlit) causing a SIGSEGV
12392     if str is NULL.
12393 
12394 Author: Ken Hornstein <kenh@pobox.com>
12395 Date:   Thu Jan 2 13:54:07 2014 -0500
12396 
12397     Drop support for different behavior on hardcopy terminals.  It's 2014,
12398     I'm assuming this is not a valid concern anymore.
12399 
12400 Author: Ken Hornstein <kenh@pobox.com>
12401 Date:   Thu Jan 2 11:38:20 2014 -0500
12402 
12403     Move the termsbr code into the libmh library, where it belongs.
12404 
12405 Author: David Levine <levinedl@acm.org>
12406 Date:   Wed Jan 1 13:43:51 2014 -0600
12407 
12408     Give up on fmt_compile.c for now.
12409 
12410 Author: David Levine <levinedl@acm.org>
12411 Date:   Wed Jan 1 13:21:56 2014 -0600
12412 
12413     That didn't work.  Try including termcap.h first, instead of
12414     ncurses/termcap.h.
12415 
12416 Author: David Levine <levinedl@acm.org>
12417 Date:   Wed Jan 1 13:18:08 2014 -0600
12418 
12419     Changed several globals to be static, to avoid collision,
12420     notably with "filter" in libtermcap.so, on Solaris.
12421 
12422 Author: David Levine <levinedl@acm.org>
12423 Date:   Wed Jan 1 13:16:48 2014 -0600
12424 
12425     Try including termcap.h before curses.h to see if that solves
12426     the tputs() mismatch on Solaris.
12427 
12428 Author: Ken Hornstein <kenh@pobox.com>
12429 Date:   Tue Dec 31 15:29:40 2013 -0500
12430 
12431     It looks like some systems also need curses.h as well as term.h
12432 
12433 Author: Ken Hornstein <kenh@pobox.com>
12434 Date:   Tue Dec 31 15:20:22 2013 -0500
12435 
12436     Add support for outputing a few (limited) terminal attributes in format
12437     sequences.  Needs documentation and some expansion.
12438 
12439 Author: Ken Hornstein <kenh@pobox.com>
12440 Date:   Tue Dec 31 15:19:21 2013 -0500
12441 
12442     Make sure that branching instructions are traced even if we're executing the
12443     branch (previously, they would only be traced if they did not execute the
12444     branch).
12445 
12446 Author: Ken Hornstein <kenh@pobox.com>
12447 Date:   Tue Dec 31 00:13:21 2013 -0500
12448 
12449     Change fmttest to use litputs() on str and output buffers during tracing.
12450 
12451 Author: David Levine <levinedl@acm.org>
12452 Date:   Sun Dec 29 08:01:28 2013 -0600
12453 
12454     Generalized the valgrind suppression for sendmsg via readLine.
12455 
12456 Author: David Levine <levinedl@acm.org>
12457 Date:   Sat Dec 28 18:24:54 2013 -0600
12458 
12459     Added test/valgrind.supp to EXTRA_DIST in Makefile.am so that
12460     NMH_VALGRIND=1 works with make distcheck.
12461 
12462 Author: David Levine <levinedl@acm.org>
12463 Date:   Sat Dec 28 18:23:49 2013 -0600
12464 
12465     Removed one run_prog from test-pick because it loses the setting
12466     of the LC_CTYPE environment variable.
12467 
12468 Author: David Levine <levinedl@acm.org>
12469 Date:   Sat Dec 28 11:55:12 2013 -0600
12470 
12471     Fixed chmod of temp file in prompter.  Noticed by valgrind.
12472 
12473 Author: David Levine <levinedl@acm.org>
12474 Date:   Sat Dec 28 11:54:05 2013 -0600
12475 
12476     Null-terminate buffer in mbx_copy() in dropsbr.c.  Noticed by
12477     valgrind.
12478 
12479 Author: David Levine <levinedl@acm.org>
12480 Date:   Sat Dec 28 11:51:01 2013 -0600
12481 
12482     Added support for running the test suite with valgrind by setting
12483     the NMH_VALGRIND environment variable.  To support that, nmh
12484     programs that are invoked in the test suite should be run via
12485     (the new function) run_prog or run_test.
12486 
12487 Author: David Levine <levinedl@acm.org>
12488 Date:   Tue Dec 24 09:02:15 2013 -0600
12489 
12490     Have configure print out what it detects for the program to detect
12491     the MIME type string for a file.
12492 
12493 Author: David Levine <levinedl@acm.org>
12494 Date:   Mon Dec 23 15:32:45 2013 -0600
12495 
12496     Added "true" to end of flex fixups in configure.ac, in case the
12497     user has hacked flex to not produce the errant code.
12498 
12499 Author: David Levine <levinedl@acm.org>
12500 Date:   Mon Dec 23 15:09:23 2013 -0600
12501 
12502     Removed flex fixup for version 2.5.37, it's not necessary with
12503     flex 2.5.37 on Fedora 20.
12504 
12505 Author: David Levine <levinedl@acm.org>
12506 Date:   Sun Dec 22 18:09:55 2013 -0600
12507 
12508     Use --brief option, if supported, with file --mime.
12509 
12510 Author: David Levine <levinedl@acm.org>
12511 Date:   Sun Dec 22 17:38:59 2013 -0600
12512 
12513     In test-mhmail, insert semicolon in output of "file --mime" if needed.
12514 
12515 Author: David Levine <levinedl@acm.org>
12516 Date:   Sun Dec 22 16:42:34 2013 -0600
12517 
12518     file --mime on OpenBSD returns strings such as "text/plain
12519     charset=us-ascii", without an intervening semilcolon.  Insert one if
12520     there isn't one.
12521 
12522 Author: David Levine <levinedl@acm.org>
12523 Date:   Sun Dec 22 16:12:02 2013 -0600
12524 
12525     Removed support for file -i, it just spits out "regular file"
12526     on Solaris.
12527 
12528 Author: David Levine <levinedl@acm.org>
12529 Date:   Sun Dec 22 16:11:18 2013 -0600
12530 
12531     Removed temporary printouts.
12532 
12533 Author: David Levine <levinedl@acm.org>
12534 Date:   Sun Dec 22 15:30:30 2013 -0600
12535 
12536     More debugging statements for OpenBSD.
12537 
12538 Author: David Levine <levinedl@acm.org>
12539 Date:   Sun Dec 22 15:08:30 2013 -0600
12540 
12541     Added debuging printouts.
12542 
12543 Author: David Levine <levinedl@acm.org>
12544 Date:   Sun Dec 22 15:05:38 2013 -0600
12545 
12546     Whooops, gcc on OpenBSD noticed a nasty in the last commit.
12547 
12548 Author: David Levine <levinedl@acm.org>
12549 Date:   Sun Dec 22 14:42:26 2013 -0600
12550 
12551     With whatnow attach, determine the content MIME type that's inserted
12552     into the Content-Type header using file --mime or file -i, if
12553     available on the platform at configuration time.  If not, continue to
12554     use the mhshow-suffix- method.  Added a mimetypeproc component to
12555     mhparam so that a user can query the configuration.
12556 
12557 Author: David Levine <levinedl@acm.org>
12558 Date:   Sun Dec 22 14:38:49 2013 -0600
12559 
12560     Updated date on a few man pages.
12561 
12562 Author: David Levine <levinedl@acm.org>
12563 Date:   Sun Dec 22 10:41:09 2013 -0600
12564 
12565     Removed temporary probes added in commit
12566     3441b5648a0c21e067c05f428a51bf96352735e7.
12567 
12568 Author: David Levine <levinedl@acm.org>
12569 Date:   Sun Dec 22 09:02:29 2013 -0600
12570 
12571     Added temporary probes to see what file --mime and file -i do on
12572     OpenBSD and Solaris.
12573 
12574 Author: David Levine <levinedl@acm.org>
12575 Date:   Sun Dec 22 09:01:41 2013 -0600
12576 
12577     Increased size of file command buffer in make_mime_composition_file_entry()
12578     because it was a bit too small.
12579 
12580 Author: David Levine <levinedl@acm.org>
12581 Date:   Sat Dec 14 10:41:01 2013 -0600
12582 
12583     Cleaned up setting of CFLAGS in configure.ac.
12584 
12585 Author: David Levine <levinedl@acm.org>
12586 Date:   Sat Dec 14 10:29:33 2013 -0600
12587 
12588     Added POSTLINK to remainder of executables in Makefile.am.
12589     Replaced hard-coded sbr/libmh.a with $(LDADD) in LDADD
12590     macro for test/getfullname.
12591 
12592 Author: David Levine <levinedl@acm.org>
12593 Date:   Sat Dec 14 09:51:47 2013 -0600
12594 
12595     The buildbot was reporting "warning" on stdin, not stderr.
12596     Escape "warning" so that it doesn't snag it.
12597 
12598 Author: David Levine <levinedl@acm.org>
12599 Date:   Sat Dec 14 08:51:42 2013 -0600
12600 
12601     The build failed mysteriously on the OpenBSD buildbot host ("Provide
12602     an AUTOCONF_VERSION environment variable, please").  This was in the
12603     compile, not autogen, phase.  Committing trivial change to kick off
12604     another build.
12605 
12606 Author: David Levine <levinedl@acm.org>
12607 Date:   Sat Dec 14 08:37:11 2013 -0600
12608 
12609     That didn't quite work, try reducing size of warning filter
12610     temporarily.
12611 
12612 Author: David Levine <levinedl@acm.org>
12613 Date:   Sat Dec 14 08:24:14 2013 -0600
12614 
12615     Filter out "often/almost always misused" warnings from OpenBSD linker.
12616     Added POSTLINK macro to configure/Makefile for this purpose.
12617 
12618 Author: David Levine <levinedl@acm.org>
12619 Date:   Fri Dec 13 19:23:27 2013 -0600
12620 
12621     Added mention of filename completion at whatnow prompt if nmh
12622     was configured with readline enabled.
12623 
12624 Author: David Levine <levinedl@acm.org>
12625 Date:   Fri Dec 13 19:20:12 2013 -0600
12626 
12627     Moved the set -x after the uname and string test in autogen.sh
12628     to reduce build log clutter.
12629 
12630 Author: David Levine <levinedl@acm.org>
12631 Date:   Fri Dec 13 19:12:15 2013 -0600
12632 
12633     Generalized -Wel fix in test-manpages of commit
12634     27659f0aa30c07081f7b8647c51a6ca82837e5d1 to apply on
12635     any platform.
12636 
12637 Author: Pascal Stumpf <Pascal.Stumpf@cubes.de>
12638 Date:   Fri Dec 13 18:57:57 2013 -0600
12639 
12640     rand()/srand() are not cryptographically secure PRNGs.  Some systems
12641     have the much better suited arc4random() family of functions; there's
12642     no reason to not use it if it is available.  Make m_rand() just a
12643     wrapper around arc4random_buf() in that case.  (There's no need to
12644     ever seed it manually.)
12645     
12646     As a bonus, silences some warnings on OpenBSD.
12647 
12648 Author: David Levine <levinedl@acm.org>
12649 Date:   Fri Dec 13 16:48:02 2013 -0600
12650 
12651     groff -man silence the test-manpages warnings.  One more try: -Wel.
12652 
12653 Author: David Levine <levinedl@acm.org>
12654 Date:   Fri Dec 13 16:25:24 2013 -0600
12655 
12656     Try using -man instead of -mandoc in test-manpages on OpenBSD
12657     to see if it silences the warnings.
12658 
12659 Author: David Levine <levinedl@acm.org>
12660 Date:   Fri Dec 13 15:33:14 2013 -0600
12661 
12662     Disable assertions by default.
12663 
12664 Author: Ken Hornstein <kenh@pobox.com>
12665 Date:   Fri Dec 13 15:38:58 2013 -0500
12666 
12667     Minor autoconf style cleanup.
12668 
12669 Author: David Levine <levinedl@acm.org>
12670 Date:   Thu Dec 12 20:15:14 2013 -0600
12671 
12672     Minor changes to configure.ac:
12673     1) Replaced direct manipulation of NDEBUG with AC_HEADER_ASSERT.
12674     2) Removed unnecessary level of quoting around LFLAGS assignments.
12675 
12676 Author: David Levine <levinedl@acm.org>
12677 Date:   Thu Dec 12 20:11:42 2013 -0600
12678 
12679     Moved all LDFLAGS manipulations in configure.ac to one place.
12680 
12681 Author: David Levine <levinedl@acm.org>
12682 Date:   Thu Dec 12 18:37:58 2013 -0600
12683 
12684     Tweaked rcvtty.c to squelch warnings on OpenBSD.  Three of the
12685     four were due to unused artifacts with HAVE_GETUTXENT not defined.
12686     The fourth was due to control reaching the end of non-void
12687     function message_id(), which had an _exit() call at the end.
12688 
12689 Author: David Levine <levinedl@acm.org>
12690 Date:   Thu Dec 12 18:29:31 2013 -0600
12691 
12692     Initialize local child_id in main() of whom.c to squelch warning
12693     from cc on OpenBSD.
12694 
12695 Author: David Levine <levinedl@acm.org>
12696 Date:   Thu Dec 12 18:27:17 2013 -0600
12697 
12698     Squelch warning from cc on OpenBSD that fd argument of usr_pipe() in
12699     slocal.c might get clobbered by vfork() by copying it to a volatile
12700     local.
12701 
12702 Author: David Levine <levinedl@acm.org>
12703 Date:   Thu Dec 12 18:23:45 2013 -0600
12704 
12705     Removed --posix from awk invocation in test-anno.
12706 
12707 Author: David Levine <levinedl@acm.org>
12708 Date:   Thu Dec 12 18:08:01 2013 -0600
12709 
12710     It looks like the sed "a" in test-anno didn't emit a trailing
12711     newline on OpenBSD.  It does on other platforms.  Try using
12712     awk instead.
12713 
12714 Author: Lyndon Nerenberg <lyndon@bbsobsd5.bitsea.ca>
12715 Date:   Thu Dec 12 11:55:58 2013 -0800
12716 
12717     Add buildbot hacks for OpenBSD.
12718     
12719     OpenBSD auto{conf,make} want a version specified in the environment
12720     for each of the tools.  For now, hardwire this into autogen.sh until
12721     we can figure out a better way of dealing with this.
12722 
12723 Author: David Levine <levinedl@acm.org>
12724 Date:   Wed Dec 11 20:52:49 2013 -0600
12725 
12726     Sun Studio cc -V must output to stderr.
12727 
12728 Author: David Levine <levinedl@acm.org>
12729 Date:   Wed Dec 11 20:28:10 2013 -0600
12730 
12731     Try 9efa994ecac2790dbc56113f78c464eed1371590 again.
12732 
12733 Author: David Levine <levinedl@acm.org>
12734 Date:   Wed Dec 11 19:47:29 2013 -0600
12735 
12736     Undid last commit of temporary printouts because buildbot is down.
12737 
12738 Author: David Levine <levinedl@acm.org>
12739 Date:   Wed Dec 11 17:19:48 2013 -0600
12740 
12741     Temporarily add some printouts to configure.ac to see why -v
12742     isn't added to Sun Studio cc on Solaris build host.
12743 
12744 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
12745 Date:   Wed Dec 11 10:53:28 2013 -0800
12746 
12747     Prefer cc over gcc.
12748 
12749 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
12750 Date:   Wed Dec 11 10:42:04 2013 -0800
12751 
12752     One more attempt at getting the buildbot $PATH correct on Solaris.
12753 
12754 Author: David Levine <levinedl@acm.org>
12755 Date:   Tue Dec 10 19:17:00 2013 -0600
12756 
12757     OK, this should work to detect Sun Studio cc.
12758 
12759 Author: David Levine <levinedl@acm.org>
12760 Date:   Tue Dec 10 19:07:25 2013 -0600
12761 
12762     Oops, that didn't work.  Disable -v with SunStudio cc for now.
12763 
12764 Author: David Levine <levinedl@acm.org>
12765 Date:   Tue Dec 10 19:05:32 2013 -0600
12766 
12767     OK, use SunStudio cc, if present, on Solaris if user didn't set CC.
12768     And with it, use -v and suppress the statement not reached warning.
12769 
12770 Author: David Levine <levinedl@acm.org>
12771 Date:   Tue Dec 10 18:45:26 2013 -0600
12772 
12773     Suppress E_STATEMENT_NOT_REACHED warning from SunStudio cc.
12774 
12775 Author: David Levine <levinedl@acm.org>
12776 Date:   Tue Dec 10 18:35:08 2013 -0600
12777 
12778     Added -errtags=yes to SunStudio cc options.
12779 
12780 Author: David Levine <levinedl@acm.org>
12781 Date:   Tue Dec 10 18:22:23 2013 -0600
12782 
12783     Removed a bunch of unreachable break statements found by
12784     SunStudio cc -v.  Also fixed an "end-of-loop code not
12785     reached" condition in uip/dropsbr.c.  That one is significant
12786     because it meant that retries were not attempted when attempting
12787     to open and lock a file.
12788 
12789 Author: David Levine <levinedl@acm.org>
12790 Date:   Tue Dec 10 16:43:20 2013 -0600
12791 
12792     Need full path to cc on Solaris buildbot host, at this point.
12793 
12794 Author: David Levine <levinedl@acm.org>
12795 Date:   Tue Dec 10 16:16:59 2013 -0600
12796 
12797     Try -v with SunStudio cc.  Also, try setting CC instead of modifying
12798     AC_PROC_CC to pick up cc on the buildbot Solaris host.
12799 
12800 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
12801 Date:   Tue Dec 10 14:05:08 2013 -0800
12802 
12803     Remove the Solaris cc hack; the buildbot should have the correct
12804     cc in its $PATH now.
12805 
12806 Author: David Levine <levinedl@acm.org>
12807 Date:   Tue Dec 10 08:40:59 2013 -0600
12808 
12809     Removed +w from SunStudio cc, it caused compilation failure.
12810     Maybe it can only be used with CC.
12811 
12812 Author: David Levine <levinedl@acm.org>
12813 Date:   Tue Dec 10 08:36:15 2013 -0600
12814 
12815     That worked.  Now try +w2 with SunStudio cc.
12816 
12817 Author: David Levine <levinedl@acm.org>
12818 Date:   Tue Dec 10 08:15:22 2013 -0600
12819 
12820     Of course that didn't work.  Try specifying the SunStudio
12821     compiler in CC.
12822 
12823 Author: David Levine <levinedl@acm.org>
12824 Date:   Tue Dec 10 07:53:14 2013 -0600
12825 
12826     That didn't work.  Set PATH to pick up SunStudio cc.
12827 
12828 Author: David Levine <levinedl@acm.org>
12829 Date:   Mon Dec 9 23:45:54 2013 -0600
12830 
12831     Use SolarisStudio cc if available.
12832 
12833 Author: David Levine <levinedl@acm.org>
12834 Date:   Mon Dec 9 23:20:27 2013 -0600
12835 
12836     Added temporary probe to find cc on Solaris.
12837 
12838 Author: David Levine <levinedl@acm.org>
12839 Date:   Mon Dec 9 18:25:03 2013 -0600
12840 
12841     Removed temporary favor of cc over gcc.
12842 
12843 Author: David Levine <levinedl@acm.org>
12844 Date:   Mon Dec 9 18:19:17 2013 -0600
12845 
12846     Temporarily favor cc over gcc to try it out on Solaris.
12847 
12848 Author: David Levine <levinedl@acm.org>
12849 Date:   Sun Dec 8 23:17:50 2013 -0600
12850 
12851     Commit 9c663383ab54e0290781ac1c25d790ce03160e08 introduced
12852     a backward incompatibility to build_nmh.  Refuse to support
12853     -y if the current nmh installation has an mhparam that doesn't
12854     support the sasl and tls components.
12855 
12856 Author: Ken Hornstein <kenh@pobox.com>
12857 Date:   Sun Dec 8 22:18:46 2013 -0500
12858 
12859     Clean up comments, and update information on file locking.
12860 
12861 Author: David Levine <levinedl@acm.org>
12862 Date:   Sun Dec 8 19:02:28 2013 -0600
12863 
12864     Removed dependence of build_nmh on ldd by adding sasl and tls
12865     components to mhparam(1).
12866 
12867 Author: Ken Hornstein <kenh@pobox.com>
12868 Date:   Sun Dec 8 18:05:42 2013 -0500
12869 
12870     Fix one of the POP tests to work on wide terminals.
12871 
12872 Author: David Levine <levinedl@acm.org>
12873 Date:   Sun Dec 8 13:27:33 2013 -0600
12874 
12875     Removed temporary diagnostic to determine gcc version on Solaris
12876     buildbot host.  It's 4.5.2.  4.6.0 and later return an error
12877     status with an unrecognized option, which we rely on for the test
12878     for -Qunused-arguments.  4.5.2 doesn't.  But that option doesn't
12879     produce any errors, just warnings that don't contain "warning".
12880     So ignore it.
12881 
12882 Author: David Levine <levinedl@acm.org>
12883 Date:   Sun Dec 8 13:16:19 2013 -0600
12884 
12885     Added temporary diagnostic to see what version of gcc is
12886     used on the buildbot Solaris host.
12887 
12888 Author: David Levine <levinedl@acm.org>
12889 Date:   Sun Dec 8 12:50:39 2013 -0600
12890 
12891     With the fix of 4929cad323afc87404752a1e88664a7f42cbb737,
12892     prepare_space() no longer needs to insert initial space.
12893 
12894 Author: David Levine <levinedl@acm.org>
12895 Date:   Sun Dec 8 12:15:18 2013 -0600
12896 
12897     Try this sed command for squeeze_lines().
12898 
12899 Author: David Levine <levinedl@acm.org>
12900 Date:   Sun Dec 8 11:19:13 2013 -0600
12901 
12902     Added -eval 'set document.browse.margin_width = 0' to elinks
12903     command in mhfixmsg-format-text/html in mhn.defaults, to disable
12904     indentation of converted text.  Thanks to Rickard Carlsson for
12905     this suggestion.
12906 
12907 Author: David Levine <levinedl@acm.org>
12908 Date:   Sun Dec 8 10:56:35 2013 -0600
12909 
12910     That didn't work, so try this awk command from Robert Elz.
12911 
12912 Author: David Levine <levinedl@acm.org>
12913 Date:   Sun Dec 8 10:29:00 2013 -0600
12914 
12915     Fixed squeeze_lines() test function to be compatible with POSIX awk.
12916 
12917 Author: David Levine <levinedl@acm.org>
12918 Date:   Sat Dec 7 20:27:37 2013 -0600
12919 
12920     Fixed test-mhfixmsg to work with elinks, which inserted leading
12921     space on a line.  Thanks to Valdis for reporting that and to
12922     Ralph for the awk and sed magic to emulate diff -w (and cat -s).
12923 
12924 Author: David Levine <levinedl@acm.org>
12925 Date:   Sat Dec 7 10:44:31 2013 -0600
12926 
12927     Added notes to README.developers about write access to
12928     the git repo and git rebase.
12929 
12930 Author: David Levine <levinedl@acm.org>
12931 Date:   Sat Dec 7 10:39:16 2013 -0600
12932 
12933     Replaced hard-coded use of "," with `mhparam sbackup` in
12934     test-header-encode.
12935 
12936 Author: David Levine <levinedl@acm.org>
12937 Date:   Sat Dec 7 09:34:05 2013 -0600
12938 
12939     Disable clang complaint about unused -ansi when linking by
12940     adding -Qunused-arguments to LDFLAGS, if supported.
12941 
12942 Author: David Levine <levinedl@acm.org>
12943 Date:   Fri Dec 6 18:56:11 2013 -0600
12944 
12945     Removed bash-isms from inc/test-deb359167.
12946 
12947 Author: David Levine <levinedl@acm.org>
12948 Date:   Fri Dec 6 18:43:20 2013 -0600
12949 
12950     Skip inc/test-deb359167 on FreeBSD >= 10 because its valgrind
12951     throws a strange error.  Code provided by Lyndon.
12952 
12953 Author: Lyndon Nerenberg <lyndon@orthanc.ca>
12954 Date:   Fri Dec 6 14:52:03 2013 -0800
12955 
12956     test/common.sh.in: use awk to pick off first output field.
12957     
12958     md5 and md5sum are inconsistent in their use of SP vs HT as a field separator.
12959     cut(1) can only handle a single field delimiter character; awk is more forgiving.
12960 
12961 Merge: 2734ae8 7d7ed69
12962 Author: David Levine <levinedl@acm.org>
12963 Date:   Thu Dec 5 22:49:54 2013 -0600
12964 
12965     Merge branch 'master' of git.sv.nongnu.org:/srv/git/nmh
12966 
12967 Author: David Levine <levinedl@acm.org>
12968 Date:   Thu Dec 5 22:49:49 2013 -0600
12969 
12970     Renamed test/getfqdn to test/getcanon.
12971 
12972 Author: Ken Hornstein <kenh@pobox.com>
12973 D