READNEWS(1)

NAME
readnews - read news articles

SYNOPSIS
readnews [-n newsgroups] [-i] [-clpC] [-s[-+? [group]]]

DESCRIPTION
Readnews without arguments enters command mode, which allows printing of unread articles. This is the normal way of using readnews.

Readnews maintains a .newsrc file in the user's home directory that specifies all news articles already read. It is updated at the end of each reading session.

Some useful functions are available which don't use command mode. The flags for these are:

-c  Check if there is news, and if so print `You have news.'. A line `readnews -c' is usually placed in the system .profile (/etc/profile).

-C  Check if there is news, and print the groups and number of articles in each group to be read.

-l  List the titles of available news articles.

-p  Print all articles on standard output, and update newsrc.

-s  Print the newsgroup subscription list.

-s+ group
    Add group to the subscription list.

-s- group
    Subtract group from the subscription list.

-s? List currently active newsgroups.

The remaining flags determine article selection, and may also appear in the .newsrc file. Options may be specified in the .newsrc file by entering lines prefixed with the word `options', followed by the options arguments. This is most useful with the -n flag, specifying the usual groups one wishes to subscribe to.

-n newsgroups
    Select all articles belonging to newsgroups. newsgroups is a comma separated list of newsgroup names. The character `!' may be used to exclude certain groups, and the word `all' can be used to match any group. e.g. `-n all,!net.jokes'

-i  Ignore .newsrc file. It is not read or updated. This allows selection of articles that have already been read.

Some overall parameters are set by a control file, NEWSCTL/readnews.ctl, which contains control lines (each a keyword followed by white space followed by a value) and comments (each starting with `#').

If no -n option is specified, either by the user or his .newsrc file, the value specified on the defsub line of the control file is used as the list of newsgroups to be presented. A single mandatory newsgroup may be specified as the value of the mustsub control line; in the absence of a command-line -n (not one from a .newsrc), that newsgroup is always presented to the user even if he did not ask for it. Both defsub and mustsub default to ``general''.

COMMANDS
This section details the commands available when readnews is in command mode (no -clpsC arguments). The simplest way of using this mode, is to enter RETURN after every prompt. This will present to the user, a short heading for an article, then a prompt. Typing RETURN again will print the article body. Typing RETURN yet again will print the next heading, and so on. If having read the heading, you don't wish to read the article, you may type `n' (or `+' or ';') which will take you directly to the next heading.

An article is treated as having been read, if either you have seen the article body, or typed `n' to skip over it.

A number of commands operate on the `current' article. This is defined as the article whose header you have most recently seen.

The commands to read news are:

RETURN
    Either print the current article, or go to the next article and print its header.

n or + or ;
    Go to the next article and print its header.

.   Print the current article.

-   Go back to the previous article. This is a toggle, typing it twice returns you to the original article.

number
    Go to the article number in the current newsgroup. Like the `-' command, you always return to the original article after reading the selected article.

s [file]
    Save the current article, appending it to the specified file (default $HOME/articles).

h   Print the current header (slightly more verbose than normal header).

H   Print the current header in full (very verbose).

N [newsgroup]
    Go to the next newsgroup, or to the specified newsgroup.

U   Unsubscribe from this newsgroup, and go to the next newsgroup.

!command
    Shell escape. Command is executed. If command is `!' the last escape command is executed.

q or EOT
    Quit. The .newsrc file will be updated provided the flag -i was not specified.

x   Exit. .newsrc is left unchanged (as if no articles had been read).

Some commands are available to send/reply or post news articles:

r   Reply to sender of the current article by mail. Readnews sets up the appropriate headers, and then calls mail(1) (or $MAILER, if there is such an environment variable) to send a reply to the sender. If there is no mailvia line in the control file, the address is taken from the ``From'' header of the article, and is in Internet form. If the value in the mailvia line is ``<path>'', the address is taken from the ``Path'' header and is in UUCPnet form. If the value of mailvia is something else, the ``From'' address is transformed to UUCPnet syntax (``site.x.y!user'' rather than ``user@site.x.y''), and the mailvia value is prepended to it, with an intervening ``!''.

f   Post a followup to the current article. Readnews sets up the appropriate headers, and then calls postnews(1) to post the followup article.

p   Post an article on a new topic. postnews(1) is called to post the new article, in the current newsgroup by default.

In order to permanently resubscribe to a newsgroup denied by `U', it is necessary to understand the format of the .newsrc file. The .newsrc file consists of two types of lines:

option lines
    These start with the word `option' and contain the same arguments as the readnews command on the command line.

read newsgroup lines
    These have the format <newsgroup>`:' <number>, where <number> represents the last item number seen in that particular newsgroup. If the newsgroup has been unsubscribed, the `:' is replaced by a `!'. To resubscribe the `!' must be changed back to a `:'.

FILES
$HOME/.newsrc	options and list of previously read articles
NEWSCTL/active	current newsgroups
NEWSCTL/readnews.ctl	control file
NEWSCTL/readnews.help	help file
NEWSBIN/inject/postnews	for postings

SEE ALSO
postnews(1), mail(1), ed(1)

HISTORY
Originally written by Michael Rourke, University of N.S.W (decvax!mulga!michaelr:elecvax). Modified and simplified for the C News project.

BUGS
The mustsub control line really ought to be able to specify a subscription, i.e. multiple groups.

This program is about as simple as they come. Almost any seasoned news user will want something more complex.