trn 4.0-test77 (2010/09/01):

  Changes:

   + Don't write out the .newsrc file when checkflag is set -- we didn't
     lock the file, and we may not have even read it all.

   + Don't try to cleanup the newsrc when checkflag is set.

   + Added a special-case to Rnmail for qmail-inject.

   + Get rid of the buffer-kludge code for -c mode (since it was broken).

   + Ignore LISTGROUP articles that are lower than the absfirst article.

   + Got rid of the -Z option.

   + Avoid a segfault when multiple identical +h options are given.

   + Get rid of the -q option to diff (for greater compatibility).

   + Document the FROM environment variable in trn(1), and mention in both
     trn(1) and the environment help file that FROM affects cancelling and
     superseding.

   + Added tc_ prefix to termcap variables so they don't clash with the
     external variables of a certain curses library.

   + Changed the clear() routine from a macro to a function and extended it
     to handle weird HP terminals (as suggested by Peter de Silva).

   + Document 'q' as an option in "Unkill: +select, thread, subthread, or
     all?" prompt.

   + Newly built Configure to fix "split" command-line syntax.

   + Call to nntp_gets() was too limited in buffer usage.

   + Improved nntp_gets() function to not get fooled by null chars(!) in the
     middle of a line.

   + Improved get_tcp_socket() so that url.c could call it for an HTTP
     connection in addition to our use for an NNTP connection.

   + Got rid of the get_url_socket() function--we now call get_tcp_socket().

   + Added IPv6 support to get_tcp_socket() using a ever-so-slightly-tweaked
     patch from Olaf 'Rhialto' Seibert.

   + Added parsing of IPv6 address literal to URL parsing (patch from Olaf
     'Rhialto' Seibert).

   + Always include opt.h after util.h to avoid "array type has incomplete
     element type" errors.

   + Make Pnews exit on EOF in pgpask state.

   + Fix segfault when closing the overview file after the server has gone
     away.

   + Default DI_AUTH_COMMAND to value of environment variable NNTPAUTH.

   + Document 'a' article-selection command.

trn 4.0-test76 (2001/04/02):

  Changes:

   + Fixed a bug in cache.c that could cause trn to free memory twice
     (and sometimes resulted in a crash).

   + Made Makefile.SH use a $yacc value it gets from Configure.

   + Improved the package file to specify .ih files as C source files.

   + Rebuilt Configure, restoring the utime.h check and adding the yacc check.

   + Tweaked mkpro.SH and mktd.SH.

trn 4.0-test75 (2001/02/13):

  Changes:

   + The threading algorithm was improved to allow the In-Reply-To line
     to be provide some Reference information (allowing the threading of
     gatewayed mailing list articles).

   + Added the article-commands _m (mark subthread to-return) and _M
     (mark whole thread to-return).

   + The decoding of binaries was improved to allow the decoding of
     replies (which are now much more likely to contain binary data than
     they used to be) and to use the last set of piece/total data on the
     subject line (to parse a common new format that lists a file position
     prior to the piece position).  Also added an option to the extract
     command that lets you override the auto-detected piece/total numbers
     (E.g. "e -1/2" extracts the current article as piece 1 of 2, and
     "e -1" extracts the current article as piece 1 of 1.)

   + Pnews and Rnmail alert you when the email address you're replying
     to has the .invalid suffix attached to it.

   + Fixed a bug in the cancel code that was not checking the value of
     the FROM environment variable properly.

   + Changed some of the spinner characters to try to be friendlier to
     the sight-impaired.

   + Fixed a bug in the multi-newsrc code that could leave old newsgroup
     data lying around when you switch news servers.  This avoids a
     potential crash problem and a memory leak.

   + Rebuilt Configure with some new improvements.  For instance, glibc-
     using systems no longer default to using nm, which prevents Configure
     from failing miserably to find the appropriate library functions.

   + The Makefile now cleans up the HelpFiles dir if it was copied over
     from the source dir.  Also added a "tar" target that makes a new
     tar file based on the files listed in the MANIFEST and named via
     version listed in the patchlevel.h file.

   + Trn now prefers getcwd() over getwd().

trn 4.0-test74 (2000/05/26):

  Changes:

   + Fixed a crash bug in the add-group speedup patch that I missed.

   + Fixed the handling of '&' (option) commands in kill-files when they
     aren't at the start of the line (e.g. when they're an e'X'it cmd).

   + Improved the handling of the environment.SH file, including how it
     gets extracted with the object-dir is different from the source-dir.

   + Got rid of the $Id: ...$ strings in the man page files.

   + Rebuilt the dependencies file.

trn 4.0-test73 (2000/05/24):

  Changes:

   + Added the "LICENSE" file with trn's new license.

   + Changed the copyright messages in the files to point to the new
     LICENSE file.

   + Added some extra online help files.

   + Some new code in addng.c optimizes the adding of really large
     numbers of new groups.

   + You can now set the color of the body-text.

   + You can tell trn to not look for any Xref headers for a particular
     news source.  This will speed things up if there is no crossposting
     allowed, or if you don't mind trn not marking articles as read in
     crossposted groups.

   + The CANCELHEADER and SUPERSEDEHEADER definitions use the same
     "FROM" environment variable kludge as the regular header defines.

   + If a news server responds to our "list active control" request
     with the entire active file, disable the command as broken and
     fall back to reading the entire active file.

   + Tweaked the srcfile_open() function so that it could be called to
     finish reading an already-started "list active" command.

   + Support some strange news servers that put "Author" into the
     overview.fmt file rather than "From".

   + Added some missing commands to the keystroke help pages.

   + Inews will not add an originator line if the NO_ORIGINATOR
     environment variable is set.

   + Added the interp code for %<.

   + Kill files can now have leading whitespace in front of the command
     letters.

   + Fixed a bug in the html-text parser where a growing artbuf could
     make a line-start pointer invalid.

   + The "...etc." line now mentions how many lines would have been
     displayed if it would have all fit on the screen.

   + Some uudecode changes.

   + A few other minor tweaks.

trn 4.0-test72 (1999/04/19):

  Changes:

   + Fixed a just-introduced bug in the pager when wrapping long lines.

trn 4.0-test71 (1999/04/18):

  Changes:

   + Fixed the problem with thread-memorized kills not being re-applied
     to the cached newsgroup data (this only affects you if you set
     some junked articles unread, exit the group, and then immediately
     re-enter it).

   + Fixed the application of thread-memorized kills & selects to
     thread-file data (from mthreads).

   + Don't re-fetch the active file(s) of open NNTP connections that
     are not currently active (trn keeps a connection open for a short
     time after you switch servers just in case you want to switch
     right back).

   + Fixed the README to point to the change-log file rather than the
     (no-longer present) "NEW" file.

   + Got rid of "blinebeg" in art.c, and changed reset to be a buffer
     offset.  This avoids the possibility of invalid pointers when the
     article buffer gets reallocated.

   + Fixed a couple bugs in the in_choice() function.

   + Tweaked some defines to appease purify.

   + Make sure that the "dfltcmd" pointer is initialized immediately
     when entering a group.

   + Fixed a couple RENAME() calls that weren't preceded by UNLINK().

   + Fixed a string-indexing bug in the uudecode code.

