[296] in linux-announce channel archive

home help back first fref pref prev next nref lref last post

XRN 7.01 released

daemon@ATHENA.MIT.EDU (Lars Wirzenius)
Mon Mar 13 13:45:44 1995

Date: Mon, 13 Mar 1995 11:55:27 +0200
From: Lars Wirzenius <wirzeniu@cc.helsinki.fi>
To: linux-activists@niksula.hut.fi, linux-announce@vger.rutgers.edu

X-Mn-Key: announce

From: Jonathan Kamens <jik@annex-1-slip-jik.cam.ov.com>
Newsgroups: comp.os.linux.announce
Reply-To: bug-xrn@cam.ov.com
Subject: XRN 7.01 released
Keywords:       X, Usenet, News
Organization: ?
Approved: linux-announce@news.ornl.gov (Lars Wirzenius)
Followup-to: comp.os.linux.x

[NOTE: Because comp.os.linux.announce and comp.windows.x.announce are
moderated and articles in them are approved separately, this message
unfortunately is being posted in essentially identical form three
separate times -- once to comp.os.linux.announce, once to
comp.windows.x.announce, and once to both comp.windows.x.apps and
news.software.readers.  I apologize if you see the message more than
once.]

Version 7.01 of XRN, an X News Reader, has been released.  Source code
is available in the following locations:

	<URL:ftp://ftp.x.org/contrib/applications/xrn/xrn-7.01.tgz>
	<URL:ftp://ftp.cam.ov.com/pub/xrn/xrn.tgz>

Source code should also soon be available in comp.sources.x.  A binary
distribution for Linux is available in the following locations:

	<URL:ftp://ftp.x.org/contrib/applications/xrn/xrn-linux.tgz>
	<URL:ftp://ftp.cam.ov.com/pub/xrn/xrn-linux.tgz>

These are gzipped GNU tar files.

Below, you will find the README file for this XRN release, a list of
changes (extracted from the ChangeLog file in the source distribution)
since the last release, and the Linux Software Map (LSM) entry for the
Linux distribution of the program.

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

			     What is XRN?

  XRN is a Usenet News reader for the X window system.  It requires an
NNTP server to talk to (i.e., it cannot read news from local disk
files), and the NNTP server must support the XHDR command (most
servers nowadays do; if yours doesn't, XRN will complain when you try
to run it).

  Versions of XRN prior to 7.00 were maintained by Ellen Santovich and
Rick Spickelmier.  XRN is currently maintained by Jonathan Kamens.
But reports or comments about it should be sent to bug-xrn@cam.ov.com.
Please do *not* write to that address with basic questions about
compiling the program; if you are unfamiliar with compiling X
applications and the instructions below are not sufficient, you should
seek help at your site.


			   Where to get XRN

  The source code for the most recent production release of XRN can
always be retrieved from <URL:ftp://ftp.cam.ov.com/pub/xrn/xrn.tgz>.
The most recent beta-test release of XRN (if there is a beta release
more recent than the last production release) can always be retrieved
from <URL:ftp://ftp.cam.ov.com/pub/xrn/beta.tgz>.  the file
<URL:ftp://ftp.cam.ov.com/pub/xrn/xrn-linux.tgz> contains a binary XRN
release for Linux, based on the current production or beta release,
whichever is more recent.  These files are GNU tar archives compressed
with GNU zip.

  The current production release and the current Linux binary release
