lwall@sdcrdcf.UUCP (05/30/84)
Finally, it's here, almost. What you all haven't been waiting for, since
you didn't know it existed. I am about to post the source for rn, a
replacement for 2.10 readnews. The main advantage of rn is that it's almost
excessively human-engineered. At least, the people around here seem to
like it. What I want is for someone to do some more beta testing on it. If
you are interested, send me the vital stats like your machine type and
operating system, and I'll try to mail you a copy.
Here's the hype:
-- Efficient. You don't have to do much waiting. For instance, keeps
direct access pointers into the active file.
-- All input is done is cbreak mode, so RETURN is not necessary except
to terminate certain multi-character commands. Within multi-character
commands many handy escape substitutions are available, such as last
file saved to, current newsgroup, etc.
-- At any point, typing a space means to do the normal thing, and
typing 'h' gives a list of all the options at that point.
-- Newsgroups are presented (by default) in the .newsrc order. If your
.newsrc is sorted into order of interest, you see the most interesting
newsgroups first. In checking for news you can tell rn to print out
the 5 most interesting newsgroups, for example. The .newsrc may be
listed and rearranged from within rn. You can temporarily restrict
the visible newsgroups via a pattern.
-- Makes good use of terminal characteristics. The screen is cleared
before displaying an article, and the subject is underlined. This
causes the subject to be stationary and easy to spot, so that the
reader can quickly decide whether to continue reading the article.
In addition, if the baud rate is high enough, the entire first page
of the article is flashed up in the time it takes to read the
title, and this can help in deciding whether to continue the
article when the title is uninformative. Short articles appear in
their entirety. Zap.
-- The pager is built into rn, so there is no need to start new
processes on each article. No : hack. End of article commands
can be given from within an article.
-- There is an option to highlight the last line of the previous
page, so that the reader can spot where to begin reading easily.
-- Unlike the standard more program, you can back up pages.
-- Optional subject thread following, killing. Subjects can be killed
permanently. The subjects of all unread articles can be listed,
and if nothing is interesting, a single command will mark everything
read.
-- Pattern searching within and among articles, and among newsgroups.
Articles corresponding to any pattern can be marked as read or unread,
or killed permanently.
-- Permanent article killing can be local to each newsgroup or global
to all newsgroups. You never have to read an article from so-and-so
again.
-- Unwanted header lines may be suppressed. Some lines suppressed by
default, such as Expires:. Notesfiles droppings suppressed by
default.
-- Fully tailorable by each user with regard to replies, followups,
saving articles, etc. Can automatically include the current
article in a followup.
-- Written with portability in mind. Linted. (char *)NULL'ed.
Fancy features are easily chopped out for really small machines.
Should run with full features on an 11 with split I and D.
-- Comes with a souped up postnews called Pnews, a shell script to
create a new .newsrc, a shell script to list unsubscribed newsgroups.
-- Works nicely with job control but it's not necessary. Has shell
escapes.
-- Switches may be set, unset and listed from within rn.
-- Rot 13 commands built in.
-- When one article is finished, a pre-fetch is done on the next
article, on the assumption that the articles are being read in
order. When following subject threads, the next article with
the same subject is located while the last page of the previous
article is being read.
-- The .newsrc is checkpointed periodically in large newsgroups,
while you are reading an interesting article. (How does rn know
that, you want to know?) There is no limit on the length of
.newsrc lines.
-- Won't let you run multiple copies of rn simultaneously, thus
destroying your .newsrc. Knows when you've crashed, though.
-- A patch to inews is supplied, which causes inews to insert an
article number cross reference line in the header of each article,
which is used by rn to mark an article as read in all newsgroups
to which it was posted.
-- Program is fairly mature, and has been used heavily since early 1983.
-- Installation is fairly straightforward, considering all the features
provided. In fact, installation is kinda fun--the shar script
asks you questions.
Lemme know if you want to guinea pig this. It's already known to run on
4.1 and 4.2 BSD. I would particularly like to hear from people with such
oddities as 16-bit machines, System V, etc.
Larry Wall
{allegra,burdvax,cbosgd,hplabs,ihnp4,sdcsvax}!sdcrdcf!lwall