Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rn(1) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

newsrc(5)

more(1)

readnews(1)

Pnews(1)

Rnmail(1)






RN(1)                    USER COMMANDS                      RN(1)



NAME
     rn | new read news program

SYNOPSIS
     rn [options] [newsgroups]

DESCRIPTION
     Rn is a replacement for the  readnews(1)  program  that  was
     written  to  be  as  efficient  as possible, particularly in
     human interaction.  Rn attempts to minimize  the  amount  of
     "dead"  time  spent reading news|it tries to get things done
     while the user is reading or deciding whether to  read,  and
     attempts  to  get useful information onto the screen as soon
     as possible, highlighting spots that the eye makes  frequent
     reference  to,  like  subjects  and  previously  read lines.
     Whether or not it's faster, it SEEMS faster.

     If no newsgroups are specified,  all  the  newsgroups  which
     have  unread  news are displayed, and then the user is asked
     for each one whether he wants to read it, in  the  order  in
     which the newsgroups occur in the .newsrc file.  With a list
     of newsgroups, rn will start up in  "add"  mode,  using  the
     list as a set of patterns to add new newsgroups and restrict
     which newsgroups are displayed.  See the discussion  of  the
     'a' command on the newsgroup selection level.

     Rn operates on three levels: the newsgroup selection  level,
     the  article  selection  level,  and the paging level.  Each
     level has its own set of commands, and its  own  help  menu.
     At the paging level (the bottom level), rn behaves much like
     the more(1) program.  At the article  selection  level,  you
     may specify which article you want next, or read them in the
     default order, which is either in order of arrival  on  your
     system,  or  by subject threads.  At the newsgroup selection
     level (the top level), you may specify which  newsgroup  you
     want  next,  or read them in the default order, which is the
     order that the newsgroups occur in your .newsrc file.   (You
     will  therefore  want  to rearrange your .newsrc file to put
     the most interesting newsgroups first.   This  can  be  done
     with  the  'm'  command  on  the  Newsgroup Selection level.
     WARNING: invoking readnews/vnews (the old user interface) in
     any   way  (including  as  a  news  checker  in  your  login
     sequence!) will cause your .newsrc to be disarranged again.)

     On any level, at ANY prompt, an 'h' may be typed for a  list
     of  available commands.  This is probably the most important
     command to remember, so don't you forget it.   Typing  space
     to any question means to do the normal thing.  You will know


10/89                                                                    Page 1










     what that is because every prompt  has  a  list  of  several
     plausible  commands  enclosed in square brackets.  The first
     command in the list is the one which will  be  done  if  you
     type  a  space.   (All  input  is  done  in  cbreak mode, so



Dell V.4/386           Last change: LOCAL                       1






RN(1)                    USER COMMANDS                      RN(1)



     carriage returns should not be typed to  terminate  anything
     except  certain  multi|character  commands.   Those commands
     will be obvious in the discussion below because they take an
     argument.)

     Upon startup, rn will do several things:

     1.  It will look for your .newsrc file, which is  your  list
         of  subscribed|to  newsgroups.   If  rn  doesn't  find a
         .newsrc, it will create one.  If it does  find  one,  it
         will back it up under the name ".oldnewsrc".

     2.  It will input your .newsrc file, listing out  the  first
         several newsgroups with unread news.

     3.  It will  perform  certain  consistency  checks  on  your
         .newsrc.   If  your  .newsrc  is  out  of date in any of
         several ways, rn will warn you and patch it up for  you,
         but you may have to wait a little longer for it to start
         up.

     4.  Rn will next check to see if  any  new  newsgroups  have
         been  created,  and give you the opportunity to add them
         to your .newsrc.

     5.  Rn goes into the top prompt level|the  newsgroup  selec-
         tion level.

     Newsgroup Selection Level

     In this section the words "next" and "previous" refer to the
     ordering  of  the  newsgroups  in your .newsrc file.  On the
     newsgroup selection level, the prompt looks like this:



Page 2                                                                    10/89










     ******** 17 unread articles in talk.blurfl|read now? [ynq]

     and the following commands may be given at this level:

     y,SP    Do this newsgroup now.

     .command
             Do this newsgroup now, but  execute  command  before
             displaying  anything.   The  command  will be inter-
             preted as if given on the article selection level.

     =       Do this newsgroup  now,  but  list  subjects  before
             displaying articles.

     n       Go to the next newsgroup with unread news.

     N       Go to the next newsgroup.




Dell V.4/386           Last change: LOCAL                       2






RN(1)                    USER COMMANDS                      RN(1)



     p       Go to the previous newsgroup with unread  news.   If
             there is none, stay at the current newsgroup.

     P       Go to the previous newsgroup.

     -       Go to the previously displayed newsgroup (regardless
             of  whether it is before or after the current one in
             the list).

     1       Go to the first newsgroup.

     ^       Go to the first newsgroup with unread news.

     $       Go to the end of the newsgroups list.

     g newsgroup
             Go to newsgroup.  If it isn't  currently  subscribed
             to, you will be asked if you want to subscribe.

     /pattern


10/89                                                                    Page 3










             Scan forward for a newsgroup matching pattern.  Pat-
             terns  do  globbing  like  filenames, i.e., use ? to
             match a single character, * to match any sequence of
             characters,  and  [] to specify a list of characters
             to match.  ("all" may be used as a synonym for "*".)
             Unlike normal filename globbing, newsgroup searching
             is not  anchored  to  the  front  and  back  of  the
             filename, i.e. "/ski" will find rec.skiing.  You may
             use ^ or $ to  anchor  the  front  or  back  of  the
             search:   "/^test$"  will  find  newsgroup  test and
             nothing else If you want to include newsgroups  with
             0  unread  articles, append /r.  If the newsgroup is
             not found between the current newsgroup and the last
             newsgroup, the search will wrap around to the begin-
             ning.

     ?pattern
             Same as /, but search backwards.

     u       Unsubscribe from current newsgroup.

     l string
             List newsgroups not subscribed to which contain  the
             string specified.

     L       Lists the current state of the .newsrc,  along  with
             status information.

                  Status         Meaning
                  <number>       Count of unread articles in newsgroup.
                  READ           No unread articles in newsgroup.
                  UNSUB          Unsubscribed newsgroup.



Dell V.4/386           Last change: LOCAL                       3






RN(1)                    USER COMMANDS                      RN(1)



                  BOGUS          Bogus newsgroup.
                  JUNK           Ignored line in .newsrc
                                 (e.g. readnews "options" line).

             (A bogus newsgroup is one that is not in the list of
             active  newsgroups in the active file, which on most


Page 4                                                                    10/89










             systems  is  /usr/lib/news/active  unless  you   use
             NNTP.)

     m name  Move the  named  newsgroup  somewhere  else  in  the
             .newsrc.  If no name is given, the current newsgroup
             is moved.  There are a number  of  ways  to  specify
             where you want the newsgroup|type h for help when it
             asks where you want to put it.

     c       Catch up|mark all unread articles in this  newsgroup
             as read.

     o pattern
             Only display those  newsgroups  whose  name  matches
             pattern.   Patterns are the same as for the '/' com-
             mand.  Multiple patterns may be separated by spaces,
             just  as  on the command line.  The restriction will
             remain in effect either until there are no  articles
             left in the restricted set of newsgroups, or another
             restriction command  is  given.   Since  pattern  is
             optional, 'o' by itself will remove the restriction.

     a pattern
             Add new  newsgroups  matching  pattern.   Newsgroups
             which are already in your .newsrc file, whether sub-
             scribed to or not, will not be listed.  If  any  new
             newsgroups are found, you will be asked for each one
             whether you would like to add it. If you want to add
             all  new  newsgroups, you can type 'Y' and they will
             be added the the end of  the  .newsrc  file  and  as
             groups  you  want to read. If you don't want to sub-
             scribe, all the new groups can be  added  by  typing
             'N'.   After any new newsgroups have been added, the
             'a' command also restricts the current set of  news-
             groups just like the 'o' command does.

     &       Print  out  the  current  status  of  command   line
             switches and any newsgroup restrictions.

     &switch {switch}
             Set additional command line switches.

     &&      Print out the current macro definitions.

     &&keys commands
             Define additional macros.