trn 4.0-test70 (1999/01/17):

  I'm making a fairly big change in test 70 (which is one reason why
  this release has taken so long -- I wanted to let it soak a while):
  trn now uses a single file to store all of its thread-related
  commands.  By default (and this is fully configurable) all thread
  commands will now be stored in ~/.trn/Kill/Threads.  Trn still knows
  how to read the old commands out of the normal kill files, so it will
  automatically convert from the old format to the new.  Trn also still
  knows how to write the old format, so if you don't like the new
  method you could define KILLTHREADS in your environment to be "none"
  (or empty) and trn will use the old method.

  The advantage of a single thread-related kill file is that your
  commands affect cross-posted threads in any of the groups you may be
  reading.  I also added a thread-aging value to each command so that
  they will only drop out of the file after 30 days of absence.  This
  makes it safer to use multiple news servers (with varying expire rates)
  since the old method dropped commands as soon as the affected articles
  were no longer seen in a particular group.

  While I was at it, I decided to make it possible to auto-select a
  single article (previously you could only auto-select a sub-thread).
  Just to be consistent, you can now auto-kill a single article too
  (though I don't know how useful that really is).  This has resulted
  in a user-visible change to the "T" command -- I made it so that
  the thread-affecting command letters use upper-case.  The commands
  that *changed* are:

   TJ -- junk the whole thread (used to be Tj).
   TC -- clear the whole thread of all auto commands (used to be Tc).
   Tc -- clear a sub-thread starting at this article (used to be TC).

  The new commands are:

   Tm -- mark this article for auto-selection.
   Tj -- junk this article.
   TK -- thread-kill just this subject (avoids killing subject changes).
   TS -- thread-select just this subject.

  If the "Tj" -> "TJ" change annoys you, you should be able to use a
  macro to map Tj into TJ.  ...I'll hopefully supply one here before I
  email this...

  NOTE:  If I didn't get around to incorporating your changes, either
  (1) they came too recently to affect this release, (2) I didn't have
  time to do anything about them, or (3) I have forgotten about them.
  Please feel free to bug me about it.

  Other changes:

   + The add-group selector now has the option of sorting the names
     into 3 orders:  the default ("natural") order, alphabetical
     order, and article count.  The (usually estimated) count of the
     articles currently in the group are now displayed in the addgroup
     selector.

   + The PGP sign command in Pnews now has the option of signing using
     any specified user name.

   + In all my kill-file changes, I decided to change the defines
     related to the AUTO_* flags and made all the functions that
     handle these flags more consistent.

   + Fixed a bug in the counting of newlines that were output in the
     in_char() prompt (only affects an x-mouse user).

   + Hopefully fixed maybe_set_color() so that it never tries to back
     up past the start of a buffer.

   + Twiddled some hash-initializing primes.

   + Applied some uudecode fixes that were submitted to me.

   + Made some changes to the environment-init code so that it can be
     used without "HOME" being set (it defaults to HOME=/).  In
     addition to general improvements, I made the laxness of the user
     ID check a command-line option so that the code in inews.c could
     use all of the routines in env.c (it used to have some duplicate
     code for the strict user ID check).

   + Improved the hash code to allow the hash-walking to return a value
     and conditionally delete the node we just visited (this makes it
     more efficient to only delete some of the nodes).

   + Fixed the -D1 (debug) option.

   + Fixed a bug in the overview-handling code that would crash if
     there are no references.

   + Fixed a bug in the overview-spinner that would miscount missing
     articles (NNTP only).

   + Fixed a bug in the handling of TRNINIT strings (they could get
     truncated to just the first switch).

trn 4.0-test69 (1998/09/20):

  Configure was changed to not ask about Tk (as per Cliff's age-old
  recommendation).  You can still define Tk support just like before
  (and re-running Configure won't turn it off), but you have to turn
  it on by editing the config.sh file at the moment.  Only re-run
  Configure if you feel like it.

  I've been meaning to release this patch for weeks now, since it
  contains a couple needed fixes for test68.  However, whenever I sat
  down to do it, I ended up trying to chase down elusive NNTP bugs,
  and running out of free time.  So, this release of trn has one bug
  fix related to growing groups when reading news via NNTP, but I
  doubt if it's fixed the one where the last-read article gets marked
  as read when the group grows (since I've not yet managed to duplicate
  it).

  Summary of changes:

   + An important "LIST ACTIVE group" fix for the bug in test68.

   + Finished up the support for older systems that only accept "LIST",
     but not "LIST ACTIVE".

   + Fixed a hang in the option selector when editing the default
     selector commands.

   + Included a fix in rt-process.c to avoid dereferencing a null
     references variable (are sites actually leaving references out
     of their overview files now?).

   + Fixed a bug in the switch processing where a trailing comment in
     the TRNINIT file could cause trn to index past the end of a buffer.

   + A minor change to mime.h to size the HTML arrays correctly.

   + Fixed one potential newsgroup growth problem where some NNTP
     connections could fail to add the new articles (due to "GROUP"
     not being called).  This didn't affect news sources that kept
     a local copy of the remote system's active file (which is how
     I usually had my NNTP connections configured).

   + The article reading code was fixed for systems that have unsigned
     characters.

   + access_def.SH changed to mention various news source options that
     were only mentioned in the sample access file.

   + Configure changed to remove prompt for Tk support.

trn 4.0-test68 (1998/08/30):

  One Configure change for AIX this time.  Re-run it if you'd like.

  I've been having fun enhancing some things (like the HTML renderer),
  as well as trying to fix a wide variety of bugs that have been
  reported (especially those that arrived with fixes).  I hope I
  covered most of what people have reported as being wrong, but since
  I haven't had the time to do a thorough review of my trn email, I've
  probably missed something or other.  There are at least a couple
  things I haven't been able to reproduce yet as well.

  So, if there are any problems or suggestions that you think I've
  missed, please bug me about them!

  Changes:

   + Fixed the sporadic bug that might cause a References line to
     be generated with garbage on it when doing a non-followup.

   + Fixed the display of invalid "NO NAME" authors in the unkill-
     thread selector.

   + Fixed the trnrc loading/saving of reverse selector orders.

   + Fixed the option-selector's ability to input reverse selector
     orders.

   + When 'intrp'ing the from-line with %>f or %)f, decode the from
     header before trying to parse it.  This can result in 8-bit
     characters, so trn/Pnews should probably be enhanced to
     (optionally) mime-encode the body of an article that contains
     8-bit characters.

   + The code no longer clears the screen when stopping in a selector --
     it just moves the cursor to the bottom of the screen.

   + Fixed the fuzzy groupname matching.  The code wasn't getting the
     right groupname length, so I modified the hash iterator function-
     calling syntax to supply the key-length.

   + The code should now never call maybe_set_color() when its in the
     header.

   + Fixed the output of del (0x7F) characters (they appear as "^?").

   + Color cited text even if the citation characters are indented.

   + Changed the internal hashing of the active and newsgroups files
     so that they don't need to use the listitem2listnum() function.

   + Changed the listitem2listnum() function to use universally-legal
     C.  This is slower than before, but the function isn't actually
     needed for anything any more, so this is OK.

   + Improved the HTML handling to be able to render <BLOCKQUOTE>
     (including TYPE=cite), <UL> & <OL> (including all TYPEs), <LI>,
     </P>, <DIV>, </DIV>, and <IMG ...> (an IMG tag only outputs
     "[Image]" at the moment).  The code also now knows to not render
     anything in a <STYLE>...</STYLE> block.

     These new tags meant that I had to make a bunch of changes to the
     buffer-reading code to allow the rendered text to be longer than
     the source text (previously the tags always made the HTML longer
     than the plain text).  There's still a bit more to do here (to
     ensure that we never overflow the html buffer), but it's OK for
     now.

   + Also changed the handling of literal newlines to not affect the
     HTML rendering outside of a <PRE> section.

   + Added a separate long-line wrapper to the HTML renderer, so that
     it always wraps non-PRE text (even if you've turned off the
     wrapping of pre-formatted text).  This was required to make the
     indentation tags (like BLOCKQUOTE, UL, and OL) output correctly.

   + Fixed a bug in the regular line-wrap code that might cause it to
     start the wrapped line with leftover whitespace.

   + Fixed a bug in the reading of an article where we might not
     finish decoding/filtering the data if we hit EOF unexpectedly.

   + Twiddled the trnrc sample file to anchor the %{TERM} regex
     matches.  I'm considering making the regex string default to
     being anchored.

   + Changed the handling of the trnrc "termcap" and "attribute"
     sections so that if it parses multiple sections, the definitions
     are merged together (which is the same handling as the other
     sections in the trnrc file).

   + Trn and nntplist now send just "LIST" to an NNTP server rather
     than "LIST ACTIVE".

   + Adding missing NNTP_FORCE_AUTH code to inews.

