		    NEW FEATURES OF RN 4.4.3
   o	Configure changes:  check for active.times (see new-group comments
	below), termios systems (see termios comments later on), and also
	ask if ORGANIZATION should be ignored.  This latter change allows
	systems that use the ORGANIZATION variable for their own purposes
	a chance to only use NEWSORG, thus allowing them to take advantage
	of the default if NEWSORG is undefined (without this, everyone who
	uses rn would _have_ to define NEWSORG to avoid the ORGANIZATION
	define).
   o	Pnews.SH: support ignoring of ORGANIZATION; echo --> $echo;
	cat --> $cat.
   o	Rnmail.SH: support ignoring of ORGANIZATION.
   o	Many files: I've change the parameters of any function trying to
	pass a character (including bool) into a type_int (e.g. char_int).
	This avoids errors for ANSI compilers that don't believe that the
	promoted argument type is valid (they try to pass a char as a char,
	without promoting it to an int, and complain about the old syntax).
   o	addng.c:  the new new-group-finding code is in here.  Optimized the
	writing/reading of newsgroup lists by using "w+" and rewinding the
	file.  If ACTIVE_TIMES is defined, the new function find_new_groups()
	uses the NEWGROUPS command (in NNTP) or the ACTIVE_TIMES file (in
	regular rn) to determine new groups.  If it's not defined, then the
	find_new_groups() function does the old method (using the code moved
	here from init.c).
   o	added the DEB_NNTP define to output some useful NNTP debugging info
	without having all information scroll by like it does with the NNTP
	clientlib's debugging turned on.
   o	I optimized a few of the sscanf's to use "%*d" to skip numbers
	that were being ignored, and removed the useless variables.
   o	art.c:  enhanced the Newsgroups-magic code to show the Newsgroups
	line if it doesn't match the current group.  I find this really
	useful for browsing through junk or seeing which articles have
	been redirected with C new's '=' directive.
   o	autosub.c:  reordered the include files to avoid a problem with
	ANSI compilers.
   o	bits.c:  fixed a bug in the instr() call in the !NORELAY section
	(the ", TRUE" was in the wrong place).
   o	common.h, etc:  if TERMIOS is defined, include termios.h and use
	some slightly different term functions.  Configure was smart enough
	to NOT set this for suns, and a few other systems that don't like it.
   o	common.h:  if __STDC__ is defined, turn on the ANSI() prototypes
	automatically.
   o	common.h:  nullstr[] = ""; actually generates a warning(!) on some
	weird compilers -- changed to nullstr[1] = "";.
   o	common.h:  "Can't recreate..." message is used in the .newnewsrc
	writing code.
   o	config.h.SH:  conditionalize the including of the config.sh file
	like the other .SH files do.  Also added the new Configure stuff.
   o	config.h.SH needs to have its RCS comment character changed to "# ".
   o	config.h.SH:  all the changes in the tail end are tab/space changes
	that force the code to look pretty in config.h no matter if it is
	preceded by a "#define" or a "/*#undef".
   o	final.c:  int_catcher() needs an int parameter to agree with ANSI
	compilers.  sig_catcher() had an assumed int parameter warning.
   o	init.c:  more new-group changes (i.e. it calls find_new_groups(),
	and the old new-group code was moved to addng.c).
   o	intrp.c:  changes to support ignoring ORGANIZATION.  A slight tweak
	allows the organization file not not end in a newline.
   o	intrp.c:  moved the tmpbuf[] into the #ifdefs where it is used (to
	avoid an "unused" warning.  In the process, discovered a bug in the
	non-BSD code that tries to copy an uninitialized (now undefined) tmpbuf
	into buf (when it should be copying 's').
   o	last.c:  extended the contents of .rnlast to support the new-group
	code.  Handles reading the old .rnlast style gracefully.
   o	ng.c:  reset the value of extractdest and extractprog when entering
	a newsgroup.  This allows someone to set SAVEDIR to a roving value
	(like %c) and have an 'e' in group1 not affect an 'e' in group2.
	Within the group, each 'e' command will repeat the last destination
	and program if no parameters are used.
   o	ng.c:  note the values returned by the GROUP command in rrn so that
	we can add new articles that came in since our last fetch of the
	active file.  I've upgraded the ngmax[] array to non-debug status,
	and now use it to keep the group's maximum value (like abs1st[]
	does for the minimum).  This allows getngsize() to return a value
	higher than what is contained in the active file copy, and also
	to fetch a new copy of the active file if enough time has elapsed
	since our last fetch.
   o	ng.c:  fixed forcelast to get cleared before processing a command,
	and to get set on '-' just in case it goes to the end of the group.
   o	ng.c:  fixed some indent problems.
   o	ngdata.c:  added the lastactfetch variable (rrn) to keep track of
	when the active file copy was last fetched.
   o	ngdata.c:  getngsize() uses the value in ngmax[] to override the
	high active-file-copy value.  If ngmax[] is bigger and enough time
	has gone by, a new copy of the active file is fetched.
   o	ngdata.c:  more indent tweaks.
   o	ngdata.c:  fixed a1st to be a long (it might have been int or long,
	and sscanf() was expecting an int), and added "last" to sscanf the
	high newsgroup value at the same time abs1st is being set.  Fixed
	a problem with the sscanf being executed if the NNTP command failed.
   o	ngdata.c:  minor tweak to the "notdef" comment to make it accurate.
   o	ngdata.h:  MINFETCHTIME is set for 5 minutes before another active
	fetch is allowed.
   o	rcln.c:  minor optimization to remove tmpp; removed #ifdef DEBUGGING
	around the ngmax[] array; put \n's before the bogus newsgroup
	warnings.
   o	Allow some slack in the "newsgroup was reset" check to allow for the
	interaction of the ngmax[] array setting a high value in .newsrc
	that a cached version of the active file doesn't reflect yet (can
	happen when starting up rn in some rare cases).
   o	rcstuff.c:  broke out the code that parses the newsrc line into the
	function parse_rcline().  This allows the addition of a new function,
	abandon_ng() that restores the startup values for the current group
	from the .oldnewsrc file (bound to the 'A' command at the newsgroup
	level).
   o	rcstuff.c:  made addnewbydefault a global variable so that it could
	be reset by the 'a' command.  Without this, typing 'N' during the
	startup code would render the 'a' command useless, since all the
	groups you might want to add get an immediate 'n'o answer.
   o	rcstuff.c:  the "if (mode == 'i')" check is needed to keep the
	new-newsgroup-finding code sane.
   o	rcstuff.c:  I changed the code to add groups with a space after
	the ":" or "!".  It's not really required, but it avoids having the
	construct "group!187,193" show up in your .newsrc file when cross-
	posted articles are marked as read for unsubscribed groups.
   o	rcstuff.c:  the .newnewsrc-writing code uses the "cantrecreate"
	message from common.h, and the comments and indentation are fixed,
	as well as one extra ferror() check added.
   o	rcstuff.c:  the newsrc-array-growing code now zeros the ngnum array.
   o	respond.c: moved a negation used with strlen() to avoid problems if
	strlen() is declared to be unsigned.
   o    respond.c: changed the behavior of the 'f' command to ask the
	user if it is an unrelated topic.
   o	rn.c:  added the "direction" flag that makes the 'p' and 'P' command
	work in all circumstances.  Without this, if you have a restriction
	enabled and an empty non-matching group in the way, it won't backup
	at all (and might even go forward!).
   o	rn.c:  your change for outputting the prompt later in the game allows
	for the removal of the reprompt_newsgroup label with the moving of
	the dfltcmd initialization also.
   o	rn.c:  when rrn visits the end of the newsgroups prompt, it will
	fetch a new copy of the active file if enough time has elapsed.
   o	rn.c:  changed the "not found" prompt to mention the 'a' command
	(which is much more useful than 'g' alone).  Made 'g's error
	message a little more clear too.
   o	rn.c:  more indentation twiddles.
   o	rn.c:  removed the check for ' ' from the catchup code, because it's
	getting changed into the default command by setdef().
   o	rn.c:  added the 'A' command to abandon the current newsgroup's
	changes back to the startup state (which is contained in .oldnewsrc).
   o	rn.c:  have the 'a' command reset addnewbydefault to 0.
   o	term.c:  renamed ospeed "outspeed" so that it doesn't conflict with
	some weird system's polution of the name space.
   o	term.c:  support for the termios systems added.
   o	term.c:  winch_catcher() needed an int parameter for ANSI systems.
   o	util.c:  reorganized a couple returns to avoid warnings about not
	returning a value in a function.
   o	Configure now knows about DG Avion.

		    NEW FEATURES OF RN 4.4.2 vs RN 4.4