Dell V.4/386           Last change: LOCAL                       4




10/89                                                                    Page 5










RN(1)                    USER COMMANDS                      RN(1)



     !command
             Escape to a  subshell.   One  exclamation  mark  (!)
             leaves  you  in  your  own news directory.  A double
             exclamation mark (!!) leaves you in the spool direc-
             tory   for   news,   which   on   most   systems  is
             /usr/spool/news that don't use NNTP.   The  environ-
             ment  variable  SHELL  will  be used if defined.  If
             command is null, an interactive shell is started.

     q       Quit.

     x       Quit, restoring .newsrc to its state at  startup  of
             rn.   The  .newsrc  you  would  have  had if you had
             exited with 'q' will be called .newnewsrc,  in  case
             you didn't really want to type 'x'.

     ^K      Edit the global KILL file.  This  is  a  file  which
             contains  /pattern/j  commands  (one per line) to be
             applied to every newsgroup as it is started up, that
             is,  when  it is selected on the newsgroup selection
             level.  The purpose of a KILL file is to mark  arti-
             cles  as  read on the basis of some set of patterns.
             This saves considerable wear and tear  on  your  'n'
             key.  There is also a local KILL file for each news-
             group.  Because of the overhead involved in  search-
             ing  for  articles to kill, it is better if possible
             to use a local KILL  file.   Local  KILL  files  are
             edited  with  a '^K' on the article selection level.
             There are also automatic ways of adding search  com-
             mands to the local KILL file|see the 'K' command and
             the K  search  modifier  on  the  article  selection
             level.

             If either of the  environment  variables  VISUAL  or
             EDITOR is set, the specified editor will be invoked;
             otherwise  a  default  editor  (normally  vi(1))  is
             invoked on the KILL file.

     Article Selection Level

     On the article selection  level,  rn  selects  (by  default)
     unread articles in numerical order (the order in which arti-
     cles have arrived at your site).  If you do a subject search
     (^N),  the  default  order is modified to be numerical order
     within each subject thread.  You may switch back  and  forth
     between  numerical  order  and subject thread order at will.
     The -S switch can be used to make subject  search  mode  the
     default.


Page 6                                                                    10/89










     On the article selection level you are not asked whether you
     want  to  read  an  article before the article is displayed;
     rather, rn simply displays the first page (or portion  of  a



Dell V.4/386           Last change: LOCAL                       5






RN(1)                    USER COMMANDS                      RN(1)



     page, at low baud rates) of the article and asks if you want
     to continue.  The normal article selection prompt  comes  at
     the  END  of  the article (though article selection commands
     can be given from within the  middle  of  the  article  (the
     pager  level)  also).   The  prompt at the end of an article
     looks like this:

     End of article 248 (of 257)|what next? [npq]

     The following are the options at this point:

     n,SP    Scan forward for next unread  article.   (Note:  the
             'n' (next) command when typed at the end of an arti-
             cle does not mark the  article  as  read,  since  an
             article  is  automaticaly  marked  as read after the
             last line of it is printed.  It is therefore  possi-
             ble  to  type  a sequence such as 'mn' and leave the
             article marked as unread.  The fact that an  article
             is  marked as read by typing 'n', 'N', '^N', 's', or
             'S' within the MIDDLE of the article is  in  fact  a
             special case.)

     N       Go to the next article.

     ^N      Scan forward for the next article with the same sub-
             ject, and make ^N default (subject search mode).

     p       Scan backward for previous unread article.  If there
             is none, stay at the current article.

     P       Go to the previous article.

     -       Go to the previously displayed  article  (regardless
             of  whether  that  article  is  before or after this
             article in the normal sequence).


10/89                                                                    Page 7










     ^P      Scan backward for the previous article with the same
             subject, and make ^N default (subject search mode).

     ^R      Restart the current article.

     v       Restart the current  article  verbosely,  displaying
             the entire header.

     ^L      Refresh the screen.

     ^X      Restart the current article, and decrypt as a  rot13
             message.

     X       Refresh the screen, and decrypt as a rot13 message.





Dell V.4/386           Last change: LOCAL                       6






RN(1)                    USER COMMANDS                      RN(1)



     b       Back up one page.

     q       Quit this newsgroup and go  back  to  the  newsgroup
             selection level.

     ^       Go to the first unread article.

     $       Go to the last article (actually, one past the  last
             article).

     number  Go to the numbered article.

     range{,range} command{:command}
             Apply a set of commands to a  set  of  articles.   A
             range   consists   of  either  <article  number>  or
             <article number>-<article number>.    A   dot    '.'
             represents  the  current  article, and a dollar sign
             '$' represents the last article.

             Applicable commands include 'm'  (mark  as  unread),
             'M' (delayed mark as unread), 'j' (mark as read), "s
             dest" (save to  a  destination),  "!command"  (shell


Page 8                                                                    10/89










             escape), "=" (print the subject) and "C" (cancel).

     j       Junk the current article|mark it as read.   If  this
             command is used from within an article, you are left
             at the end of the article, unlike 'n',  which  looks
             for the next article.

     m       Mark the current article as still unread.   (If  you
             are  in subject search mode you probably want to use
             M instead of m.  Otherwise the current  article  may
             be  selected  as  the  beginning of the next subject
             thread.)

     M       Mark the current article as still  unread,  but  not
             until  the  newsgroup  is  exited.   Until then, the
             current article will be marked  as  read.   This  is
             useful  for  returning to an article in another ses-
             sion, or in another newsgroup.

     /pattern
             Scan forward for article containing pattern  in  the
             subject.   See  the  section on Regular Expressions.
             Together  with  the  escape  substitution   facility
             described later, it becomes easy to search for vari-
             ous attributes of the current article, such as  sub-
             ject,  article  ID,  author name, etc.  The previous
             pattern can be recalled with "<esc>/".   If  pattern
             is omitted, the previous pattern is assumed.





Dell V.4/386           Last change: LOCAL                       7






RN(1)                    USER COMMANDS                      RN(1)



     /pattern/h
             Scan forward for article containing pattern  in  the
             header.

     /pattern/a
             Scan forward for article containing pattern anywhere
             in article.



