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