trn 4.0-test67 (1998/07/15):

  No Configure changes this time, so no need to re-run it.

  I haven't had much time to work on trn, but the word-wrap changes
  were causing problems with follow-ups, so I figured that I should
  release a fix for that sooner rather than later.

  Changes:

   + Fixed the follow-up/reply code to word-wrap using normal newlines.
     This avoids the corruption of the cited text introduced in test66.

   + Hide a text/x-vcard MIME section (thanks for the patch!).

   + Fixed a problem in artio.c where the mime lines were setting
     artbuf_pos incorrectly (the only effect of this was extra
     whitespace being output).

trn 4.0-test66 (1998/06/05):

  No Configure changes this time, so no need to re-run it.

  I've added the ability to set the color and/or attribute of cited
  text.  In order to do this right when trn is wrapping long lines, I
  had to change the way trn stores the text internally (to represent
  soft newlines differently from hard newlines).  I don't think I
  broke anything, but there is a chance that something in the pager
  could be adversely affected, so let me know if you see something
  strange.

  Changes:

   o  Added a text color/attribute mode for cited text (see the sample
      trnrc file for the new "cited text" setting).  Still to do:  make
      the set of characters that indicates a cited text line
      user-settable.

   o  Fixed a long-standing bug that would keep new groups from being
      added to a newsrc that was marked for "manual" additions.

   o  Tweaked the subject-line handling code so that it properly handles
      encoded subjects with Re: inside the encoded section.

   o  Removed the global force_authorization int and instead added flags
      in the nntplink struct to indicate if we need to force the auth
      info on the server.  If you're using an access file, add the
      setting "Force Auth = Yes" to the server that needs it.  If you're
      using a default news source, you can set NNTP_FORCE_AUTH=yes
      in your environment.

   o  In Rnmail.SH, if the dead.letter file is really a directory, the
      name is changed to be "dead.letter2".

   o  Makefile.SH was tweaked to make sure that the bin and doc directories
      exit (for people installing to places like /local/trn/{bin,lib,doc}.

   o  Added missing code to nntplist and trn-artchk to support using
      hostname:port in addition to hostname;port (the latter is only
      required if DECNET is defined in the code, which is not likely).

trn 4.0-test65 (1998/05/01):

  No Configure changes this time, so no need to re-run it.

  Changes:

   o  This is just a quick fix to handle a couple silly bugs that
      didn't get worked out of my new References-handling code.

trn 4.0-test64 (1998/04/30):

  No Configure changes this time, so no need to re-run it.

  Changes:

   o  Fixed quoted-printable decoding of the message body to not
      translate '_' to space as is required in header processing.

   o  Fixed a bug in the newsrc saving so that an unsubscribe followed
      by a news-source change doesn't forget the unsubscribe.

   o  Fixed a potential crash bug in the interp handling where I
      missed adding of check of the "cmd" ptr for NULL.

   o  Enhanced the processing of the references line to handle a
      really long string of references without truncating (and thus
      corrupting) the line.  The new code no longer tweaks the value
      of certain ill-formed references, since this is of debatable
      usefulness.

   o  When deleting bogus newsgroups, make sure that the main newsgroup
      pointers are pointing at valid groups.

   o  Fixed a bug in the overview handling for sites that return an
      overview file declaration with less than 9 fields.  The old
      code put a -1 into a uchar variable and was surprised when it
      did not compare as less than zero.

   o  I changed the uudecode name-parsing code to allow spaces in the
      file name, as suggested.

trn 4.0-test63 (1998/03/15):

  No Configure changes this time, so no need to re-run it.

  Some minor new features and a few bug fixes:

   o  Added an option to change the word-wrap setting.  You can now
      set how many characters you want in the right-hand margin or
      even turn it off.  Remember that you can also change this on
      a per-group basis by using the memorized commands (killfiles):

  	&Word-Wrap Margin=no
  	X&Word-Wrap Margin=8

   o  Enhanced the include directive in kill files to make it easier
      to specify the name of a file to include.  In addition to the
      existing filename syntax, if you specify a name that looks like
      a newsgroup trn will do the normal kill-file name transformation
      on it and open that file.  Thus, a line of "I alt.binaries"
      would look for "%p/alt/binaries/KILL" with the default setting,
      and "%+/Kill/alt.binaries" if you use my recommended setting.

   o  Instead of putting the current news source's auth_name and
      auth_pass into the environment for nntplist and trn-artchk to
      use when posting, I now write these items into a file that is
      only readable by the owner.  This is safer since some folks
      might be able to snoop the environment.  This also allows
      someone to use the programs such as nntplist and Pnews separate
      from trn (as long as the ~/.nntpauth file contains the user
      name on line 1, and the password on line 2).

   o  Made the 'R' (reverse order) command in the selector less temporary.

   o  The default definitions for the Pnews and Rnmail scripts that trn
      calls now specify the path of the binary install dir.  If you
      don't like this, you can change config.h.

   o  The function doshell() no longer exports the NNTP_FDS unless it
      is calling inews or a generic-auth program.  This should allow
      trn to use older Pnews programs.

   o  Fixed the newly-introducted bug in intrp.c that was keeping
      thread files from working (%W didn't expand when trn was looking
      for db.init).

   o  Fixed a couple bugs in the handling of the hidden headers data.

   o  Made the option-selector's input handler a little smarter when
      entering numbers.

   o  Added a new sort mode: lines order.

   o  Some of the sort-code functions could conceivably return weird
      results if ints are shorter than longs, so I fixed this.

   o  Fixed a typo in Policy_sh.SH.

trn 4.0-test62 (1998/02/21):

  I've made a small change to the Configure script that will cause
  it to remember if you answer "none" to the overview.fmt question.

  Here's some more bug-fixes:

   o  Fixed the just-broken display of the names associated with each
      thread (if someone's date header was bogus, we would display the
      originator's name twice).

   o  I now put the current news source's auth_name and auth_pass into
      the environment for nntplist and trn-artchk to use when posting.

   o  Finally remembered to make the overview.fmt definition a
      news-source-specific attribute.  The Configured version of this
      item only affects the default news source now, and there is an
      "Overview Format File" option in the access file to allow you to
      set this for local news sources.  The HelpFiles/sample/access
      and access.def files were updated with this new option.

   o  Fixed a bug where we might lose track of some bogus-article
      information gathered when reading the overview file.  This
      rarely causes problems, but our news server recently got some
      duplicate message IDs into the news spool, and this fix was
      needed to remember which articles were bogus.

   o  Changed a bit of code that some compilers couldn't handle (it
      was this:  *++(Uchar*)pattern ).

   o  Improved the nntp_next_art() code that is used when reading
      remote overview files.

   o  Fixed the just-broken case where extra periods could be displayed
      in an NNTP article.

   o  Some more boundschecker-improved code from John Hood.

   o  Improved set_toread() to not complain so much.

   o  Removed a bogus "(char)" cast in the reading of the newsrc.
      This gets rid of the crash when newsgroup names are over 255
      characters long.

   o  Fixed the crash bug that would occur if you didn't specify an
      NNTP host name or a local spool dir in your news-source definition
      (in the access file).

   o  Removed a couple debug checks from list.c.

trn 4.0-test61 (1998/01/26):

  Here's some more bug-fixes:

   o  Fixed the outputting of the last line of the article when it
      was line-wrapped or when it was broken up by HTML line-break
      tags.

   o  Improved the line-wrap code.

   o  Fixed a bug where /string/Kj would get saved as /string/+ in
      the selector.

   o  Fixed the handling of 0xA0 in the AT_NORM_CHAR() macro.

   o  Fixed a good number of questionable code bits that John Hood
      found by running boundschecker.  One fix gets rid of a case
      where memory was freed multiple times.

   o  Made some uudecode improvements that were submitted to me.
      A couple chunks that deal with line length aren't yet
      enabled, so I can consider their ramifications further.

   o  Fixed a bug in the unkill selector where search commands didn't
      work right.

   o  Allow x-uuencode MIME encoding to be treated like x-uue.

   o  Fixed the term-line position after outputting the hforhelp string.

   o  Keep around 10 articles in the NNTP cache instead of just 4.

   o  Applied the fix for nntp authorization where it needs to use
      doshell() instead of system().

   o  Use an integer boolean in rcln.c when dealing with isdigit().

   o  Commented out the corrupt xref checking code -- no one has
      corrupt xrefs these days.

   o  Mark a MIME-forwarded message as a message/rfc822.

   o  Fixed a bug in overview handling where gaps in a local overview
      file could cause the %-completed graph to be inaccurate.

   o  Added some extra code to the selector display to avoid showing
      '>' in front of a subject when the root article is unread (this
      used to happen if someone's date header was wrong, and it sorted
      in front of the root article).

   o  Temporarily set the keep-the-group-static flag when reading some
      article via the '#' command.

   o  Clear the mime_section html flags so that we don't start rendering
      an article with wrong state information.

   o  Optimized the checkexpired() function in rcln.c.

   o  Fixed the 'B' command so that it sets alinebeg and blinebeg
      correctly.

   o  Use "false" for an error-exit command in the Makefile.

   o  Fixed a couple references to strchr/strrchr that should have
      been index/rindex.

   o  Handle articles that don't end in a newline right in inews.

trn 4.0-test60 (1997/10/06):

  I've changed Configure to incorporate the suggested improvement
  to finding the termlibrar routines.  It looks like it won't hurt
  any systems where it currently succeeds.  Re-run it if you'd like
  to ensure that it still works OK on your system.

  This is just a bugfix release for some problems in test59.

  Changes:

   o  Fixed some of the overzealous uses of AT_GREY_SPACE() by
      adding a new maro, AT_NORM_CHAR().

   o  Finished unifying the compress_from() functions, removing a
      compile problem if the SCORE code wasn't included.

   o  Fixed a compile problem if the GENAUTH config option isn't
      defined.

   o  The mentioned Configure change.

trn 4.0-test59 (1997/10/04):

  I've reverted Configure back to the old method of finding the
  termcap library since the new version was causing problems.  There's
  no need to re-run Configure if you don't want to, though.

  If you've got the In-Reply-To or XHDR_BROKEN patches applied to
  your source, unapply them if you plan to upgrade using the patch.
  In the former case at least, the code included here is not the
  same as what I posted to the mailing list.

  Changes:

   o  The XHDR Broken fix that I posted to the mailing list is included.

   o  Added XDHR Broken to the sample access file (in the helpfiles).

   o  Pnews and Rnmail now handle 'P' as well as 'p' for selecting pgp.
      They both now accept 'q' & 'Q' for quit in addition to 'a'bort.
      Also added support for the "premail" mailer.

   o  The pager now refuses to output highbit characters control
      characters since these are often interpreted as normal control
      characters.

   o  Added word-wrapping of lines that go past the right column.
      Trn doesn't attempt to flow text into seamless paragraphs, it
      just improves the case where the text was going to wrap at
      some arbitrary point due to the right column, and makes the
      wrap point occur at a space (if possible).  I should probably
      change the handling of HTML to remove the existing newlines
      so that the code re-raps HTML text, but this hasn't been done
      yet.

   o  Improved the parsing of multi-line Content-Type headers
      inside of a multipart piece.

   o  We now understand the PRE tag and don't reformat its text.

   o  Changed all the HTML flags to use their own flag word (the MIME
      flag was getting full).

   o  Moved the overview file pointer and opened flag into the datasrc
      structure so that each news source has its own version.  We now
      attempt to re-open the overview file is a long period of time
      as elapsed since we first opened it.  This way if expire has
      run, we're not still trying to read yesterday's overview file.

   o  Improved the exporting of some variables that might be empty.
      For instance, NNTP_SERVER is now absent from the environment
      (instead of being empty) when you're accessing a local server.

   o  Added the In-Reply-To: header to the known headers, and allow
      it to be used if no References are present.  The references-
      parsing code is slightly improved to ignore junk typically
      include in the In-Reply-To header.  The current version of this
      patch is different from the last version I sent to the list.

   o  Inews no longer mangles line-leading '.'s when not using NNTP.

   o  Fixed the crash bugs reported in the newsgroup-search code
      and when catchup is used without a newsgroup.

   o  Try to be smarter about believing the size of a group last
      reported by active or GROUP.  If we just got this information,
      use it strictly.  If we got it a while back, allow the
      chased-xrefs to bump up the group's size.

   o  Doubled the size of the whereami/whereiam buffers.

   o  Unified a couple name-compression routines and updated the
      result.

trn 4.0-test58 (1997/05/14):

  I've updated Configure to try to make the finding of the
  termcap library better (thanks for the diffs!).  You don't
  HAVE to re-run it before you rebuild, but it would help me
  to test out the new code if you would.

  Changes:

   o  Fixed the nntp-link-in-use check that I changed in test 57.  The
      "NNTP_LIST_END" define is now a function, nntp_at_list_end().

   o  I've modified the code that used to strip out failing servers
      to just mark them with a flag as being bad.  Only the newsrc
      selector will ever un-set this flag (using Ctrl-N/P won't).
      Hopefully the code deals with this properly now.

   o  Update the cached copy of the active file more accurately -- we
      update the min field (safely), and set the max field even if the
      group got reset to a lower value.

   o  Fixed a bug in the newsrc selector that might crash if you use
      widely-varying group numbers (or more than 20).  This was a
      problem with calling the next_listitem() function without having
      the list in the right state.  Added some debug checks to
      next_listitem() and prev_listitem() to check for other places
      that might do this.

   o  Mkae sure that initlines is not larger than LINES when we INIT.

   o  Fixed the display in the selectors of newsrc groups with more
      than 2 items.

   o  Fixed a couple hint files (irix and mips) to specify the -B
      option to nm.

   o  Fixed an error check in inews to check for <= 0.

   o  Added a define, ALLBITS() to make it easier to test for multiple
      bits all being on.

   o  Changed the "plural" define to be upper-case.

trn 4.0-test57 (1997/04/27):

  I made some minor mods to Configure, but there's no need to re-run it
  unless you just like that sort of thing.  I have some enhancements
  to shared-library checks that didn't make it into this release.

  Changes:

   o  You can now specify "XHDR Broken = y" in the news server's
      definition in the access file.  This is useful for those
      INN sites that have a bug in their XHDR command.

   o  Fixed the adding of new groups via NNTP.  Took this opportunity
      to make the in-list flag separate for each nntp server.

   o  Display any MIME type of "message/*" as text.

   o  If the NNTP connection times out while posting and the NNTP
      server doesn't support the DATE command, trn will now properly
      restablish the conenction and post the article.

   o  Fixed the display of an empty group when using "\g group" in the
      newsgroup selector.

   o  If a case-sensitive search has the 'K' option specified, put the
      'c' option into the kill file.

   o  Tweaked the SUPERSEDEHEADER definition as suggested to make sure
      the Subject is identical.

   o  Updated the search routine to not overflow an internal buffer
      and to properly match certain strings with things like \b in
      them.  Previously ": .*\bfoo" would match any string.

   o  Configure can find the source even if you just type "Configure"
      (rather than "./Configure" or "../Configure").

   o  Pnews and Rnmail no longer auto-unsign a message -- just complain.

   o  Pnews now adds X-Newsreader rather than X-Newsposter.

   o  The Speller script has been revamped as suggested to fix its
      dissection and reassembly of an article.

   o  Trn now properly omits the single quotes when it exports the
      QUOTECHARS variable.

   o  Fixed the body/body-no-sig searching to start at the right offset
      when using a local newsspool.

   o  If searching the body and ignoring the signature (/search/b),
      the search only ignores only the last section of the file that
      begins with a '--' line.  Previously it ignored everything after
      the first such line.

   o  In certain circumstances, trn will now use the NNTP ARTICLE
      command rather than using HEAD followed by BODY.

   o  If the ID is left out of a [Group #] definition, ignore it
      (instead of crashing).

   o  Tweaked newsnews.SH so that it grabs the version from patchlevel.h.

trn 4.0-test56 (1997/03/02):

  ** You must re-run Configure.  "Configure -reds" is the least painful. **

  I have upgraded Configure to be generated by the latest metaconfig
  version (3.0PL70).  I have also attempted to fix one config problem
  that has been reported:  Configure was failing to find the curses
  library on a certain system.  I hope the solution is to looks for
  shared-library versions of curses and termcap, 'cuz that's what I
  added.

  Other Changes:

   o  Fixed some "make install" problems experienced by some folks
      using a separate object dir.

   o  Fixed the refetch of active files from multiple NNTP servers.

   o  Added the %V interp to report trn's version.

   o  Don't suggest using 'q' to the user when 'n' is a better choice.

   o  Fixed early exit from help selector's display of keyboard help.

   o  Changed the multipart forwarding code to avoid using a regular
      expression to find the MIME boundary -- I had no way to debug
      the failingn case on other people's systems so I decided to punt.

   o  Changed various .SH files to work with the new Configure.

   o  Changed makedepend.SH to have a separate, literally-extracted
      section like most of the other .SH files.  This makes it easier
      to make changes to the body of the script.

   o  Policy.sh now includes the install prefix.

trn 4.0-test55 (1997/02/27):

  (Configure has been minorly changed, but there is no need to run it
  again.)

  ***     ***     ***     ***     ***     ***     ***     ***     ***     ***
  *** If you're going to apply the patch, move the following files FIRST! ***

  mkdir HelpFiles
  mkdir HelpFiles/samples
  mv HINTS.TRN HelpFiles/hints
  mv NEW HelpFiles/changelog
  mv samples/access samples/trnrc HelpFiles/samples

  ***     ***     ***     ***     ***     ***     ***     ***     ***     ***

  I'm beginning to put together some on-line documentation for trn, so
  I've switched the 'h' command to run the help selector (which has the
  keyboard help in it -- press RETURN), while 'H' gives you keyboard
  help.

  Otherwise the main thing this patch fixes is the article-loops that
  didn't honor a sparse article-array.  I've also eliminated the
  arrays that the scoring code used to allocate and moved them into
  the article structure.  This means that trn should now be able to
  load a newsgroup with some huge article gaps without allocating tons
  of memory.  There are still some cases where trn will be forced to
  assume that all articles exist, however.  If you're accessing a
  group via NNTP, your server doesn't have the LISTGROUP command, and
  one of the following is true:  (1) you don't have any newsgroup
  database at all (thread file or overview file), (2) you're using a
  local overview file, or (3) you're using remote overview files
  without option -a (i.e. Background Threading is turned on) and the
  huge article gap is in the already-read part of the article
  numbers.  I recommend using the -a option with overview files unless
  you are getting them over an NNTP connection that is too slow.  If
  you're using a slow NNTP connection AND the server doesn't support
  LISTGROUP, you should think about using local thread files.

  While making the sparse data changes, I reordered some of the steps
  in processing the newsgroup data to keep the article data as sparse
  as possible without too much risk of losing data.

  If anyone notices any strange behavior with unread/existing articles
  or with -p (select "my" postings), let me know (and be sure to
  include a "\v" (version) output typed in a newsgroup selector of the
  news source that is behaving strangly).

  Other Changes:

   o  Pnews exit value tweaked (correctly this time) to work around a buggy
      bourne shell.

   o  Finally applied the fix for the decode bug where the name "unknown"
      was not remembered.

   o  If we're using an updatable local active file for a remote NNTP
      connection that supports "LIST ACTIVE group", we now update the
      local copy of the active file with the data obtained incrementally.
      This means that an update time of "999 days" for the local copy
      of the active file is now useful.

   o  If the newsrc has values that are too large for the newsgroup
      (by a certain margin), we ignore the entire line's values
      (like trn used to do).

   o  Force lastart to a known-correct value after we issue a GROUP
      command or read the newsgroup's directory (helps to overcome
      bogus newsrc data).

   o  Changed the 'h'elp command to start the help selector.  Use 'H'
      to see just the keyboard help (one of the options in the help
      selector).

   o  Added some interactive help files.

   o  Decided to call the old rn-newsgroup mode the "newsgroup browser".

   o  Removed the UNIV ifdefs -- it's not optional any more.

trn 4.0-test54 (1997/02/18):

  I've made a single-line change to Configure to tweak a message, so
  there's no need to re-run it.

  Other Changes:

   o  Pnews changed to have rescue exit using $exitval.

   o  Documented backtick in a couple help lists.

   o  Grep calls in Pnews/Rnmail don't try to use -q now.

   o  Pnews/Rnmail remove "$tmpart*" now (e.g. ~/.article.1234*).

   o  Pnews/Rnmail use a consistant header-ending check.

   o  Added ability to define POSTSAVER for saving postings in Pnews
      and REPLYSAVER for saving mail in Rnmail.

   o  Reverted to putting "trn" instead of "Pnews" in the X-Newsposter
      header since Pnews comes with trn.

   o  Extended the 'A' command (while reading news) to memorize global
      commands (press 'g') and/or search the from line (press 'f').
      This needs to be exercised more, but it appears to work OK so far.

   o  Fixed Score.pl to merge the global and local score "want"s.

   o  Fixed an inaccuracy in the INSTALL file and one in the
      filter.README.

   o  Minor twiddles to newsnews.SH and makedepend.SH.

trn 4.0-test53 (1997/02/04):

  !! Configure has changed !!

  You need to re-run configure (Configure -d will do) to run the checks
  for pgp and USE_WIFSTAT.

  Other Changes:

   o  Fixed the bug where having inline-image-viewing turned on might
      cause a decode while searching an article.

   o  Fixed MIME handling to make nested multiparts work again.

   o  Pnews and Rnmail enhanced to work properly if run concurrently
      with another instance of itself.  Note that this makes the
      tmp file used while posting (or mailing) have the pid in the
      name.  The file is moved to .article or .letter on exit.

   o  Pnews and Rnmail enhanced with improved pgp support.  They still
      only support the default (ugly) PGP encoding, however.

   o  Extended the number of digits allowed in a newsrc article number
      to 7 (from 6).

   o  HTML filtering now strips superfluous whitespace.

   o  The newsrc locking now lets you know when you're trying to use the
      same newsrc multiple times in your access file.

   o  Fixed the various places that treat invalid characters as spaces
      to use a new macro:  AT_GREY_SPACE().

   o  Slightly enhanced inews to stop parsing the headers at a line that
      only has whitespace on it.  Inews removes this superfluous whitespace
      as well.

   o  Minorly tweaked the "NEW" file -- nothing of note added, however.

   o  Configure enhanced to look for the pgp executable and to see if
      WEXITESTATUS is available.

trn 4.0-test52 (1997/01/20):

  !! Configure has changed !!

  You need to re-run configure (Configure -d will do) to guarantee that
  the new hostname-in-the-lockfile checking will work correctly.

  Yes, you heard me correctly hostname checking has finally made it into
  the lock files.  Not only that, but I've even moved the locking down a
  level to lock a specific newsrc rather than having a global trn-is-
  running lock.  This means that you can run trn multiple times as long
  as each copy is modifying a different newsrc (use the ~/.trn/access
  file and the newsrc selector for the easiest way to do this).  It does
  still use .rnlock to lock %./.newsrc (for backward compatibility) but
  even .rnlock has the hostname added to it in a manner that will cause
  old rn/trn binaries to work right.

  Other Changes:

   o  Fixed a bug in mime_DecodeArticle when decoding an image article
      (hopefully this works OK now).

   o  Fixed an endless-loop when trying to parse a filename past high-bit
      characters (contributed patch).

   o  Fixed the parsing of the MAILCAP environment variable to not
      complain about null elements (contributed patch + one line).

   o  You can access an NNTP server on a non-standard port number now
      without having to have it defined in /etc/services.

   o  Added support for hostname:portnum syntax in addition to the
      existing hostname;portnum syntax, but only if DECNET isn't
      defined.

   o  Added optional PGP handling to Pnews and Rnmail.  It doesn't
      use the new multipart/signed format (yet?), which is probably
      just as well.

   o  I've junked the .trn/recent file and instead switched to a
      ${NEWSRC}.info file.  This makes it easier to update if multiple
      trns are running and makes the definition of lastngname work
      right with multiple newsrcs.

   o  Fixed the call to grow the score array so that the new elements
      get initialized now.

   o  Improved the HTML processing code to make it more robust (it won't
      crash when a tag gets split across lines now).

   o  Made the HTML processing code understand BR and P tags.

   o  Text can even be base64 encoded now (yeesh!).

   o  From lines in the selector and all displayed headers while reading
      an article are now qp-decoded like subjects have been.  The character
      conversion process (type _C to change it) works right with the headers
      now too.

   o  In addition to displaying control chars as spaces in headers, I now
      do the same thing for chars 0x80 - 0x9F since they can sometimes be
      misinterpreted as control characters.

   o  Squashed a bug in the thread-file-reading code that might get the
      subjects linked wrong if a decoded quoted-printable subject ends
      up duplicating a non-encoded subject.

   o  Made Pnews depend on patchlevel.h in the Makefile.

   o  Changed the nl variable to be nlptr to avoid conflict with a nl()
      precompiler definition (there's too many buggy cpps out there).

   o  Fixed the newsreader help page that tells the user what '\' is
      good for.

   o  A few other misc. fixes.

trn 4.0-test51 (1997/01/16):

  Configure has not changed.

  I've made a lot of changes to the article display code which mainly
  affects (improves) how MIME articles are displayed.  There's also
  some minor changes in how trn resets the rot-13 flag ('x', 'X',
  and Ctrl-X) and the verbose article display ('v' or Ctrl-R).  The
  new code leaves the mode alone until the article changes, which
  causes the use of 'B' and 'b' at the end of an article to continue
  to page the article in the current verbose/rotated setting.

  Because of the large quantity of changes, keep an eye out for
  abnormal behavior.  I've done quite a bit of testing, but there
  may still be some glitches I didn't find.

  The improved MIME handling now decodes quoted-printable encoding on
  text messages, handles multipart/alternative, strips HTML tags from
  text/html messages (see biz.clarinet.webnews.* for some examples of
  these), and generally improves the internal handling of MIME article
  paging.  One affect of this is that follow-up and reply now cite the
  displayed text, not the raw text.  For instance: any quoted-printable
  encoding would have been decoded, only one part (the first part) of a
  multipart/alternative message would get quoted, binary parts would be
  abbreviated instead of their data being cited, etc.  Let me know how
  you like this change.

  Also, I decided to make a change to the forward-by-email command
  (Ctrl-F) so that the default now uses MIME multipart encapsulation.
  I.e. the following headers were added to the FORWARDHEADER
  definition:

  	Mime-Version: 1.0
  	Content-Type: multipart/mixed; boundary="=%$%#=--"

  Trn scans FORWARDHEADER to see if it contains a multipart/mixed
  Content-Type header.  If it does, it uses the specified boundary to
  encapsulate the article.  For instance:

  	To: wayne
  	Subject: an example
  	Mime-Version: 1.0
  	Content-Type: multipart/mixed; boundary="=934731=--"
  	Cc: 

  	--=934731=--
  	Content-Type: text/plain

  	[Replace this with your comments.]

  	--=934731=--
  	Original-Headers: here

  	Original Message here.

  	--=934731=----

  The default Content-Type for your comments is text/plain (as above)
  but can be overridden by specifying a FORWARDMSG that starts with
  the string "Content-" OR if it's empty it specifies that no header
  is needed.  If FORWARDMSG is the usual (old) style that starts with
  something like '----' it is ignored.  The FORWARDMSGEND variable has
  no function with MIME forwarding.

  If the multipart header is not there, the old wrapping of the
  message between FORWARDMSG and FORWARDMSGEND is used.  The default
  values of these two variables is unchanged, so you can get the old
  forwarding behavior by defining the FORWARDHEADER variable in an
  environment section of your .trn/trnrc file.

  Other Changes:

   o  Fixed a couple bugs in the handling of image articles
      (non-multipart packed).

   o  Fixed a bug in Pnews's handling of the "Cc:" header.  The fix
      is basically the same as the one-line fix I mailed to the list,
      but I took this opportunity to reformat a section of Pnews
      to the correct indentation level so the change is pretty big.

   o  Call res_init() in env.c if HAS_RES_INIT is defined.

   o  Fixed a bug in the handling of /pattern/Hheader interps where
      the ':' is missing.

   o  Fixed an endless loop that could occur when entering a large
      newsgroup with massive gaps.

   o  Fixed a memory leak in the MIME handler.

   o  When the scores array gets reallocated, initialize the new
      values to 0.

trn 4.0-test50 (1996/12/13):

  Configure has not changed.

  Changes:

   o  Fixed the inews-callback code to work properly without
      complaint and especially for local connections.

   o  Modified Pnews to call inews normally for a local posting.

trn 4.0-test49 (1996/12/12):

  ** Configure has changed! You need to re-run it to build this
     release.  Feel free to use "Configure -d" (to re-run it with
     the default answers) and avoid hitting all those returns.  **

  ** If you're applying the patch, move samples/hier_groups into
     samples/univ -- the patch won't do this for you (and Configure
     will complain if you don't). **

  ** Keep an eye out for any posting problems with the new Pnews/trn/inews
     posting support (see below). **

  Changes:

   o  Trn, Pnews, and inews have all been improved to allow trn to
      (finally!) share its NNTP connection for the POST command.
      If Pnews detects that it was called from trn 4 (via the
      TRN_VERSION environment variable which trn now exports) it
      will return exit status 42 to trn rather than calling inews.
      When this happens, trn knows to call inews directly (preserving
      the NNTP file handles) and inews will now honor (and properly
      handle) the file handles indicated in the NNTPFDS environment
      variable (PLUS it now falls back gracefully if values are set
      to bogus file handle values).  If you want to avoid the trn
      callback and have Pnews call inews directly it is easy enough
      to modify Pnews keep the $TRN_VERSION case statement from
      succeeding.

      ** This new callback should allow password-protected nntp servers
      to accept postings from trn now. **

   o  Configure now checks for sys/wait.h and "union wait" so that
      the doshell() script can return the actual exit value from a
      command (gotta be able to find that 42).

   o  Added a new function, nntp_next_art(), that will help the
      overview-file-reading code skip past gaps in the article
      numbers.  Combined with some code that tries to vary the
      size of the XOVER chunks based on actual detected network
      speed, this should make the entry into a newsgroup faster
      (Larry: try to enter "control" and see if it is fast now).

   o  Added a "$FAST_RNMAIL" variable to make the Rnmail script skip
      the "insert file" prompt.

   o  Pnews and Rnmail has been patched to exit on EOF at all prompts
      (hopefully).

   o  If trn is using a remote active file (no local copy) it sets
      the NEWSACTIVE export to "none" instead of "".  This makes
      trn-artchk (called from Pnews) work properly when it checks a
      group's validity.

   o  The commands 'F' and 'R' will mark an article as read if they
      are typed while in the article pager.  'f' and 'r' do not do
      this, however.

   o  Applied my posted patch to make sure that trn will use the right
      datasrc when recovering from a timed-out nntp server.

   o  Applied my posted patch that makes the newsgroup selector set the
      proper column widths when using a remote active file.

   o  Fixed the pressing of the mouse button at the [Press any key]
      prompt (macros were turned off, so mouse clicks were not being
      processed correctly).

   o  Fixed the turning off of the mouse (fixed the turn-it-off
      escape sequence).

   o  Added a missing #ifdef SUPPORT_NNTP to datasrc.c so that it will
      compile without nntp support turned on.

   o  Enhanced the password parsing in env.c so that it will still
      initialize a user's login name even if no real-name password
      support was compiled in.

   o  Pnews strips any existing X-Newsposter: header now.

trn 4.0-test48 (1996/12/03):

  No Configure changes in this release.

  ** If you've applied my util_init() UN-patch on test47, make sure
     that you don't let it re-patch init.c (just say no!). **

  ** If you applied my "thinking out loud" patch for -A, un-apply it.
     I did things differently in test48. **

  Changes:

   o  Finally fixed that pesky nntp-list problem that was bugging Larry.
      I had a bear of a time reproducing it, but when I finally did it
      turned out to be a long-standing problem in the closing of an
      article that wasn't fully read in (previously it might cause
      a file handle to get used after it was closed, but my latest
      article-caching code made the bug more visible by causing the
      nntp list-end detection code to crap out).  It's all fixed now.

   o  I've tweaked the Auto Arrow Macros option to make the old-style
      the norm (now called "regular") and the new-style an option (now
      called "alternate").  You'll need to hop into the option selector
      and pick the style you want after upgrading and do a 'S'ave
      (or manually edit your trnrc file).

   o  I've fixed the run-time setting of the Auto Arrow Macros by
      enhancing the code to allow calls other than just at startup.
      This means that you can play with the option without restarting
      trn.

   o  Unpatched init.c to put util_init() back in its old spot.  I also
      fixed the original problem in util.c to allow calls to doshell()
      before util_init() gets called.

   o  Applied Will's patch for tkinit (in support/tk) to respect
      $DOTDIR.

trn 4.0-test47 (1996/12/03):

  Configure has changed, but unless you are using Linux, you won't
  really need to re-run it.

  Changes:

   o  I've made some minor changes to the header-reading code while
      trying to guess what might be wrong with trn test46 on Larry's
      machine.  I doubt if any of these changes will fix things, but
      maybe I got lucky?
   o  Added some changes from perl 5 into metaconfig and regenerated
      Configure.  The main thing this fixes is that Linux systems with
      shared libraries that require the --dynamic option to *really*
      list the symbols in a library is now detected and supported.
   o  Fixed inews to report a failure to post.
   o  Moved util_init() sooner in the chain of initialization so that
      any call to doshell() (such as systems without mkdir()) will not
      crash.
   o  Fixed the option +hSlugword to work (previously you would have
      to say +hslugword (i.e. without any upper-case) to get it to
      work).
   o  Fixed the -s option to work like -s0 again.

trn 4.0-test46 (1996/11/01):

  Here's an assortment of patches that I've put together for trn 4.
  I haven't gotten any custom selector output code in place, but there
  are some needed bug fixes and some minor enhancements.

  I noticed that I had some tempfile droppings from trn in /tmp that
  should be getting cleaned -- is anyone else seeing seeing /tmp/trn*
  or /tmp/rrn* files lying around after running trn (NNTP version only)?
  This patch fixes this.

  While I was tweaking the code I decided to turn the rotating NNTP
  temp files (new in test45) into a real article cache.  This means
  that the last 4 articles fetched via NNTP will be read locally,
  making it faster to re-read articles (e.g. using '-' to jump between
  two articles).  To make this work I had to fix a long-standing
  fix-me mark in the header-parsing code (yea!) which makes sure that
  we don't refetch the header via NNTP if we already have a local copy
  of it.

  Other changes:

   o  Handle an "auth needed" (480) error on MODE READER (INN support).
   o  Make sure we output an error message if authentication fails
      (reference NNTP support).
   o  Indicate when restricted newsgroups are in effect on the
      newsgroup selector headline.
   o  Added an option to make 'o'nly mode default to non-empty groups
      (which would make 'O'nly mode the one that displays empties).  The
      option is:   Restriction Includes Empty Groups = yes
   o  Handle screen output for restricted newsgroup transitions better
      (turning 'o'nly mode on & off).
   o  Turned '\' in the selector into a "next input level" escape.
      Thus, the first '\' escapes a character from select-char
      parsing (even if its not in the SELECT_CHARS), and a second
      '\' would stop it from being seen as a selector command.
      For example, typing "\\O" in the newsgroup selector will
      run the 'O'nly command.
   o  Make sure that the newsgroup selector won't output a huge stream
      of spaces if it miscounts the longest newsgroup name.
   o  Make sure that the group prompt is set to the current newsgroup
      in the newsgroup selector (seen when using '\').
   o  Added some leading-newlines to error messages that needed them.
   o  Fixed some mis-labeled ART_POS casts.

trn 4.0-test45 (1996/10/20):

  ** Important trnrc/TRNINIT change **

  I've modified the rules that trn uses to parse the init files.
  Existing trn 4 users will have to twiddle their $TRNRC file (default
  ~/.trn/trnrc) to avoid having it process $TRNINIT.  To do this,
  simply add the line to your [Environment] section:

  	TRNINIT = ''

  Here's the way things work:  A user with just a $TRNINIT variable
  defined and no trnrc file will continue to use the old init method.
  When ey does a 'S'ave in the option selector for the first time, trn
  will warn em that the newly-created trnrc file will override the
  $TRNINIT variable.  It goes on to say that this can be overridden by
  removing/changing the above line (which trn adds automatically to
  new trnrc files).

  This gives you total control over the init phase and lets folks that
  like the old init files continue to use them for most things (you'll
  still have to use the option selector to set new things, like the
  mouse options and such).

  Other changes:

   o  Improved NNTP authentication by adding some new items to the
      ~/.trn/access file:

  	Auth Command = [Generic authentication command for host]
      or
  	Auth User = [User name]
  	Auth Password = [Password]

      At some point I'll make trn prompt for the user/password if
      they aren't specified, but it doesn't do that at the moment.

   o  Fixed a bug where trn might try to free a static string (in
      the "custom" header processing code).

   o  Applied the patch to fix the overview processing so that it
      doesn't reference a NULL string if no lines or bytes headers
      are present.

   o  Fixed the scopestr[] array to include 'b' and 'B' so that
      search commands that save themselves to the kill file work
      for all scopes.

   o  Fixed a bug in the NNTP startup code that might handle a
      return value as a timeout.

   o  Trn now saves the last 4 NNTP articles in temp files instead of
      just one (rotating through the same tmp file names).  This helps
      people that like to run commands on articles in the background.

   o  Applied the filter patch that improves the code that starts up the
      external filtering.  I also tweaked a few things in this area,
      such as having it ignore SIGINT so that it won't die when the
      user tries to halt something trn is doing.

   o  Finally changed the remaining strncasecmp() calls to strncaseEQ()
      so that people without strncasecmp() get the emulation calls
      (instead of a link error).

   o  Fixed the status bar when entering a newsgroup to finish the
      bar before going on to write out lines about the filter and
      score processing.

   o  Applied the patch that fixes Pnews to not infinite loop on EOF.
      Included a change that mentions the version of Pnews being used
      but changed it to properly indicate that it is the version of
      Pnews that is being reported, not trn.  I may remove this later.

   o  Fixed the loops in the selector code to not reference a NULL
      pointer when a selector is empty.

   o  Fixed the calls to makedir() to properly check the return value.

   o  Fixed some calls to signal() instead of sigset() and calls that
      used SIG_IGN instead of sigignore().