10/89                                                                    Page 9










     /pattern/r
             Scan read articles also.

     /pattern/c
             Make search case sensitive.   Ordinarily  upper  and
             lower case are considered the same.

     /pattern/modifiers:command{:command}
             Apply the commands listed to articles  matching  the
             search command (possibly with h, a, or r modifiers).
             Applicable commands include 'm'  (mark  as  unread),
             'M' (delayed mark as unread), 'j' (mark as read), "s
             dest" (save to  a  destination),  "!command"  (shell
             escape),  "="  (print the subject) and "C" (cancel).
             If the first command is 'm' or 'M',  modifier  r  is
             assumed.   A K may be included in the modifiers (not
             the commands) to cause the entire command  (sans  K)
             to be saved to the local KILL file, where it will be
             applied to every article that shows up in the  news-
             group.

             For example, to save all articles in a  given  news-
             group  to  the  line printer and mark them read, use
             "/^/|lpr:j".  If you type  "/^/K|lpr:j",  this  will
             happen every time you enter the newsgroup.

     ?pattern
             Scan backward for article containing pattern in  the
             subject.   May be modified as the forward search is:
             ?pattern?modifiers[:commands].  It  is  likely  that
             you will want an r modifier when scanning backward.

     k       Mark as read all articles with the same  subject  as
             the  current  article.   (Note:  there  is no single
             character command to temporarily  mark  as  read  (M
             command)  articles  matching  the  current  subject.
             That can be done with "/<esc>s/M", however.)

     K       Do the same as the k command, but also add a line to
             the  local KILL file for this newsgroup to kill this
             subject every time the newsgroup is started up.  For
             a  discussion  of  KILL  files, see the '^K' command
             below.  See also the K modifier on searches above.




Dell V.4/386           Last change: LOCAL                       8






Page 10                                                                   10/89










RN(1)                    USER COMMANDS                      RN(1)



     ^K      Edit the local KILL file for this  newsgroup.   Each
             line  of  the  KILL  file should be a command of the
             form /pattern/j.  (With the exception that  rn  will
             insert  a  line  at  the beginning of the form "THRU
             <number>", which tells rn the maximum article number
             that  the  KILL  file  has been applied to.  You may
             delete the THRU line to force a  rescan  of  current
             articles.)   You  may also have reason to use the m,
             h, or a modifiers.  Be careful with the  M  modifier
             in  a  kill  file|there  are  more efficient ways to
             never read an article.  You might have reason to use
             it  if  a particular series of articles is posted to
             multiple newsgroups.  In this case,  M  would  force
             you to view the article in a different newsgroup.

             To see only newgroup articles in the  control  news-
             group, for instance, you might put

             /^/j
             /newgroup/m

             which kills all subjects not containing  "newgroup".
             You  can  add  lines automatically via the K command
             and K search modifiers, but editing is the only  way
             to remove lines.  If either of the environment vari-
             ables VISUAL or EDITOR is set, the specified  editor
             will  be  invoked;  otherwise a default editor (nor-
             mally vi) is invoked on the KILL file.

             The KILL file may also contain switch setting  lines
             beginning  with  '&'.  Additionally, any line begin-
             ning with 'X' is executed on exit from the newsgroup
             rather  than  on  entrance.  This can be used to set
             switches back to a default value.

     r       Reply through net mail.  The  environment  variables
             MAILPOSTER  and MAILHEADER may be used to modify the
             mailing behavior of rn  (see  environment  section).
             If  on  a  nonexistent  article  such as the "End of
             newsgroup" pseudo|article (which you can get to with
             a '$' command), invokes the mailer to nobody in par-
             ticular.

     R       Reply, including the current article in  the  header
             file  generated.  (See 'F' command below).  The YOU-
             SAID environment variable controls the format of the
             attribution line.



10/89                                                                   Page 11










     f       Submit a followup  article.   If  on  a  nonexistent
             article  such  as  the  "End  of  newsgroup" pseudo|
             article (which you can get to with a  '$'  command),
             posts an original article (basenote).



Dell V.4/386           Last change: LOCAL                       9






RN(1)                    USER COMMANDS                      RN(1)



     F       Submit a followup article, and include the old arti-
             cle,  with  lines  prefixed  either by ">" or by the
             argument to a -F switch.  Rn will attempt to provide
             an  attribution line in front of the quoted article,
             generated  from  the  From:  line  of  the  article.
             Unfortunately, the From: line doesn't always contain
             the right name; you should double check  it  against
             the signature and change it if necessary, or you may
             have to apologize for quoting the wrong person.  The
             environment  variables  NEWSPOSTER,  NEWSHEADER  and
             ATTRIBUTION  may  be  used  to  modify  the  posting
             behavior of rn (see environment section).

     C       Cancel the current article, but only if you are  the
             contributor or superuser.

     c       Catch up in this newsgroup; i.e., mark all  articles
             as read.

     u       Unsubscribe to this newsgroup.

     s destination
             Save to a filename or pipe using sh.  If  the  first
             character  of the destination is a vertical bar, the
             rest of the command is considered a shell command to
             which  the article is passed through standard input.
             The command is subject to filename expansion.   (See
             also  the  environment  variable PIPESAVER.)  If the
             destination does not begin with a vertical bar,  the
             rest  of  the command is assumed to be a filename of
             some sort.  An initial tilde '~' will be  translated
             to  the  name  of the home directory, and an initial
             environment variable substitution is  also  allowed.
             If  only a directory name is specified, the environ-


Page 12                                                                   10/89










             ment variable  SAVENAME  is  used  to  generate  the
             actual  name.  If only a filename is specified (i.e.
             no directory), the environment variable SAVEDIR will
             be  used to generate the actual directory.  If noth-
             ing is specified, then obviously both variables will
             be  used.   Since the current directory for rn while
             doing a save command is your private news directory,
             typing  "s  ./filename"  will force the file to your
             news directory.  Save commands are also run  through
             %   interpretation,   so   that  you  can  enter  "s
             %O/filename" to save to the directory  you  were  in
             when  you  ran  rn, and "s %t" to save to a filename
             consisting of the Internet address of the sender.

             After generating the full pathname of  the  file  to
             save  to,  rn determines if the file exists already,
             and if so, appends to it.  Rn will attempt to deter-
             mine  if  an  existing file is a mailbox or a normal



Dell V.4/386           Last change: LOCAL                      10






RN(1)                    USER COMMANDS                      RN(1)



             file, and save the article in the same  format.   If
             the  output  file  does  not  yet  exist, rn will by
             default ask you which format you want,  or  you  can
             make  it  skip the question with either the -M or -N
             switch.  If the article is to be  saved  in  mailbox
             format,  the  command to do so is generated from the
             environment variable  MBOXSAVER.   Otherwise,  NORM-
             SAVER is used.

     S destination
             Save to a filename or pipe using a preferred  shell,
             such  as  csh.  Which shell is used depends first on
             what you have the environment variable SHELL set to,
             and  in  the  absence  of  that,  on  what your news
             administrator set for the preferred shell when he or
             she installed rn.

     | command
             Shorthand for "s | command".



10/89                                                                   Page 13










     w destination
             The same as "s destination", but saves  without  the
             header.

     W destination
             The same as "S destination", but saves  without  the
             header.

     &       Print  out  the  current  status  of  command   line
             switches.

     &switch {switch}
             Set additional command line switches.

     &&      Print out current macro definitions.

     &&keys commands
             Define an additional macro.

     !command
             Escape to a  subshell.   One  exclamation  mark  (!)
             leaves  you  in  your  own news directory.  A double
             exclamation mark (!!) leaves you in the spool direc-
             tory  of  the  current  newsgroup.   The environment
             variable SHELL will be used if defined.  If  command
             is null, an interactive shell is started.

             You can use escape key substitutions described later
             to get to many run|time values.  The command is also
             run through % interpretation, in case  it  is  being
             called from a range or search command.