are also available in the X Consortium's contributed software archive,
in the directory <ftp://ftp.x.org/contrib/applications/xrn>.

  Current production-release XRN source code is also available (or
will be soon, if it isn't already) in archives of the comp.sources.x
newsgroup.


	      Interesting files in the XRN distribution

  There are a number of files in the XRN distribution besides the
actual source files for the program.  I maintain some of these files
actively.  Others are left over from before I started maintaining XRN,
and I have not reviewed them for correctness or updated them; use the
information in them at your own risk.  In the following list,
asterisks indicate files which I have tried to keep up-to-date (this
more files may be updated in future releases, especially if people
send me feedback about the out-of-date ones):

COMMON-PROBLMS		A list of common problems and questions about
			the program, with explanations and solutions.
COPYRIGHT		Describes the copyright restrictions on XRN.
			I have left the University of California
			copyright intact, despite the fact that it's
			not clear at this point how much of the code
			was actually written by UC employees, because
			that's the easiest thing to do and it doesn't
			do any harm.
* ChangeLog		A list of changes from previous releases of
			XRN.
* README		This file.
* TODO			A list of pending bug fixes and improvements
			to XRN.  If you're interested in helping to
			develop XRN, picking one of the items in this
			list and digging around in the source code to
			see what you can do about it is a good way to
			start.

			This file is sort of "half up-to-date,"
			because I've been adding new items to the
			beginning of it, but the items at the end of
			it are left over from before I took over
			maintenance of XRN, and some of them may be
			inaccurate.
Xresources.sam		A sample of how you might customize XRN in
			your own X resources.
contrib/*		Various scripts, hints, etc. contributed by
			XRN users and not "officially" part of XRN.
* doc/rfc977.txt	The Internet RFC governing NNTP, the Network
			News Transport Protocol, which XRN users to
			talk to the server.
* doc/strtok.doc	Documentation of the strtok() implementation
			included with XRN.
* doc/vprintf.doc	Documentation for the vprintf() implementation
			included with XRN.
* doc/vprintf.port	The original vprintf() implementation from
			which the one used in XRN is derived.
still-to-do/*		Various bug fixes that have not yet been
			examined or incorporated into the program.
			Some of these are probably obsolete.  I
			inherited them when I took over maintenance
			of the program, and I haven't done anything
			with them.


		      Supported/tested platforms

  XRN has been compiled and run on a large variety of platforms; it
should compile pretty easily on most platforms.  The maintainer uses
SunOS 4.1.3, gcc 2.4.5, and X11R5 libraries.  Other successful
platforms reported by users include OSF/1, HP-UX, AIX, Solaris 2.x,
BSD/386, Linux, and SGI.

  Rick Murphy <murphy@ufp.dco.dec.com> has a version of XRN that runs
on VMS, available as <ftp://gatekeeper.dec.com/pub/DEC/dxrn.tar.Z>.
His version of XRN also will compile with a DECwindows interface on
UNIX, as well as with a Motif interface with some "bells and whistles"
that this version of XRN does not have.  Integrating DXRN into the
code base of XRN (i.e., this package) is on my TODO list, but I doubt
it'll get done in the short term.


		What happened to the Motif interface?

  Previous versions of XRN, up to and including version 7.00, included
support for building XRN with Motif instead of the Athena widget set
("Xaw").  However, the Motif support has been removed (temporarily, I
hope) in 7.01.  There are two primary reasons for this:

1) The implementation of Motif support was not parallel to the Xaw
   implementation.  As a result, the Motif interface behaved
   differently (and in some cases incorrectly) from the Xaw interface,
   and furthermore, it was extremely difficult to keep the Motif
   interface in sync with the Xaw interface when changes were made.

2) Release 7.01 of XRN includes, among other things, a significantly
   clean-up of the XRN code base.  This clean-up was necessary in
   order to introduce much of the new functionality that is included
   in release 7.01.  It was also necessary because, to be honest, the
   code base was disgusting.  The bits of Motif code scattered all
   over the XRN code base were making it virtually impossible to do
   the code clean-up, so they had to be removed.

I hope to eventually put Motif support back into XRN.  To that end, I
am in the process of encapsulating all calls to Xaw in a small number
of files, so that only those files will have to be modified in order
to support Motif (or, for that matter, any other widget set).
However, considering that the Xaw interface works just fine (even if
some people do think it's ugly), and that there is significant
functionality still waiting on the TODO list, it is unlikely that the
Motif interface will be put back in the near future.  It would help a
lot for someone with extensive Motif programming experience to
volunteer to implement and maintain the Motif interface.

  If you *must* have a Motif interface, XRN release 7.00 is available
in <URL:ftp://ftp.cam.ov.com/pub/xrn/unsupported/xrn-motif.tgz>.
However, release 7.00 is unspported, and I will reject any bug reports
or enhancement requests pertaining to it.  I do not recommend that you
use XRN 7.00.


		     Compiling and installing XRN

  The following steps are necessary in order to compile and install
XRN.  The last few steps are the standard method for compiling and
installing an X program; if you need more help with them, you should
look for it at your site.

1. Edit the Imakefile (after making it writeable with chmod) for your
   local configuration.  The comments in the file explain what needs
   to be edited.  Pay particular attention to "INN", which enables and
   support for InterNetNews (INN).

2. Edit config.h (after making it writeable with chmod) for your local
   configuration.  The file is (sort of) arranged from most
   significant to least significant parameters, so if you get part-way
   through it and start to feel like you can just leave the rest
   as-is, you probably can.

   If you don't define a parameter that needs to be defined, you'll
   get an error during compilation.

   Make sure to delete the "#error" line near the top of config.h when
   you're done editing it for your local configuration.  That line is
   there to prevent you from trying to compile the program without
   configuring it first.  Do NOT define OV_CAMBRIDGE when compiling
   the program -- I use that symbol for my local configuration so that
   I can ship the same config.h as the one I use, so if you define it,
   you'll end up getting the configuration that I use locally (which
   is certainly not what you want).

   If you want to put all of your configuration paramaters in the
   SITE_DEFINES variable in the Imakefile, you can do that instead of
   editing config.h.  However, if you do that, make sure to put
   "-DCONFIG_H_IS_OK" in SITE_DEFINES.

3. Run "xmkmf" and then "make".

   If you don't have xmkmf at your site, or if it doesn't work or
   produces a Makefile that doesn't work, you can try configuring by
   hand, by editing the Makefile included in the distribution (note
   that if you ran xmkmf, it probably renamed the distributed Makefile
   to Makefile.bak).  It's generated using xmkmf at my site, and
   almost certainly will require editing to be correct for yours.  If
   you have to do this and you have trouble, please get help from
   someone at your site rather than contacting me about it; I don't
   have time to support sites that don't have xmkmf installed
   properly.

   If you get an error about a missing header file "mesg_strings.h"
   when you run "make", then run "make mesg_strings.h" and then run
   "make" again.

4. Run "make install" to install the program and its application
   defaults file, and/or "make install.man" to install the man page.

   Note that XRN will not run correctly without its application
   defaults file installed.


		       If you have problems...

  If you have problems compiling or running XRN, you should check the
COMMON-PROBLMS file in the XRN distribution to see if your problem is
documented there.  If not, send E-mail to bug-xrn@cam.ov.com for
assistance.

  If you write to me about a problem which is documented in
COMMON-PROBLMS, and I do not see any sign that you have read it, then
I *will* response tersely, telling you to read it before contacting
me.  In short, please don't waste my time asking me how to solve
problems whose solutions are already documented.


			 The XRN mailing list

  If you would like to be informed of new releases of XRN and of any
major bugs that are discovered in between releases, you can subscribe
to the xrn-users@cam.ov.com mailing list.  It's an announcement list,
not a discussion list, so the traffic on it is very low.  If you're
interested, send mail to xrn-users-request@cam.ov.com and ask to be
added to the list.



I hope you find XRN useful!

  Jonathan Kamens
  jik@cam.ov.com

# $Id: README,v 1.40 1995/03/03 15:07:45 jik Exp $

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

Fri Mar  3 15:08:37 1995  Jonathan Kamens  <jik@annex-1-slip-jik.cam.ov.com>

	* Significant user-visible changes in XRN 7.01:

	Clicking on "List Old" in article mode no longer results in a
	large number of error messages about unavailable articles.  This
	problem was originally reported by Konstantin Laufer
	<laufer@math.luc.edu>.

	The main window is now mapped before connecting to the NNTP
	server, rather than afterwards.  This allows messages about
	problems connecting to the server and about reading or writing to
	the .newsrc file to be displayed in the Information window instead
	of as text in the window from which XRN was started.  Furthermore,
	this allows X-based interaction with the user, before the NNTP
	connection has been established, if necessary.  Finally, this
	allows messages about the status of the connection to the NNTP
	server to be displayed in the top information line in the XRN
	window.

	Article "Lines:" fields which start with extra whitespace are now
	parsed properly.  This problem was originally reported by
	dstarks@rc.tudelft.nl (D. Starks-Browning).

	The Information window has been cleaned up sigificantly: (1) Some
	messages in the Information window which used to be displayed on
	two lines are now displayed on a single line.  (2) Rather than
	displaying the entire date before each message, display just the
	current time.  The day of the week, current date and year are
	useless and take up space.  (3) Rather than resetting the entire
	contents of the window each time a new message is added, just
	append the new message.  This is a significant improvement when
	XRN is being run over a slow network (e.g., SLIP).  (4) Don't
	limit the amount of text in the window.  (5) Add a "Clear" button
	to erase the contents of the window without dismissing it.

	An erroneous "Article not available" message when doing "Subject
	search" in article mode has been fixed.

	In article mode, the Subject index is now displayed and sorted
	properly when the number of digits in the article numbers of
	listed articles is not constant (e.g., when the displayed articles
	range from 9990 to 10010).

	The watchUnread command-line option/X resource now takes a list of
	regular expressions rather than a list of newsgroup names.  The
	list of regular expressions can be separated by spaces, tabs,
	newlines and/or commas.

	In article mode, the status message in the bottom information line
	has been made more terse, so that information in it gets cut off
	less frequently.

	This bug is now fixed: "If I press the <Prev> button when I'm
	reading the first article in a newsgroup, I have to press <Next>
	twice before I get the next article.  Pressing <Prev> more than
	once have exactly the same effect."  Problem reported by
	sturle.sunde@usit.uio.no (Sturle Sunde)."

	XRN is now mostly internationalized; the supported languages are
	currently English and German.  Most of the internationalization
	work was done by kay@zhv.basf-ag.de (Kay Marquardt).

	The verboseKill command-line option/X resource is no longer a
	boolean.  Instead, it is a string containing zero or more of 'j',
	'm' and 's', to tell XRN which KILL messages the user wants to
	see.  For more information, see the man page.

	The NNTP AUTHINFO GENERIC protocol is now supported.  Changes from
	"chris (c.r.) lewis" <clewis@bnr.ca>, with some cleanup by me.

	The rescanOnEnter command-line option/X resource has been added.
	When true, XRN checks for new articles whenever entering a
	newsgroup, rather than only when rescanning all newsgroups.

	A file descriptor leak which could make XRN eventually
	unable to reconnect to the NNTP server if it ran for a long time
	has been fixed.

	When saving a message in an MX or RMAIL folder, an error is now
	displayed if the save fails, rather than just saying "done".

	In article mode, "Next group" now does the right thing even when
	"List old" was previously selected in newsgroup mode.  Previously,
	"Next group" would attempt to enter groups without unread articles
	and display lots of messages.

	In article mode, "Fed up" now finds the next group, rather than
	exiting into newsgroup mode, when "List old" has been selected in
	newsgroup mode.

	When verifying a message before sending it, check if there are
	duplicate fields that aren't allowed to be duplicated, and display
	an error message and refuse to send the message if there are.

	Don't truncate Subject lines unnecessarily when adding entries to
	KILL files.

	When adding an entry to a KILL file, quote special characters
	instead of replacing them with '.'.  This produces more accurate
	KILL file entries.

	The method by which the current position in the newsgroup index is
	stored in newsgroup mode has been completely reworked, to fix a
	large number of bugs with cursor positioning in newsgroup mode.

	Numerous changes related to prefetching: (1) The newsgroup index
	is now redrawn when we're done prefetching a newsgroup, because
	prefetching can change the index's contents.  (2) When XRN is
	prefetching a gropu and it discovers that the group has no unread
	articles in it, it immediately initiates a prefetch of the next
	group.  This means that once prefetching starts, it will continue
	until it finds a group with unread articles in it.  (3) XRN now
	displays messages in the top information line about the progress
	of prefetching and of processing KILL files.  (4) Previously, XRN
	would not prefetch the next group when a group was entered with
	"Goto group".  This restriction is now unnecessary and has been
	removed.  (5) Prefetching and KILL-file processing has been broken
	up into small chunks, the size of which are adjusted dynamically
	to prevent significant delays during prefetching.  (6) Newsgroup
	mode now prefetches the current group automatically whenever the
	current group changes.  This means, among other things, that a
	newsgroup will be prefetched immediately when XRN starts up and
	when the user rescans.  (7) Because prefetching is now much more
	efficient, prefetchMax has been set to 0 by default, i.e., by
	default, there is no size limit on which newsgroups can be
	prefetched.  (8) XRN now keeps track of whether it's talking to a
	"fast" NNTP server, and only prefetches articles in article mode
	if we are.

	XRN now keeps track of which articles have been KILLed (in the
	current XRN session only), so that the same article won't have
	KILL files run on it twice in a single XRN session.  XRN still
	doesn't update THRU in the KILL files, though. 

	The handling of host names that appear in messages posted and
	mailed by the user has been changed somewhat.  The most noticeable
	effect of this change is that the real host from which the user is
	posting is now more likely to appear in the header of a posted
	message.

	Automatic periodic rescanning is now disabled by default.  See the
	documentation for the rescanTime option in the man page for
	information on how to enable it.

	Fixed a number of bugs in "List old" in article mode, including:
	(1) If you've read articles first through n-1 and n+1 through last
	in a newsgroup, and you entered the newsgroup so that you're
	viewing only article n, and you click on "List old", it will list
	only articles first through n, and not n+1 through list. (2) when
	you click on "List old", the current article is changed to the
	first article in the newsgroup.  That shouldn't happen.  It should
	list old articles but leave you on the same article you were on
	before.

	When XRN can't connect to the NNTP server, instead of looping
	forever as it used to, it displays a dialog and asks the user
	whether or not it should continue trying or exit.

	When an error is returned by the NNTP server in response to an
	attempt by XRN to post a message, XRN now states explicitly that
	it is an error from the NNTP server rather than a local error.
	This is useful if, e.g., the NNTP server's disk is full and it
	displays "No space left on device", which the user might wrongly
	interpret as an error about a local disk being full.

	Articles are now marked saved properly when they are saved in MH
	or RMAIL folders, in addition to when they're saved in plain
	files.

	All temporary files created by XRN are now created with mode 600,
	for privacy and security reasons.  Problem pointed out by Philippe
	Michel <michel@thomson-lcr.fr>.

	A KILL file entry containing "\\" at the end of its regular
	expression will now work properly.

	The newsgroup mode buttons are now removed when entering all mode,
	to make more space for the all mode listing.  Furthermore, the
	"All groups" newsgroup mode button now unhighlights properly after
	it is selected.

	The geometry of the Information window is no longer specified
	explicitly in XRN's application defaults.  If a user wants the
	window to appear in a specific location, its geometry can be set
	in a personal .Xresources or .Xdefaults file.  It's not the place
	of XRN to set the location of the window explicitly.

	When the user clicks on "Exit" in article mode, the newsgroup's
	status just before the user started reading articles in it is
	restored.  Previously, all articles in the Subject index would be
	marked unread when "Exit" was used, which meant (for example) that
	if the user clicked on "List old" and then "Exit", all articles in
	the newsgroup would be marked unread, which is obviously wrong.

	The code which adjusts the displayed text in the newsgroup or
	subject index to keep the number of lines above and below the
	cursor within a certain range has been improved in a number of
	ways, including: maxLines can now be negative in order to specify
	a minimum number of lines below the cursor, rather than a maximum
	number of lines above the cursor;, the index will never scroll
	past the end of the available text, i.e., once the last line of
	available index text is displayed in the last line of the index
	widget, scrolling will stop, even if the minLines/maxLines
	constraints aren't met.

	When a newsgroup is entered from all mode, it is no longer
	subscribed automatically.  The new behavior is what was in XRN
	6.17, but it was changed in XRN 7.00 to subscribe automatically.
	This is arguably wrong, because users often use all mode to
	"browse", visiting newsgroups without subscribing to them.

	Window redraws have been optimized in a number of places.

	The NNTPSERVER environment variable now takes precedence over the
	nntpServer X resource, but not over the nntpServer command-line
	option.  Change suggested by Reg Clemens <reg@dwf.com>.

	The amount of memory taken up by XRN while it is running has been
	greatly reduced, especially for users who subscribe to many
	newsgroups or who subscribe to newsgroups with many articles in
	them.

	When a newsgroup is subscribed in add mode, XRN now immediately
	updates its idea of the first and last articles in the newsgroup,
	so that it shows up in the newsgroup mode index immediately (as
	opposed to after the next rescan) if it has unread articles in it.

	The width of the lines in the newsgroup index in newsgroup mode,
	the Subject index in article mode, and the newsgroup list in all
	mode, is now adjusted dynamically based on the width of the XRN
	window.  The indexLineLength command-line option/X resource has
	therefore been removed.

	When XRN creates a file name in which to store the .newsrc file
	temporarily while updating it, it now puts ".temp-" at the
	beginning of the last component of the temporary file name, rather
	than appending "-temp" to the end of it.  This means that the
	temporary file name will still be unique on systems which have
	short file names.  Problem pointed out by kay@zhv.basf-ag.de (Kay
	Marquardt).

	Remove the hard-coded limit of 127 characters on newsgroup names.
	There is no longer any limit (except for the amount of memory
	available to XRN, of course :-) on newsgroup name lengths.

	Aborted messages are now saved in the user's deadLetters file, so
	that they aren't lost if the "Abort" button is clicked
	accidentally.

	The behavior of killing a subject in article mode is now exactly
	the same as when it is killed from a KILL file.  I.e., when you
	kill a subject in article mode, exactly the same articles will be
	marked read as would be if you had selected "Local kill" on the
	same subject in a previous invocation of XRN.  Previously,
	interactive subject killing used a different algorithm from
	KILL-file killing.

	A new subjectScrollBack command-line option/X resource has been
	added.  When it is true (which is the default, XRN will always
	scroll back to the current article in the subject index after
	doing operations on other articles.  When it is false, XRN will
	attempt to maintain the position you scrolled to before performing
	the operation.

	If XRN encounters a system error while getting an article, it
	displays a retry notifier instead of just claiming that the
	article is unavailable.  This is important when, e.g., the
	disk on which the temporary directory is located fills up.

	Some buttons are now made insensitive when they can't currently be
	used: allPost, artPost, artFollowup, artFollowupAndReply, and
	ngPost when the news server doesn't allow the user to post;
	allMove and ngMove when no groups are currently selected;
	artHeader when stripHeaders and leaveHeaders aren't set; artLast,
	ngPrevGroup when there isn't any previous article or group to go
	to; artContinue when no previous search has been done; artListOld
	when it has already been clicked on once; artCancel when the
	current user isn't allowed to cancel the article.

	The onlyShow X resource's behavior has been modified so that it
	actually displays the number of articles specified, even if some
	of the articles at the end of the newsgroup are unavailable or
	have already been read.  Furthermore, although only the number of
	articles requested with onlyShow are displayed, the other articles
	are not marked read, so if you read the displayed articles and
	then exit and reenter the newsgroup, they'll be available (or if
	you click on "List old" in the newsgroup, or if you do a subject
	search backwards).  If you want the earlier articles to be marked
	read automatically, you now have to use the new `discardOld'
	option.

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

Begin3
Title:		xrn-linux
Version:        7.01
Entered-date:   1995-03-03
Description:    X news reader
Keywords:       X, Usenet, News
Author:         Ellen Santovich, Rick Spickelmier
Maintained-by:  jik@cam.ov.com (Jonathan Kamens)
Primary-site:   ftp.cam.ov.com /pub/xrn
		117665	xrn-linux.tgz
		1k	xrn-linux.lsm
Alternate-site: ftp.x.org /contrib/applications/xrn
Original-site:  ftp.cam.ov.com /pub/xrn
		254366	7.01.tgz
Platform:       XFree86 3.1, libc.so.4.5.26
Copying-policy: BSD
End

-- 
Jonathan Kamens  |  OpenVision Technologies, Inc.  |   jik@cam.ov.com

--
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
PLEASE remember Keywords: and a short description of the software.


home help back first fref pref prev next nref lref last post