New % interpolation
	%E		the last directory to which extracted files were
			placed.

Configure improvements
	Configure knows about AIX and can build a version of rn that works
	correctly on AIX.
	Configure is generally smarter about getting symbols out of various
	type of archive files.
	The server.h include file is now generated outside of Configure via
	server.h.SH shell script.

General improvements
	rn no longer incorrectly interprets a . in a header line as a meta-
	character.
	The memory management in the newrc array managment code is now much
	better.

		    NEW FEATURES OF RN 4.4 vs RN 4.3

New or modified commands
	e		extract a shar or uuencoded file. (article level)
	g number	g command will go to a newsgroup by number where the
			the number corresponds to that used in the list 
			supplied by the 'L' command. (newsgroup level)
	z		supersede an article (article level)

New magic (use +H to turn them off)
	-Hfrom		displays only the commented portion of the user name.

New environment variables
	AUTOSUBSCRIBE	newsgroup pattern for groups to automatically
			subscribe to when found. Groups not matching
			are presented to the user via the usual
			subscription prompts.
	AUTOUNSUBSCRIBE newsgroup pattern for groups to not subscribe to.
			Groups matching this pattern are not subsribed to.
	EXSAVER		shell command that starts an extraction.
	UNSHAR		the unshar program to use (default /bin/sh).
	REPLYTO		the value to use for the "Reply-To:" header, if
			needed.
	NEWSORG		Same as ORGANIZATION. Used for those sites that
			need ORGANIZATION for other purposes (Apollos).
	SUPERSEDEHEADER The header format to use for a 'z' command.