Dell V.4/386           Last change: LOCAL                      11






RN(1)                    USER COMMANDS                      RN(1)



     =       List subjects of unread articles.

     #       Print last article number.

     Pager Level



Page 14                                                                   10/89










     At the pager level (within an  article),  the  prompt  looks
     like this:

     |MORE|(17%)

     and a number of commands may be given:

     SP      Display next page.

     x       Display next page and decrypt as a rot13 message.

     d,^D    Display half a page more.

     CR      Display one more line.

     q       Go to the end of the current article (don't mark  it
             either  read  or  unread).   Leaves you at the "What
             next?" prompt.

     j       Junk the current article.  Mark it read  and  go  to
             the end of the article.

     ^L      Refresh the screen.

     X       Refresh the screen and decrypt as a rot13 message.

     b,^B    Back up one page.

     gpattern
             Goto (search forward  for)  pattern  within  current
             article.   Note  that  there is no space between the
             command and the pattern.  If the pattern  is  found,
             the  page  containing the pattern will be displayed.
             Where on the page the line matching the pattern goes
             depends  on  the value of the -g switch.  By default
             the matched line goes at the top of the screen.

     G       Search for g pattern again.

     ^G      This is a special version of the 'g' command that is
             for skipping articles in a digest.  It is equivalent
             to setting "-g4"  and  then  executing  the  command
             "g^Subject:".

     TAB     This is another special version of the  'g'  command
             that  is  for skipping inclusions of older articles.



Dell V.4/386           Last change: LOCAL                      12




10/89                                                                   Page 15










RN(1)                    USER COMMANDS                      RN(1)



             It is equivalent to setting "-g4" and then executing
             the command "g^[^c]", where c is the first character
             of the last line on the screen.  It searches for the
             first  line that doesn't begin with the same charac-
             ter as the last line on the screen.

     !command
             Escape to a subshell.

     The following commands skip the rest of the current article,
     then  behave  just as if typed to the "What next?" prompt at
     the end of the article.  See the documentation at the  arti-
     cle selection level for these commands.

         # $ & / = ? c C f F k K ^K m M r R ^R u v Y ^
         number
         range{,range} command{:command}

     The following commands also skip to the end of the  article,
     but  have the additional effect of marking the current arti-
     cle as read:

         n N ^N s S | w W


     Miscellaneous facts about commands

     An 'n' typed at either the  "Last  newsgroup"  prompt  or  a
     "Last  article"  prompt  will  cycle  back to the top of the
     newsgroup or article list,  whereas  a  'q'  will  quit  the
     level.   (Note  that  'n'  does  not  mean  "no", but rather
     "next".)  A space will of course do whatever is shown as the
     default,  which will vary depending on whether rn thinks you
     have more articles or newsgroups to read.

     The 'b' (backup page) command  may  be  repeated  until  the
     beginning  of  the  article  is reached.  If rn is suspended
     (via a ^Z), then when the job is  resumed,  a  refresh  (^L)
     will automatically be done (Berkeley|type systems only).  If
     you type a command such as '!' or 's' which takes  you  from
     the  middle  of  the  article to the end, you can always get
     back into the middle by typing '^L'.

     In multi|character commands such as '!', 's', '/', etc,  you
     can interpolate various run|time values by typing escape and
     a character.  To find out what  you  can  interpolate,  type
     escape  and 'h', or check out the single character % substi-
     tutions for environment variables in the Interpretation  and


Page 16                                                                   10/89










     Interpolation  section,  which  are the same.  Additionally,
     typing a double escape will cause any % substitutions in the
     string already typed in to be expanded.




Dell V.4/386           Last change: LOCAL                      13






RN(1)                    USER COMMANDS                      RN(1)



     Options

     Rn has a nice set of options to  allow  you  to  tailor  the
     interaction  to  your  liking.  (You might like to know that
     the author swears by "-e -m -S -/".)  These options  may  be
     set  on  the  command line, via the RNINIT environment vari-
     able, via a file pointed to by the RNINIT variable, or  from
     within rn via the & command.  Options may generally be unset
     by typing "+switch".  Options include:

     -c   checks for news without reading news.   If  a  list  of
          newsgroups  is  given  on  the command line, only those
          newsgroups will be checked; otherwise all subscribed|to
          newsgroups  are  checked.   Whenever  the  -c switch is
          specified, a non|zero exit status from  rn  means  that
          there  is unread news in one of the checked newsgroups.
          The -c switch does not disable the  printing  of  news-
          groups  with  unread news; this is controlled by the -s
          switch.  (The -c switch is not  meaningful  when  given
          via the & command.)

     -C<number>
          tells rn how often to checkpoint the .newsrc, in  arti-
          cles  read.   Actually,  this number says when to start
          thinking about doing a checkpoint if the  situation  is
          right.  If a reasonable checkpointing situation doesn't
          arise within 10 more articles, the  .newsrc  is  check-
          pointed willy|nilly.

     -d<directory name>
          sets the default save directory to something other than
          ~/News.   The  directory name will be globbed (via csh)
          if necessary (and if possible).  Articles saved  by  rn
          may  be  placed in the save directory or in a subdirec-


10/89                                                                   Page 17










          tory thereof depending on the command that you give and
          the  state  of  the  environment  variables SAVEDIR and
          SAVENAME.  Any KILL files (see the  K  command  in  the
          Article  Selection  section) also reside in this direc-
          tory and its subdirectories, by default.  In  addition,
          shell escapes leave you in this directory.

     -D<flags>
          enables  debugging  output.   See  common.h  for   flag
          values.   Warning: normally rn attempts to restore your
          .newsrc when an unexpected  signal  or  internal  error
          occurs.   This is disabled when any debugging flags are
          set.

     -e   causes each page within an article to be started at the
          top  of  the  screen,  not just the first page.  (It is
          similar to the -c switch of more(1).)  You  never  have
          to  read  scrolling  text  with  this  switch.  This is



Dell V.4/386           Last change: LOCAL                      14






RN(1)                    USER COMMANDS                      RN(1)



          helpful especially at certain baud  rates  because  you
          can  start  reading  the  top  of the next page without
          waiting for the whole page to  be  printed.   It  works
          nicely  in conjuction with the -m switch, especially if
          you use half|intensity for your  highlight  mode.   See
          also the -L switch.

     -E<name>=<val>
          sets the  environment  variable  <name>  to  the  value
          specified.   Within  rn, "&-ESAVENAME=%t" is similar to
          "setenv  SAVENAME  '%t'"  in  csh,  or  "SAVENAME='%t';
          export  SAVENAME" in sh.  Any environment variables set
          with -E will be inherited by subprocesses of rn.

     -F<string>
          sets the prefix string for the 'F' followup command  to
          use  in prefixing each line of the quoted article.  For
          example, "-F<tab>" inserts a tab on the front  of  each
          line  (which  will  cause  long  lines  to wrap around,
          unfortunately), "-F>>>>" inserts ">>>>" on every  line,


