[296] in linux-announce channel archive
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.