New % interpolations
	%#		keeps an incremental count during a multi-file save,
			extract, etc.  ":s part.%#"
	%e		the last command executed to extract an article.

Configure improvements
	Now uses nm to read contents of libc. ar is used if nm fails.
	Configure also provides the option of editing config.sh before
	config.h and all the shell scripts are created.
	Configure stores the origanization name in double quotes in
	config.sh. This avoids a problem with organization names that
	have single quotes in them (i.e. many French and Canadian 
	organizations).
	Configure now knows about RISC/os, Stardents and uts environments.

General improvements
	Makes use of POSIX capabilities if present.
	ANSI C Compatible
	Hostname may be read in from a file instead of using system calls.
	ClariNet news headers are now recognized by rn. All header operations
	can be done on those headers.
	rn will dynamically allocate its structures to cope with any number
	of newsgroups in .newsrc or the active file.
	MMDF is now officially supported as a mail transfer agent.
	
Miscellaneous
	When GETPWENT it defined and an invalid userid is used, an 
	error message is returned. Previously, rn would core dump.

	The newsgroups script now knows how to deal with "bogus" newsgroups.
	[These are groups in the active files marked with status 'x'.]
	
	If there is no news on rn startup and the user enters a "g" at
	the newsgroup level, the program will now correctly note that
	no newsgroup name has been entered and reprompt.

	Hostnames are now checked without respect to upper/lower case.
	This fixes a problem with the cancel command (academ.COM != academ.com
	before the fix).

	The NEWSADMIN code was buggy and often didn't work correctly.
	This has been fixed.

	%P is used to find a place for rrn to create active and article
	files. Previously, /tmp was hardcoded in most places.

	newsgroups would not remove the active file copy it made when 
	used via NNTP. Now it does remove this copy when it exits.

	Corrected some null pointer problems in the search code. Specifically,
	entering entering / or ? when there was no previous search pattern
	would cause a core dump. Now, it tells the user there there is
	no previous pattern.

	rrn now exits and leaves the terminal in a usable state when a
	server timeout occurs.

	rrn now supports the longest lines allowed by the NNTP RFC.
	
	rn will try to preseve permissions on .newsrc when it recreates
	it. Previously, it didn't do this.

	rn deals with NFS timeouts better. If the active file (on an NFS
	mounted partition) goes away, rn shuts down gracefully now.

	