Page 18                                                                   10/89










          and  "-F"  by  itself causes nothing to be inserted, in
          case you want to reformat the text, for instance.   The
          initial default prefix is ">".

     -g<line>
          tells rn which line of the screen you want searched|for
          strings to show up on when you search with the 'g' com-
          mand within an article.  The lines are numbered  start-
          ing  with 1.  The initial default is "-g1", meaning the
          first line of the screen.  Setting  the  line  to  less
          than  1  or more than the number of lines on the screen
          will set it to the last line of the screen.

     -h<string>
          hides (disables  the  printing  of)  all  header  lines
          beginning with string. For instance, -hexp will disable
          the printing of the "Expires:" line.  Case is  insigni-
          ficant.   If  <string> is null, all header lines except
          Subject are hidden, and you may then use +h  to  select
          those  lines  you want to see.  You may wish to use the
          baud|rate switch modifier below to hide more  lines  at
          lower baud rates.

     -H<string>
          works just like -h except that instead of  setting  the
          hiding  flag  for a header line, it sets the magic flag
          for that header line.  Certain header lines have  magic
          behavior  that can be controlled this way.  At present,
          the following actions are caused by the  flag  for  the
          particular  line:   the Newsgroups line will only print
          when there are multiple newsgroups,  the  Subject  line
          will be underlined, and the Expires line will always be



Dell V.4/386           Last change: LOCAL                      15






RN(1)                    USER COMMANDS                      RN(1)



          suppressed if there is nothing on it.  In fact, all  of
          these  actions  are the default, and you must use +H to
          undo them.

     -i=<number>
          specifies how long (in lines) to consider  the  initial


10/89                                                                   Page 19










          page of an article|normally this is determined automat-
          ically depending on baud rate.  (Note  that  an  entire
          article header will always be printed regardless of the
          specified initial page length.  If you are  working  at
          low  baud  rate  and  wish  to  reduce  the size of the
          headers, you may hide certain header lines with  the  h
          switch.)

     -l   disables the clearing of the screen at the beginning of
          each article, in case you have a bizarre terminal.

     -L   tells rn to leave information on the screen as long  as
          possible  by not blanking the screen between pages, and
          by using clear to end|of|line.   (The  more(1)  program
          does  this.)   This  feature works only if you have the
          requisite termcap  capabilities.   The  switch  has  no
          effect unless the -e switch is set.

     -m=<mode>
          enables the marking of the last line  of  the  previous
          page  printed,  to  help the user see where to continue
          reading.  This is most helpful when less  than  a  full
          page  is going to be displayed.  It may also be used in
          conjunction with the -e switch, in which case the  page
          is  erased,  and the first line (which is the last line
          of the previous  page)  is  highlighted.   If  -m=s  is
          specified,  the standout mode will be used, but if -m=u
          is specified, underlining will be used.  If neither  =s
          or =u is specified, standout is the default.  Use +m to
          disable highlighting.

     -M   forces mailbox  format  in  creating  new  save  files.
          Ordinarily you are asked which format you want.

     -N   forces normal (non|mailbox) format in creating new save
          files.  Ordinarily you are asked which format you want.

     -q   bypasses the automatic check for  new  newsgroups  when
          starting rn.

     -r   causes rn to restart in the last newsgroup read  during
          a  previous session with rn. It is equivalent to start-
          ing up normally and then getting to the newsgroup  with
          a g command.

     -s   with no argument  suppresses  the  initial  listing  of



Dell V.4/386           Last change: LOCAL                      16




Page 20                                                                   10/89










RN(1)                    USER COMMANDS                      RN(1)



          newsgroups with unread news, whether -c is specified or
          not.  Thus -c and -s  can  be  used  together  to  test
          "silently"  the  status of news from within your .login
          file.  If -s is followed by a number, the initial list-
          ing  is  suppressed  after  that  many  lines have been
          listed.  Presuming that you have  your  .newsrc  sorted
          into  order  of  interest, -s5 will tell you the 5 most
          interesting newsgroups that have unread news.  This  is
          also  a  nice feature to use in your .login file, since
          it not only tells you whether there is unread news, but
          also  how  important the unread news is, without having
          to wade through the entire list of  unread  newsgroups.
          If  no  -s switch is given -s5 is assumed, so just put-
          ting "rn -c" into your .login file is fine.

     -S<number>
          causes rn to enter subject search mode  (^N)  automati-
          cally  whenever a newsgroup is started up with <number>
          unread articles or more.  Additionally, it  causes  any
          'n'  typed  while  in  subject search mode to be inter-
          preted as '^N' instead.  (To get back  out  of  subject
          search  mode,  the  best  command is probably '^'.)  If
          <number> is omitted, 3 is assumed.

     -t   puts rn into terse mode.  This is more cryptic but use-
          ful  for  low  baud  rates.   (Note  that  your  system
          administrator may have compiled rn with either  verbose
          or  terse  messages only to save memory.)  You may wish
          to use the baud|rate switch modifier  below  to  enable
          terse mode only at lower baud rates.

     -T   allows you to type ahead of rn.  Ordinarily rn will eat
          typeahead  to prevent your autorepeating space bar from
          doing a very frustrating thing  when  you  accidentally
          hold it down.  If you don't have a repeating space bar,
          or you are working at low baud rate, you can  set  this
          switch  to  prevent this behavior.  You may wish to use
          the baud|rate switch modifier below to  disable  typea-
          head only at lower baud rates.

     -v   sets verification mode for  commands.   When  set,  the
          command  being executed is displayed to give some feed-
          back that the key has actually been typed.  Useful when
          the  system  is  heavily  loaded and you give a command
          that takes a while to start up.

     -/   sets SAVEDIR to "%p/%c" and  SAVENAME  to  "%a",  which
          means that by default articles are saved in a subdirec-


10/89                                                                   Page 21










          tory of your private news  directory  corresponding  to
          the  name  of  the  the  current  newsgroup,  with  the
          filename being the article number.  +/ sets SAVEDIR  to
          "%p"  and  SAVENAME  to  "%^C",  which by default saves



Dell V.4/386           Last change: LOCAL                      17






RN(1)                    USER COMMANDS                      RN(1)



          articles directly to your private news directory,  with
          the  filename  being the name of the current newsgroup,
          first letter capitalized.  (Either  +/  or  -/  may  be
          default  on  your  system, depending on the feelings of
          your news administrator when he, she  or  it  installed
          rn.)   You  may,  of course, explicitly set SAVEDIR and
          SAVENAME to other values|see discussion in the environ-
          ment section.

     Any switch may  be  selectively  applied  according  to  the
     current  baud|rate.  Simply prefix the switch with +speed to
     apply the switch at that speed or  greater,  and  -speed  to
     apply   the   switch  at  that  speed  or  less.   Examples:
     -1200-hposted suppresses the Posted line  at  1200  baud  or
     less; +9600-m enables marking at 9600 baud or more.  You can
     apply the modifier recursively to itself  also:  +300-1200-t
     sets terse mode from 300 to 1200 baud.

     Similarly, switches may be selected based on terminal type:

          -=vt100+T      set +T on vt100
          -=tvi920-ETERM=mytvi     get a special termcap entry
          -=tvi920-ERNMACRO=%./.rnmac.tvi
                         set up special keymappings
          +=paper-v      set verify mode if not hardcopy

     Some switch arguments, such as environment variable  values,
     may  require  spaces  in them.  Such spaces should be quoted
     via ", ', or  in the conventional fashion, even when passed
     via RNINIT or the & command.

     Regular Expressions

     The patterns used in article searching are  regular  expres-


Page 22                                                                   10/89


                                     a
                                     n
                                     d
                                      n
                                      o
                                      n
                                      |
                                      b
     sions  such as those used by ed(1)
o
. In addition, 168 an alphanumeric character and W a nonalphanumeric. uWord boundaries may be matched by n The bracketing construct ... ) may also be used, and d igit matches the digit'th substria
n
g, where digit can range from 1 to 9. matches whatever rthe last bracket match matched. Up to 10 alternative
i
s may given in a pattern, separated by , with the caveat te
h
at ... ... ) is illegal. s Interpretation and Interpolation b y Many of the strings that rn handles are subject to interpre- tations of several types. Under fiB
l
ename expansion, an ini- tial "~/" is translated to the name.of your home directory, and "~name" is translated to the login directory for the user specified. Filename expansion will also expand an ini- tial environment variable, and also does the backslash, Dell V.4/386 Last change: LOCAL 18 RN(1) USER COMMANDS RN(1) uparrow and percent expansion mentioned below. All interpreted strings go through backslash, uparrow and percent interpretation. The backslash escapes are the nor- mal ones (such as 0 , 0n, etc.). The uparrow escapes indicate control codes in the normal fashion. Backslashes or uparrows to be passed through should be escaped with backslash. The special percent escapes are similar to printf percent escapes. These cause the substitution of various run|time values into the string. The following are currently recognized: %a Current article number. %A Full name of current article (%P/%c/%a). (On a Eun- ice system with the LINKART option, %P/%c/%a returns the name of the article in the current newsgroup, while %A returns the real name of the article, which may be different if the current article was posted to multiple newsgroups.) 10/89 Page 23





     %b      Destination of last save command, often a mailbox.

     %B      The byte offset to the beginning of the part of  the
             article  to  be saved, set by the save command.  The
             's' and 'S' commands set it to 0, and  the  'w'  and
             'W'  commands  set it to the byte offset of the body
             of the article.

     %c      Current newsgroup, directory form.

     %C      Current newsgroup, dot form.

     %d      Full name of newsgroup directory (%P/%c).

     %D      "Distribution:" line from the current article.

     %f      "From:"  line  from  the  current  article,  or  the
             "Reply|To:"   line  if  there  is one.  This differs
             from %t in that comments (such as the full name) are
             not stripped out with %f.

     %F      "Newsgroups:" line for a  new  article,  constructed
             from   "Newsgroups:"  and  "Followup|To:"  lines  of
             current article.

     %h      Name of the header file to pass to the mail or  news
             poster,  containing  all  the  information  that the
             poster program  needs  in  the  form  of  a  message
             header.   It  may also contain a copy of the current
             article.  The format of  the  header  file  is  con-
             trolled by the MAILHEADER and NEWSHEADER environment



Dell V.4/386           Last change: LOCAL                      19






RN(1)                    USER COMMANDS                      RN(1)



             variables.

     %H      Host name (your machine's name).

     %i      "Message|I.D.:" line from the current article,  with
             <> guaranteed.



Page 24                                                                   10/89










     %I      The reference indication mark (see the -F switch.)

     %l      The news administrator's login name, if any.

     %L      Login name (yours).

     %m      The current mode of rn, for use in conditional  mac-
             ros.

                  i    Initializing.
                  n    Newsgroup selection level.
                  a    Article selection level (What next?).
                  p    Pager level (MORE prompt).
                  A    Add this newsgroup?
                  C    Catchup confirmation.
                  D    Delete bogus newsgroups?
                  M    Use mailbox format?
                  R    Resubscribe to this newsgroup?

             Note that yes/no questions are all upper|case modes.
             If,  for example, you wanted to disallow defaults on
             all yes/no questions, you could define the following
             macro:

              40 %(%m=[A|Z]?h: )

     %M      The number of articles marked to return via the  'M'
             command.   If  the  same  article is Marked multiple
             times, "%M" counts it multiple times in the  current
             implementation.

     %n      "Newsgroups:" line from the current article.

     %N      Full name (yours).

     %o      Organization (yours).

     %O      Original working directory (where you ran rn from).

     %p      Your private news directory, normally ~/News.

     %P      Public    news     spool     directory,     normally
             /usr/spool/news on systems that don't use NNTP.





Dell V.4/386           Last change: LOCAL                      20





10/89                                                                   Page 25










RN(1)                    USER COMMANDS                      RN(1)



     %r      Last reference on references line of current article
             (parent article id).

     %R      References list for a new article, constructed  from
             the  references  and article ID of the current arti-
             cle.

     %s      Subject, with all Re's and (nf)'s stripped off.

     %S      Subject, with one "Re:" stripped off.

     %t      "To:" line derived from the "From:" and  "Reply|To:"
             lines  of  the current article.  This always returns
             an Internet format address.

     %T      "To:" line derived from  the  "Path:"  line  of  the
             current article to produce a uucp path.

     %u      The number of unread articles in the  current  news-
             group.

     %U      The number of unread articles in the  current  news-
             group, not counting the current article.

     %x      The news library directory.

     %X      The rn library directory.

     %z      The length of the current article in bytes.

     %~      Your home directory.

     %.      The directory containing your dot  files,  which  is
             your  home directory unless the environment variable
             DOTDIR is defined when rn is invoked.

     %$      Current process number.

     %/      Last search string.

     %%      A percent sign.

     %{name} or %{name-default}
             The environment variable "name".

     %[name] The value of header line "Name:"  from  the  current
             article.  The "Name: " is not included.  For example
             "%D" and "%[distribution]" are equivalent.  The name


Page 26                                                                   10/89










             must be spelled out in full.

     %`command`
             Inserts the output of the command, with any embedded



Dell V.4/386           Last change: LOCAL                      21






RN(1)                    USER COMMANDS                      RN(1)



             newlines translated to space.

     %"prompt"
             Prints prompt  on  the  terminal,  then  inputs  one
             string, and inserts it.

     %(test_text=pattern?then_text:else_text)
             If  test_text  matches  pattern,   has   the   value
             then_text, otherwise else_text.  The ":else_text" is
             optional,  and  if  absent,  interpolates  the  null
             string.  The = may be replaced with != to negate the
             test.  To quote any of the metacharacters ('=', '?',
             ':', or ')'), precede with a backslash.

     %digit  The  digits  1  through  9  interpolate  the  string
             matched by the nth bracket in the last pattern match
             that had brackets.  If the last pattern had alterna-
             tives,  you  may  not know the number of the bracket
             you want|%0 will give you the last bracket matched.

     Modifiers: to  capitalize  the  first  letter,  insert  '^':
     "%^C"  produces  something  like "Net.jokes".  Inserting '_'
     causes the first letter following the last '/' to  be  capi-
     talized: "%_c" produces "net/Jokes".

ENVIRONMENT
     The following environment variables are paid attention to by
     rn.   In  general the default values assumed for these vari-
     ables by rn are reasonable, so if you are using rn  for  the
     first  time,  you can safely ignore this section.  Note that
     the defaults below  may  not  correspond  precisely  to  the
     defaults  on  your  system.  To find the actual defaults you
     would need to look in config.h and common.h in the rn source
     directory, and the file INIT in the rn library.


10/89                                                                   Page 27










     Those variables marked (%) are subject to  %  interpolation,
     and those marked (~) are subject to both % interpolation and
     ~ interpretation.

     ATTRIBUTION (%)
             Gives the format of the attribution line in front of
             the quoted article included by an F command.

             Default: In article %i %f writes:

     CANCEL (~)
             The shell command used to cancel an article.

             Default: inews -h < %h

     CANCELHEADER (%)
             The format of the file to pass to the CANCEL command



Dell V.4/386           Last change: LOCAL                      22






RN(1)                    USER COMMANDS                      RN(1)



             in order to cancel an article.

             Default:
             Newsgroups: %n
             Subject: cmsg cancel %i
             References: %R
             Reply|To: %L@%H (%N)
             Distribution: %D
             Organization: %o

             %i cancelled from rn.

     DOTDIR  Where to find your dot files, if they aren't in your
             home directory.  Can be interpolated using "%.".

             Default: $HOME

     EDITOR (~)
             The name of your editor, if VISUAL is undefined.

             Default: whatever your news  administrator  compiled


Page 28                                                                   10/89










             in, usually vi.

     FIRSTLINE (%)
             Controls the format of the line displayed at the top
             of an article.  Warning: this may go away.

             Default: Article %a %(%U%M!=^00$?(%U  more%(%M!=^0$?
             + %M Marked to return)) )in %C:, more or less.

     HIDELINE
             If defined,  contains  a  regular  expression  which
             matches  article  lines  to be hidden, in order, for
             instance, to suppress  quoted  material.   A  recom-
             mended  string  for  this  purpose is "^>...", which
             doesn't hide lines with only '>', to give some indi-
             cation  that  quoted  material is being skipped.  If
             you want to hide more than one pattern, you can  use
             "|"  to separate the alternatives.  You can view the
             hidden lines by restarting the article with the  'v'
             command.

             There is some overhead  involved  in  matching  each
             line  of  the  article against a regular expression.
             You might wish to use a baud|rate modifier to enable
             this feature only at low baud rates.

             Default: undefined

     HOME    Your home directory.  Affects ~ interpretation,  and
             the  location  of  your  dot  files if DOTDIR is not
             defined.



Dell V.4/386           Last change: LOCAL                      23






RN(1)                    USER COMMANDS                      RN(1)



             Default: $LOGDIR

     KILLGLOBAL (~)
             Where to find the KILL file to apply to every  news-
             group.  See the '^K' command at the newsgroup selec-
             tion level.



10/89                                                                   Page 29










             Default: %p/KILL

     KILLLOCAL (~)
             Where to find the KILL file for  the  current  news-
             group.  See the commands 'K' and '^K' at the article
             selection level, and the search modifier 'K'.

             Default: %p/%c/KILL

     LOGDIR  Your home directory if HOME is undefined.  Affects ~
             interpretation,  and  the location of your dot files
             if DOTDIR is not defined.

             Default: none.

             Explanation: you must have either $HOME or $LOGDIR.

     LOGNAME Your login name,  if  USER  is  undefined.   May  be
             interpolated using "%L".

             Default: value of getlogin().

     MAILCALL (~)
             What to say when there is new mail.

             Default: (Mail)

     MAILFILE (~)
             Where to check for mail.

             Default: /usr/spool/mail/%L

     MAILHEADER (%)
             The format of the header file for replies.  See also
             MAILPOSTER.

             Default:

             To: %T
             Subject: %(%i=^$?:Re: %S
             Newsgroups: %n
             In|Reply|To: %i)
             %(%[references]!=^$?References: %[references]
             )Organization: %o
             Cc:



Dell V.4/386           Last change: LOCAL                      24





Page 30                                                                   10/89










RN(1)                    USER COMMANDS                      RN(1)



             Bcc:

     MAILPOSTER (~)
             The shell command to be used by the  reply  commands
             (r and R) in order to allow you to enter and deliver
             the response.  Rn will not itself call upon an  edi-
             tor  for  replies|this  is a function of the program
             called by rn.  See also MAILHEADER.

             Default: Rnmail -h %h

     MBOXSAVER (~)
             The shell command to save an article in mailbox for-
             mat.

             Default: %X/mbox.saver %A %P %c %a %B %C "%b"               "From:
%T %`date`"

             Explanation: the first seven arguments are the  same
             as  for NORMSAVER.  The eighth argument to the shell
             script is  the  new  From:  line  for  the  article,
             including  the posting date, derived either directly
             from the Posted: line, or not|so|directly  from  the
             Date: line.  Header munging at its finest.

     MODSTRING
             The string to insert  in  the  group  summary  line,
             which  heads  each  article,  for a moderated group.
             See also NOPOSTRING.

             Default: " (moderated)"

     NAME    Your full name.  May be interpolated using "%N".

             Default: name from /etc/passwd, or ~/.fullname.

     NEWSHEADER (%)
             The format of the header file  for  followups.   See
             also NEWSPOSTER.

             Default:

             Newsgroups: %(%F=^$?%C:%F)
             Subject: %(%S=^$?%"0ubject: ":Re: %S)
             Summary:
             Expires:
             %(%R=^$?:References: %R
             )Sender:


10/89                                                                   Page 31










             Reply|To: %L@%H (%N)
             Followup|To:
             Distribution: %(%i=^$?%"0istribution: ":%D)
             Organization: %o



Dell V.4/386           Last change: LOCAL                      25






RN(1)                    USER COMMANDS                      RN(1)



             Keywords:

     NEWSPOSTER (~)
             The shell command to be used by  the  followup  com-
             mands  (f  and F) in order to allow you to enter and
             post a followup news article.  Rn  will  not  itself
             call upon an editor for followups|this is a function
             of the program called by rn.  See also NEWSHEADER.

             Default: Pnews -h %h

     NEWSRC  Your newsgroup subscription list.

             Default: $HOME/.newsrc

     NNTPSERVER
             The hostname of  your  NNTPSERVER.  [This  does  not
             apply  unless  you  are  running the NNTP version of
             rn.]

             Default: the hostname listed  in  the  server  file,
             usually /usr/local/lib/rn/server.

     NOPOSTRING
             The string to insert  in  the  group  summary  line,
             which heads each article, for a group to which local
             posting is not allowed.  See also MODSTRING.

             Default: " (no posting)"

     NORMSAVER (~)
             The shell command to save an article in  the  normal
             (non|mailbox) format.



Page 32                                                                   10/89










             Default: %X/norm.saver %A %P %c %a %B %C "%b"

     ORGANIZATION
             Either the name of your organization, or the name of
             a  file  containing  the  name of your organization.
             May be interpolated using "%o".

             Default: whatever your news  administrator  compiled
             in.

     PAGESTOP
             If defined,  contains  a  regular  expression  which
             matches  article  lines to be treated as form|feeds.
             There are at least two things you might want  to  do
             with this.  To cause page breaks between articles in
             a digest, you might define it  as  "^||||||||".   To
             force  a  page  break  before a signature, you could
             define it as "^|| $".  (Then, when you see  "||"  at



Dell V.4/386           Last change: LOCAL                      26






RN(1)                    USER COMMANDS                      RN(1)



             the  bottom  of the page, you can skip the signature
             if you so desire by typing 'n'  instead  of  space.)
             To  do  both,  you  could use "^||".  If you want to
             break on more than one pattern, you can use  "|"  to
             separate the alternatives.

             There is some overhead  involved  in  matching  each
             line  of  the  article against a regular expression.
             You might wish to use a baud|rate modifier to enable
             this feature only at low baud rates.

             Default: undefined

     PIPESAVER (%)
             The shell command to execute in order to  accomplish
             a  save  to a pipe ("s | command" or "w | command").
             The command typed by the user is substituted  in  as
             %b.

             Default: %(%B=^0$?<%A:tail +%Bc %A |) %b


10/89                                                                   Page 33










             Explanation: if %B is 0, the command  is  "<%A  %b",
             otherwise the command is "tail +%Bc %A | %b".

     RNINIT  Default values for switches may be passed to  rn  by
             placing  them  in RNINIT.  Any switch that is set in
             RNINIT may be overruled on the command line, or  via
             the  '&'  command  from  within  rn.   Binary|valued
             switches that are set with "-switch"  may  be  unset
             using "+switch".

             If RNINIT begins with a '/' it is assumed to be  the
             name  of a file containing switches.  If you want to
             set many environment variables  but  don't  want  to
             keep  them all in your environment, or if the use of
             any of these variables  conflicts  with  other  pro-
             grams,  you  can  use this feature along with the -E
             switch  to  set  the  environment   variables   upon
             startup.

             Default: " ".

     RNMACRO (~)
             The name of the file containing macros and key  map-
             pings.  See the MACROS section.

             Default: %./.rnmac

     SAVEDIR (~)
             The name of the directory to save to,  if  the  save
             command does not specify a directory name.




Dell V.4/386           Last change: LOCAL                      27






RN(1)                    USER COMMANDS                      RN(1)



             Default:
                If -/ is set: %p/%c
                If +/ is set: %p

     SAVENAME (%)
             The name of the file to save to, if the save command
             contains only a directory name.


Page 34                                                                   10/89










             Default:
                If -/ is set: %a
                If +/ is set: %^C

     SHELL   The name of your preferred shell.  It will  be  used
             by the '!', 'S' and 'W' commands.

             Default: whatever your news  administrator  compiled
             in.

     SUBJLINE (%)
             Controls the format of the lines  displayed  by  the
             '=' command at the article selection level.

             Default: %s

     TERM    Determines  which  termcap  entry  to  use,   unless
             TERMCAP contains the entry.

     TERMCAP Holds either the name of your  termcap  file,  or  a
             termcap entry.

             Default: /etc/termcap, normally.

     USER    Your login name.  May be interpolated using "%L".

             Default: $LOGNAME

     VISUAL (~)
             The name of your editor.

             Default: $EDITOR

     YOUSAID (%)
             Gives the format of the attribution line in front of
             the quoted article included by an R command.

             Default: In article %i you write:

MACROS
     When rn starts up, it looks  for  a  file  containing  macro
     definitions   (see   environment   variable  RNMACRO).   Any
     sequence of commands may be bound to any sequence  of  keys,
     so  you  could  remap  your  entire  keyboard if you desire.



Dell V.4/386           Last change: LOCAL                      28






10/89                                                                   Page 35










RN(1)                    USER COMMANDS                      RN(1)



     Blank lines or lines beginning with # in the macro file  are
     considered  comments;  otherwise  rn  looks  for  two fields
     separated  by  white  space.   The  first  field  gives  the
     sequence  of  keystrokes  that  trigger  the  macro, and the
     second field gives the  sequence  of  commands  to  execute.
     Both  fields are subject to % interpolation, which will also
     translate backslash and uparrow sequences.   (The  keystroke
     field  is interpreted at startup time, but the command field
     is interpreted at macro execution time so that you may refer
     to  %  values  in  a  macro.)   For  example, if you want to
     reverse the roles of carriage return and space in rn

     ^J    40
     ^M    40
      40 ^J

     will do just that.  By default, all characters in  the  com-
     mand  field  are interpreted as the canonical rn characters,
     i.e. no macro expansion is done.  Otherwise the  above  pair
     of  macros  would  cause  an  infinite loop.  To force macro
     expansion in the command field, enclose the macro call  with
     ^( ... ^) thusly:

     @s   |mysavescript
     @w   w^(@s^)

     You can use the %() conditional construct to construct  mac-
     ros that work differently under different circumstances.  In
     particular, the current mode (%m) of rn  could  be  used  to
     make  a  command that only works at a particular level.  For
     example,

     ^[[O %(%m=p? 40)

     will only allow the macro to work at the pager level.

     %(%{TERM}=vt100?^[[O)    /^J

     will do the binding only if  the  terminal  type  is  vt100,
     though  if you have many of these it would be better to have
     separate files for each terminal.

     If you want to bind a macro to a function key  that  puts  a
     common  garbage  character  after  the sequence (such as the
     carriage  return  on  the  end  of  Televideo  920  function
     sequences),  DO  NOT  put  the  carriage return into all the
     sequences or you will waste a CONSIDERABLE amount of  inter-
     nal  storage.   Instead of "^AF^M", put "^AF+1", which indi-


Page 36                                                                   10/89










     cates to rn that it should gobble up one character after the
     F.





Dell V.4/386           Last change: LOCAL                      29






RN(1)                    USER COMMANDS                      RN(1)



AUTHOR
     Larry Wall <lwall@jpl|devvax.jpl.nasa.gov>
     Stan Barber <sob@bcm.tmc.edu>
     Regular expression routines  are  borrowed  from  emacs,  by
     James Gosling.

FILES
     %./.newsrc  status of your news reading

     %./.oldnewsrc
                 backup copy of your .newsrc from start  of  ses-
                 sion

     %./.rnlock  lock file so you don't screw up your .newsrc

     %./.rnlast  info from last run of rn

     %./.rnsoft  soft pointers into /usr/lib/news/active to speed
                 startup, synchronous with .newsrc

     %./.rnhead  temporary header file to pass  to  a  mailer  or
                 news poster

     %./.rnmac   macro and keymap definitions

     %p          your news save directory, usually ~/News

     %x/active   the   list   of   active   newsgroups,   usually
                 /usr/lib/news/active  on  systems that don't use
                 NNTP

     %P          the  public  news   spool   directory,   usually
                 /usr/spool/news on systems that don't use NNTP



10/89                                                                   Page 37










     %X/INIT     system|wide default switches

SEE ALSO
     newsrc(5), more(1), readnews(1), Pnews(1), Rnmail(1)

DIAGNOSTICS
     Generally self|documenting, as they say.

BUGS
     The -h switch can only  hide  header  lines  that  rn  knows
     about.

     The '-' command doesn't cross newsgroup boundaries, and only
     undoes the last article selection.

     If you edit your .newsrc while rn is running, rn  will  hap-
     pily  wipe out your changes when it decides to write out the
     .newsrc file.



Dell V.4/386           Last change: LOCAL                      30






RN(1)                    USER COMMANDS                      RN(1)



     Rn doesn't do certain  things  (like  ordering  articles  on
     posting  date)  that  the  author feels should be handled by
     inews.

     Marking of duplicate articles as  read  in  cross|referenced
     newsgroups  will not work unless the Xref patch is installed
     in inews.

     If you get carried away with % or escape substitutions,  you
     can overflow buffers.

     There should be no fixed limit on the number of newsgroups.

     Some of  the  more  esoteric  features  may  be  missing  on
     machines with limited address space.







Page 38                                                                   10/89










Dell V.4/386           Last change: LOCAL                      31





















































10/89                                                                   Page 39





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026