trn Beginner Help

     NAME
          trn - threaded read news program

     SYNOPSIS
          trn [options] [newsgroups]

     DESCRIPTION
          Trn is a threaded version of rn, which is a replacement for
          the readnews(1) program.  Being "threaded" means that the
          articles are interconnected in reply order.  Each discussion
          thread is a tree of articles where all the reply (child)
          articles branch off from their respective originating
          (parent) articles.  A representation of this tree (or a
          portion of it) is displayed in the article header as you are
          reading news.  This gives you a better feel for how all the
          articles are related, and even lets you see at a glance when
          an article has replies -- a good thing to check before
          posting.  In addition, trn has a thread selector that allows
          you to quickly browse through a list of subjects and choose
          the ones you find interesting.  This thread selector sorts
          articles according to various criteria and can be switched
          into various display modes that allows you to pick all the
          subjects separately (threads can have multiple subjects) or
          even pick individual articles.  Any items you don't select
          can be saved for reading later or marked as read with a
          single keystroke.

          If you are already familiar with trn you may just want to
          read the WHAT'S NEW section.  People upgrading from rn will
          probably want to pay attention to the sections on The
          Selector, The Tree Display, and the aforementioned WHAT'S
          NEW.  If you're impatient, just dive in and get started.
          All the regular commands will be familiar to an rn or trn
          user, and the on-line help will give you a quick run-down of
          what commands are available (just type 'h' from any prompt).
          I'd also suggest using the command:

              trn -x -X

          to make sure some of the best features are turned on.

          Starting Trn

          If no newsgroups are specified, all the newsgroups which
          have unread news will be presented to the user in the order
          in which they occur in the .newsrc file.  At the prompt for
          each group you can choose to read it, skip it, move it, etc.
          If a list of newsgroups is provided on the command line, trn
          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 also the discussion of the 'a' command on
          the newsgroup-selection level).
          Trn operates on four levels: the newsgroup-selection level,
          the thread selector, the article-reading 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)
          trn behaves much like the more(1) program.  At the article-
          reading level articles are presented to you in the order of
          their replies, with the subjects being ordered by the date
          of the oldest unread article (though there are commands for
          changing the default display order).  In the thread selector
          you are presented with the subjects and (usually) authors
          associated with each discussion thread, and given a chance
          to choose which ones you wish to read now, save for later,
          or manipulate in some way.  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, help is available by typing an
          'h'.  This gives you a summary of available commands and
          what they do.  Remember this command, you'll need it.

          Typing space to any question means to do the normal thing.
          You will know 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
          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, trn will do several things:

          1.  It will look for your .newsrc file, which is your list
              of subscribed-to newsgroups.  If trn 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, trn will warn you and patch it up for you,
              but you may have to wait a little longer for it to start
              up.

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

          5.  Trn goes into the top prompt level -- the newsgroup-
              selection 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:

          ====== 17 unread articles in talk.blurfl -- read now? [ynq]

          unless the group is set for unthreaded reading, in which
          case the first six characters are "******".  The following
          commands may be given at this level:

          +       Enter this newsgroup through the selector.

          y       Begin reading this newsgroup now.

          SP      Enter the newsgroup by executing the default command
                  listed in []'s.

          .command
                  Do this newsgroup now, but execute command before
                  displaying anything.  The command will be
                  interpreted as if typed on the article selection
                  level.

          =       Start this newsgroup, but list subjects before
                  displaying articles.

          U       Enter this newsgroup through the "Set unread"
                  prompt.

          t       Toggle the newsgroup between threaded and unthreaded
                  reading.  The default is threaded, and the current
                  setting is stored in your .newsrc.

          n       Go to the next newsgroup with unread news.

          N       Go to the next newsgroup.

          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, which can be the group's name or a
                  zero-relative number of the groups in your .newsrc
                  (see the 'L' command to list your .newsrc).  If it
                  isn't currently subscribed to, you will be asked if
                  you want to subscribe.

          /pattern
                  Scan forward for a newsgroup matching pattern.
                  Patterns do globbing like filenames, i.e., use * to
                  match any sequence of characters, and [] to specify
                  a list of characters to match.  Use . to match a
                  single character.  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 beginning.

          ?pattern
                  Same as /, but search backwards.

          u       Unsubscribe from the 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.
                       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
                  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.

          A       Abandon the changes made to the current newsgroup
                  since trn was started.  Useful when you accidentally
                  mark a group as read.

          o {pattern}

          O {pattern}
                  Only display those newsgroups whose name matches
                  pattern.  Patterns are the same as for the '/'
                  command.  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.  Using 'O' will omit empty groups
                  from the cycle.

          a pattern
                  Add unsubscribed newsgroups matching pattern.  If
                  any matching newsgroups are found, you will be asked
                  for each one whether you would like to add it.  If
                  you want to add all the newsgroups, you can type 'Y'
                  and they will be added the the end of the .newsrc
                  file.  If you don't want to subscribe, all the
                  remaining groups can be ignored by typing 'N'.
                  After any new newsgroups have been added, the 'a'
                  command also restricts the current set of newsgroups
                  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.

          !command
                  Escape to a subshell.  One exclamation mark (!)
                  leaves you in your own news directory.  A double
                  exclamation mark (!!) leaves you in the spool
                  directory for news, which is usually /usr/spool/news
                  unless you're using NNTP to read news.  The
                  environment variable SHELL will be used if defined.
                  If command is null, an interactive shell is started.

          v       Print the current version number and information on
                  where to send bug reports.

          q       Quit.

          x       Quit, restoring .newsrc to its state at startup of
                  trn.  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 list of memorized commands (in the
                  global KILL file) that you wish to be performed in
                  every newsgroup as it is started up (that is, when
                  it is selected at the newsgroup-selection level).
                  This file contains commands (one per line) such as
                  /subject/:j or /author/f:+ to kill or select
                  articles based on the indicated search criteria.
                  There is also a local list of commands for each
                  newsgroup that can contain kill/selection commands
                  tailored for each specific group.  Because of the
                  overhead involved in searching for articles to kill,
                  it is better if possible to use a local list rather
                  than the global one.  Local memorized commands are
                  usually maintained by using the 'A' or 'T' commands
                  from the article/pager level or in the selector.
                  There is also a K search modifier that appends any
                  search command you desire to add.  It is also
                  possible to manually edit the file with the '^K'
                  command from anywhere inside a newsgroup.  If either
                  of the environment variables VISUAL or EDITOR is
                  set, the specified editor will be invoked; otherwise
                  a default editor is invoked on the KILL file.

          The Selector

          Most people who don't have all day to read news will want to
          enter a newsgroup by way of the selector.  This is
          accomplished by using the '+' command at the newsgroup-
          selection or article/pager levels.  In fact, this may be the
          default command for entering a newsgroup, depending on how
          your version of trn was configured and your use of the -X
          option.

          The selector displays a list of articles by their subjects
          and (usually) authors.  The articles are grouped into
          threads by default (which may list multiple subjects per
          selectable item if the subject has changed during the
          discussion) and ordered by the date of their oldest unread
          article.  Thread or subject groups are also shown with a
          count of the number of articles in each group.  Each
          selectable item is preceded by a letter or number that can
          be typed to toggle its selection.  Items that are selected
          are flagged with a '+' after their letter.  Groups that have
          only some of their articles selected are flagged with a '*'.
          You can change the selector's mode (to pick each subject
          separately or pick individual articles), order the list by a
          variety of sort criteria, and switch the author display
          between its long, medium and short styles using the commands
          detailed below.

          The following commands are available in the selector:

          a-z,0-9,A-Z
                  Select/deselect the indicated item by its letter or
                  number.  There are quite a few letters omitted from
                  the alpha characters to be typed as commands -- see
                  below.  Also, the variable SELECTCHARS is available
                  to customize which characters you want to be used as
                  selection letters, overriding their command
                  function.

          SP      Perform the default command.  This is usually > for
                  most pages, and Z on the last page (although D and X
                  are also quite popular).

          CR      Begin reading.  If no articles are selected, the
                  current item is selected (unless you've marked it as
                  killed).

          Z,TAB   Begin reading.  If no articles are selected, read
                  all unread articles.

          '.'     Toggle the current item's selection (the one under
                  the cursor).

          *       Same as '.' except that it affects all articles with
                  the same subject (useful in the article selector).

          #       Make an overriding selection that reads the current
                  item only, temporarily ignoring all other
                  selections.

          k, ','  Mark the current item as killed.

          m, \    Unmark the current item.

          -       Set a range, as in a - k.  Repeats the last marking
                  action: selection, deselection, killing, or
                  unmarking.

          @       Toggle all visible selections.

          M       Mark the current item's article(s) to return on
                  newsgroup exit and kill the item.

          Y       Yank back and select the marked-to-return articles,
                  clearing their to-return status.

          E       Exclude all unselected items from the selection list
                  (narrow the display).  Press it again to pick from
                  all available items.

          n, ]    Move down to the next item (try the down-arrow
                  keypad key also).

          p, [    Move up to the previous item (try the up-arrow
                  keypad key also).

          <       Go to previous page (try the left-arrow keypad key
                  also).

          >       Go to next page (try the right-arrow keypad key
                  also).

          ^       Go to the first page.

          $       Go to the last page.

          S       Set the items the selector displays: threads,
                  subjects or articles.  If the group is unthreaded
                  setting this to threads will thread the group.

          =       Switch between the article selector and the
                  subject/thread selector.

          O       Pick the order for the items: date, subject, author,
                  item count (for thread/subject groups), and a
                  subject-date grouping of individual articles.
                  Typing the selection in lower-case will sort the
                  articles in the default direction, while using
                  upper-case will reverse the sort.  There is a
                  separate default sort order for the subject/thread
                  selector and the article selector.  See the -O
                  option to set your favorite selector mode and sort
                  order as the default.

          R       Reverse the current sort order.

          L       Switch the selector's display between the long,
                  medium and short display styles.  See the -x option
                  to set your favorite style as the default.

          U       Switch between selecting unread/read articles.

          X       Mark all unselected articles as read and start
                  reading.

          D       Mark unselected articles on the current page as read
                  and begin reading if articles are selected,
                  otherwise go to the next page.

          J       Mark all selected articles as read (useful after
                  performing some action on them with the ':'
                  command).

          c       Catch up -- marks ALL articles as read without
                  affecting their cross-posted counterparts.

          A       Add a subject-search command to the memorized list
                  (a.k.a. a KILL file) for this group.  You are
                  prompted to choose selection (+), junking (j),
                  selection including all replies (.) or junking
                  including all replies (,).  If the thread has more
                  than one subject the first subject is the one chosen
                  for the memorized command.

          T       Add a thread-oriented command to the memorized list
                  for this group.  You are prompted to choose
                  selecting the thread (+), junking the thread (j), or
                  clearing the auto-selection/junking for the thread
                  (c).  (Note: there are three other options ('.',
                  ',', and 'C') on the article-reading level -- look
                  there for an explanation of their use.)

          ^K      Edit the local list of memorized commands (a.k.a. a
                  KILL file) for this newsgroup.  A detailed
                  description of memorized commands is found in the
                  Article Selection section.

          :command
                  Apply a command to all selected articles.  If
                  nothing is selected, nothing is done.

                  Applicable commands include '+'/'-' (select/deselect
                  an article), "++"/"--" (select/deselect a thread),
                  "T+" (auto-select the entire thread), "Tj" (auto-
                  junk the entire thread), 't' (display article tree),
                  "s dest" (save article to a destination), "e dir"
                  (extract to directory), 'E' (end partial uudecode),
                  as well as: S, |, w, W, m, M, j, = and ','.

          /pattern
                  Scan all articles for a subject containing pattern
                  and select it.

          /pattern/modifiers:command{:command}
                  Apply the commands listed to articles matching the
                  search command (possibly with h, a, r, or K
                  modifiers).  The default action, if no command is
                  specified, is to select the article's item in the
                  selector (e.g. the entire thread ("++") in the
                  thread selector).  See the section on Regular
                  Expressions and the description of pattern searching
                  in the Article Selection section.

                  One example: to scan all the unread articles looking
                  for "topic" anywhere in the article and then select
                  its group and save the articles to the files
                  topic.1, topic.2, etc. use "/topic/a:++:s topic.%#".

          N       Go to the next newsgroup with unread news.

          P       Go to the previous newsgroup with unread news.

          &       Display or set the current status of command-line
                  switches.

          &&      Display or set the current macro definitions.

          !command
                  Escape to a subshell.

          q       Quit this group.

          ESC,+   Quit the selector to the article level.  Note: ESC
                  won't work if trn has mapped your arrow keys with
                  default macros and the first character that your
                  arrow keys send is an ESC.

          Q       Quit the current newsgroup and return to the
                  newsgroup-selection prompt for this group.

          Article-Reading Level

          On the article-reading level, trn displays unread articles
          in thread sequence (reading each article and its replies
          before going on to another topic) unless threads are
          disabled for a particular group, in which case the default
          order is the order they arrived at your site (numeric
          sequence).  In either case if you use the subject-search
          command (^N) you will switch to reading the articles in date
          order within each matching subject.  (Making selections in
          the subject selector or using the -S switch will
          automatically turn subject search mode on in an unthreaded
          group.)

          On the article-reading level you are not asked whether you
          want to read an article before the article is displayed;
          rather, trn simply displays the first page (or portion of a
          page, at low baud rates) of an article and asks if you want
          to continue.  The normal article-reading prompt comes at the
          END of an article (although article-reading commands can
          also be given from within the middle of an article in
          addition to the pager level commands).  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
                  article does not mark the article as read, since an
                  article is automatically marked as read after the
                  last line of it is printed.  It is therefore
                  possible 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, e, s,
                  S, |, w, or W within the MIDDLE of the article is in
                  fact a special case.)

          N       Go to the next article.

          ^N      Find the next article with the same subject in date
                  order.  This also makes subject search mode (^N) the
                  default command at the end of an article.

          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).

          ^P      Find the previous article with the same subject in
                  date order.  Makes subject search mode (^N) the
                  default.

          _N      Go to the next article in numeric sequence.

          _P      Go to the previous article in numeric sequence.

          <, >    Browse the previous/next selected thread/subject.
                  If no selections have been made, all the threads
                  that had unread news when you entered the newsgroup
                  (or last left the selector) are treated as selected.
                  Entering an empty newsgroup makes all the already-
                  read threads available for browsing.

          [, ]    Proceed to the left/right in the article tree.
                  Visits already-read articles as well as empty nodes.
                  Try using the left-/right-arrow keys also.

          {, }    Go to the root/leaf of the article tree, even if the
                  node is already read or empty.  Proceeds to the very
                  first/last node if you're already at a root/leaf in
                  a multi-root thread.

          (, )    Go to the previous/next sibling in the thread,
                  including "cousin" siblings.  Try using the up-
                  /down-arrow keys also.

          t       Display the entire article tree and all its
                  associated subjects.  If the group is not currently
                  threaded, it will become threaded to process this
                  command.

          ^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.

          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.

          _C      Switch to next available charset conversion.

          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' (mark as read-until-exit), 'j' (mark as read),
                  "s dest" (save to a destination), "e dir" (extract
                  to directory), "!command" (shell escape), "=" (print
                  the subject), '+'/'-' (select/deselect the article),
                  'T+' (auto-select the entire thread), 'Tj' (auto-
                  junk the entire thread), "++"/"--" (select/deselect
                  the associated thread), 'C' (cancel), as well as S,
                  |, w, W, and t.

          :command
                  Apply a command to all selected articles.  If
                  nothing is selected, nothing is done.  For
                  applicable commands, see the discussion above for
                  the range command.

          j       Junk the current article (i.e. 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
                  don't want to see this article for a while you're
                  probably better off using M instead of m, otherwise
                  this article might get picked again as the first
                  available article sooner than you'd like.)

          M       Mark the current article to return on newsgroup
                  exit.  Until then, the current article will be
                  marked as read.  This is useful for returning to an
                  article in another session.

          Y       Yank back the marked-to-return articles, clearing
                  their to-return status.  If you are reading selected
                  articles, the yanked articles come back selected.

          /pattern
                  Scan forward for article containing pattern in the
                  subject.  See the Regular Expressions section.
                  Together with the escape substitution facility
                  described later, it becomes easy to search for
                  various attributes of the current article, such as
                  subject, article ID, author name, etc.  The previous
                  pattern can be recalled with ESC.  If pattern is
                  omitted, the previous pattern is assumed.

          /pattern/f
                  Scan forward for article containing pattern in the
                  from line.  If you are using thread files the
                  article data you are matching against MAY contain
                  only the real name of the user.  If you want to
                  always match the full from line, see the following
                  header-matching option that will read in the full
                  from-line data if it is not already available.

          /pattern/Hheader
                  Scan forward for article containing pattern in the
                  indicated header. Because we scan the entire string
                  up to the end of the modifiers, this modifier must
                  be the last one.  For example,
                  "/jsmoe@somesite.com/rHfrom:m+" will mark all
                  articles from "jsmoe@somesite.com" as unread and
                  select them.  Note that if the header line isn't one
                  that trn recognizes in its header parser, you'll
                  have to use the following full-header matching.

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

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

          /pattern/r
                  Scan read articles also.

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

          /pattern/I
                  Force the search to ignore the THRU line when
                  executed as a memorized command.  If the command
                  portion is a selection command (i.e. it starts with
                  a '+' or a '.') this is the default behavior.

          /pattern/N
                  Force the search to NOT ignore the THRU line when
                  executed as a memorized command (useful on selection
                  commands -- see also -k).


          /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' (mark as read-until-exit), 'j' (junk -- mark as
                  read in all groups), 'x' (mark as read in this
                  group), "s dest" (save to a dest), "e dir" (extract
                  to dir), "!command" (shell escape), "=" (print the
                  subject), '+' (select the article), '-' deselect the
                  article, 'T+' (auto-select the entire thread), 'Tj'
                  (auto-junk the entire thread), "++" (select the
                  associated thread), "--" deselect the associated
                  thread), 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 newsgroup.

                  For example, to save all articles in a given
                  newsgroup 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.)

          ,       Mark the current article and all its replies as
                  read.

          J       Junk all the articles in the current thread, even if
                  it contains multiple subjects.

          A       Add a subject-search command to the memorized list
                  for this group (in the KILL file).  You are prompted
                  to choose selection (+), junking (j), selection
                  including all replies (.) or junking including all
                  replies (,).

          K       This is a synonym for the command "Aj" which adds a
                  command to junk the current subject to the memorized
                  commands for the group.  See also the K modifier on
                  searches above.

          T       Add a thread-oriented command to the memorized list
                  for this group.  You are prompted to choose
                  selection of entire thread (+), junking of entire
                  thread (j), selection of an article and its replies
                  (.), junking of an article and its replies (,),
                  clearing the auto-selection/junking for this thread
                  (c), or clearing the auto-selection/junking for an
                  article and its replies (C).

          ^K      Edit the local list of memorized commands (a.k.a. a
                  KILL file) for this newsgroup.  Each line of the
                  KILL file is either a subject-affecting command of
                  the form /pattern/x or a thread-affecting command of
                  the form <message-id> Tx.  The first line in the
                  KILL file has the form "THRU <number>", which tells
                  trn the maximum article number that the KILL file
                  has been applied to.  The THRU value is usually only
                  used to keep header or article searches from
                  happening multiple times.  Subject and from-line
                  searches are quite fast if the group has cached data
                  around (e.g. a .thread or .overview file).  If it
                  doesn't, the THRU line is used to set a lower
                  boundary on the search to keep the startup time as
                  short as possible.  If trn skipped some selections
                  (or you're not sure), wait for the group to finish
                  being cached (e.g. visiting the selector forces the
                  caching of all unread articles), quit the group, and
                  re-enter.

                  To see only newgroup articles in the control
                  newsgroup, for instance, you might include the line

                  /newgroup/:+

                  which selects all subjects containing "newgroup".
                  You can add lines automatically via the A and T
                  commands as well as the K search modifier, but
                  editing is the only way to remove subject commands
                  (thread commands die automatically as the thread
                  dies).  If either of the environment variables
                  VISUAL or EDITOR is set, the specified editor will
                  be invoked; otherwise a default editor (normally vi)
                  is invoked on the KILL file.

                  The KILL file may also contain switch-setting lines
                  beginning with '&' (see the section on "Options")
                  and special commands beginning with '*'.  There are
                  two such commands at the moment:  "*j" (junk all
                  articles from THRU to the end of the group) and "*X"
                  (junk all unselected articles from THRU to the end
                  of the group).  Additionally, any line beginning
                  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.  One use for this
                  capability is to set your save directory to a custom
                  value upon entry to a newsgroup and set it back on
                  exit using the -ESAVEDIR option.  See also the -/
                  option for another solution to multiple save
                  directories without using KILL files.

          r       Reply through net mail.  The environment variables
                  MAILPOSTER and MAILHEADER may be used to modify the
                  mailing behavior of trn (see the environment
                  section).  If the current article does not exist
                  (such as the "End of newsgroup" pseudo-article you
                  can get to with a '$' command), invokes the mailer
                  to nobody in particular.

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

          ^F      Forward the current article.

          f       Submit a follow-up article.  If the current article
                  does not exist (such as the "End of newsgroup"
                  pseudo-article you can get to with a '$' command),
                  posts an original (root) article.

          F       Submit a follow-up article, and include the old
                  article, with lines prefixed either by ">" or by the
                  argument to the -F switch.  Trn 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 trn (see
                  environment section).

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

          z       Supersede the current article, but only if you are
                  the contributor.

          Z       Same as the 'z' command, but you start with a copy
                  of the original article to work with.


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

          U       Mark some or all articles as unread.  You can choose
                  to mark the current thread, sub-thread (the current
                  article and its replies), all the articles, or start
                  up the selector to choose specific articles to set
                  unread.

          u       Unsubscribe from 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
                  environment variable SAVENAME is used to generate
                  the actual name.  If a non-absolute filename is
                  specified, the environment variable SAVEDIR will be
                  used to generate the actual directory.  If nothing
                  is specified, then obviously both variables will be
                  used.  Since the current directory for trn 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 trn, 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, trn determines if the file exists already,
                  and if so, appends to it.  trn will attempt to
                  determine if an existing file is a mailbox or a
                  normal file, and save the article in the same
                  format.  If the output file does not yet exist, trn
                  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,
                  NORMSAVER 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 trn.

          | command
                  Shorthand for "s | command".

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

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

          e directory
                  Extract a shell archive or uuencoded binary to the
                  designated directory.  The article is first scanned
                  to try discover what type of data is encapsulated.
                  If a "cut here" line is found, the first non-blank
                  line after it must be either the start of a shar
                  header, or the "begin" or "table" line of a
                  uuencoded binary.  The default for extracting shars
                  is to send the data portion of the file to /bin/sh,
                  but that can be overridden with the UNSHAR variable
                  (see the ENVIRONMENT section).  Uudecoding is done
                  internally by a decoder that can handle the data
                  being split up over multiple articles, and extracted
                  one piece at a time.  To decode a multi-article
                  file, either execute the 'e' command in each article
                  in sequence, use an article range to execute the
                  command, or use the ":e" command to repeat the
                  command for each of the currently selected articles.
                  When the 'e' command is not followed by any
                  arguments, it will repeat the arguments from the
                  last extraction.  All directory specifications are
                  relative to the value of SAVEDIR, so you can use the
                  command "e ." to force an extraction to SAVEDIR
                  itself.  If a uudecoding is in progress (i.e. the
                  last piece wasn't extracted yet) and you exit the
                  group, the partial file will be removed.  This also
                  occurs if you start to extract a new uuencoded file
                  before the previous one was finished.  See also the
                  'E' command for ending a multi-part uudecoding
                  manually.

                  There is one special case that is handled
                  differently: if the first file in a recognizable
                  shar file is a uuencoded binary that was packed with
                  lines starting with an 'X', we will not unshar the
                  file but instead uudecode it.  If this causes
                  problems, you can override the default extraction
                  method by following the directory with an explicit
                  command to execute, as described below.

          e directory|command
                  This form of the 'e' command allows you to extract
                  other data formats than shar or uuencoded files or
                  to override the decisions made by the automatic
                  extraction selection described above.  In normal
                  operation, all data following what we recognize as a
                  "cut here" line will be sent to the specified
                  command.  Additionally, the distinctive beginning of
                  a shell archive is also recognized without a
                  preceding cut line.  When the command is run, the
                  default directory will be set to the specified
                  directory, or the value of SAVEDIR if unspecified.
                  Entering the 'e' command without arguments will
                  repeat your previous extract command.  You can use
                  the command "e dir|" to extract to a new directory
                  using the previously-specified command.

          E       This command ends any multi-part uuencoded file
                  extraction that you began, but are unable (or
                  unwilling) to complete.  The partially extracted
                  file is removed.

          &       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
                  directory 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.

          +       Start the selector in the last-used mode.  If the
                  newsgroup is unthreaded and the default selector
                  mode is threads, we temporarily switch to subject
                  selection unless manually overridden.

          _a      Start the selector in article mode.

          _s      Start the selector in subject mode.

          _t      Start the selector in thread mode.

          _T      Start the selector in thread mode unless the group
                  isn't threaded, in which case we settle for the
                  subject selector.

          =       List subjects of unread articles.

          #       Print last article number.

          _+      Select the entire thread associated with the current
                  article.

          _-      Deselect the entire thread associated with the
                  current article.

          Pager Level

          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       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       Back up one page.

          _C      Switch to next available charset conversion.

          t       Display the entire article tree, including its
                  associated subjects, and continue reading.  If the
                  group is not currently threaded, it will be threaded
                  first.

          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.
                  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
                  character 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
          article selection level for these commands.

              # $ & / = ? A c C f F k K T ^K J , m M r R ^R u U v Y ^
              p P ^P - < > [ ] { } 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
          article as read:

              n N ^N e 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 trn 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 trn 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 %
          substitutions for environment variables in the
          Interpretation and Interpolation section, which are the
          same.  Additionally, typing a double escape will cause any %
          substitutions in the string already typed in to be expanded.

          The Tree Display

          When reading a threaded newsgroup, trn displays a character
          representation of the article tree in the upper right corner
          of the header.  For example, consider the following display:

              (1)+-(1)--(2)--[2]
                 |-(1)+-<3>
                 |    \-[1]
                 \-(1)+-[1]--[1]
                      \-[1]

          This tree represents an initial article that has three
          direct replies (the second column with three (1)'s).  Each
          reply has further replies branching off from them.  In two
          cases the subject line was altered in the reply, as
          indicated by the increasing numbers.

          The third subject is not selected for reading, as indicated
          by the <>'s.  Note you can always forcefully visit an
          unselected article with 'N' and 'P' as well as the thread-
          navagation commands (which are typically macro'ed to the
          arrow keys on your keypad).

          When there is only one subject associated with a thread, all
          the nodes are marked with the number 1.  When the first
          subject change arrives, it is marked with the number 2, and
          so on.  If you were to look at this thread in the thread
          selector, the three subjects associated with it would be
          listed in the same order as the ascending digits.  In those
          rare cases where more than 9 subjects are associated with
          each thread, the nodes are marked with the letters A-Z, and
          then by a-z.

          The articles that have already been read are enclosed in
          ()'s, Unread articles are displayed in []'s, and unread-
          but-unselected articles are displayed in <>'s.  The
          currently displayed article has its entire node highlighted
          in the display.  The previously displayed article has only
          its number highlighted.  If the group has not been
          completely threaded yet, some articles will appear as (?)
          until trn can determine if the referenced article truly
          exists or not.  If you visit such an article and wait for
          trn to finish threading the group, the screen will refresh
          as soon as the presence or absence of the article is
          determined.

          Options

          Trn 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 "-x6ms +e -mu -S -XX -N -B -p".)  These
          options may be set on the command line, via the TRNINIT
          environment variable, via a file pointed to by the TRNINIT
          variable, or from within trn via the & command.  Options may
          generally be unset by typing "+switch".  Options include:

          -a   causes trn to always thread the unread articles on
               entry to a group.  Without this option trn may enter a
               group in a partially-threaded state and process the
               unthreaded articles in the background.  The down side
               of this is that the tree display may not be complete
               when it is first displayed and you may start out at an
               odd position in the first thread's article tree.

          -A   tells trn to attempt to create some default macros that
               will map your arrow keys to useful trn functions (this
               is the default).  Use +A to turn this behavior off.

          -b   will force trn to read each thread in a breadth-first
               order, rather than depth-first.

          -B   will turn on a spinner that twirls when trn is doing
               background article-processing.  A gizmo for those
               interested in what's going on behind the scenes.

          -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 trn means that
               there is unread news in one of the checked newsgroups.
               The -c switch does not disable the printing of
               newsgroups with unread news; this is controlled by the
               -s switch.  (The -c switch is not meaningful when given
               via the & command.)

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

          -d<directory name>
               sets your private news directory to something other
               than ~/News.  The directory name will be globbed (via
               csh) if necessary (and if possible).  The value of
               SAVEDIR (where articles are saved) is initially set to
               this directory, but is often manipulated via the -/
               option or by manipulating SAVEDIR directly (perhaps via
               the memorized commands (the KILL file) for a group.
               Any KILL files (see the K command in the Article
               Selection section) also reside in this directory 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 trn 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
               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 conjunction 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 trn, "&-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 trn.

          -f   will make trn avoid various sleep calls and the prompt
               after the processing of the memorized commands that are
               intended to allow you time to read a message before the
               screen clears.  This allows the advanced user to cruise
               along a little faster at the expense of readability.
               The -t (terse) option turns on -f by default, but you
               can override this by specifying +f after the -t option.

          -F<string>
               sets the prefix string for the 'F' follow-up 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,
               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 trn which line of the screen you want searched-
               for strings to show up on when you search with the 'g'
               command within an article.  The lines are numbered
               starting 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.

          -G   selects the "fuzzy" processing on the go command when
               you don't type in a valid group name.  With this option
               on trn will attempt to find the group you probably
               meant to type, but it can be a little slow about it, so
               it's not on by default.

          -h<string>
               hides (disables the printing of) all header lines
               beginning with string that trn recognizes.  For
               instance, -hexp will disable the printing of the
               "Expires:" line.  Case is insignificant.  Headers
               unknown to trn cannot be disabled except by turning
               them all off (-h without a string will disable all
               headers except the Subject) and then using +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 Date line prints the date in
               local time if the group is threaded; the From line will
               only print the commented portion of the user name; the
               Newsgroups line will only print when there are multiple
               newsgroups; the Subject line will be underlined and
               (when threaded) the keyword 'Subject:' is replaced by
               its subject number (e.g. [1]); and the Expires line
               will always be 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
               page of an article -- normally this is determined
               automatically 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.)

          -I   tells trn to append all new, unsubscribed groups to the
               end of the .newsrc.

          -j   forces trn to leave control characters unmolested in
               messages.

          -J{<number>}
               causes trn to join similar subjects into a common
               thread if they are the same up to the indicated number
               of characters (the default is 30).  You can turn this
               on and off for specific groups by putting the following
               lines into your kill file for the group(s):

               &-J30
               X&+J

          -k   tells trn to ignore the THRU line when processing
               selection searches (i.e. searches with a command
               portion that starts with a '+' or a '.') in the
               memorized commands (aka kill files).  This is turned on
               by default, so use +k if you want to turn it off.

          -K   is used to keep a trn from checking for new news while
               you're in the group.  Use this when your kill-file
               processing is so slow that you don't want the group to
               expand while you're reading.  If you only want specific
               groups to be affected, put these lines into your kill
               file for the group(s):
               &-K
               X&+K

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

          -L   tells trn 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.

          -o   will act like old versions of trn and not junk cross-
               referenced articles when using thread commands to junk
               articles in the current group (such as the selector's
               'X' command).

          -O<mode>{<order>}
               specifies the selector's mode and (optionally) the sort
               order.  The modes are 'a'rticle, 's'ubject, or
               't'hread.  The orders are 'd'ate, 's'ubject, 'a'uthor,
               article 'c'ount per group, or subject-date 'g'roups.
               The order can be capitalized to reverse the indicated
               order.  For example, to choose the article selector in
               subject order specify "-Oas".

          -p{opt}
               tells trn to auto-select your postings and their
               replies as it encounters them in the various groups you
               read.  The optional parameter is either a '.', 'p', or
               '+' (it defaults to '.' if omitted) and affects what
               command trn should execute when it encounters your
               postings.  The default is to execute the command "T."
               on each of your postings which tells trn to memorize
               the auto-selection of this article and all its replies.
               Using -pp tells trn to use the same command, but start
               the selection with the parent article, so that you see
               any other replies to the same article.  Using -p+ tells
               trn to select the whole thread that contains your
               reply.

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

          -Q<set>
               defines the set of available charset conversions. This
               can be useful to restrict the available conversions to
               those your terminal can handle and/or to specify an
               alternate default. The first element of this set is
               taken as default for each article.

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

          -s   with no argument suppresses the initial listing of
               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
               listing 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
               putting "rn -c" into your .login file is fine.

          -S<number>
               causes trn to enter subject search mode (^N)
               automatically whenever an unthreaded newsgroup is
               started up with <number> unread articles or more.
               Additionally, it causes any 'n' typed while in subject
               search mode to be interpreted 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 trn into terse mode.  This is more cryptic but
               useful for low baud rates.  (Note that your system
               administrator may have compiled trn 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 trn.  Ordinarily trn 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 typeahead only at lower baud rates.

          -u   sets the unbroken-subject-line mode in the selector,
               which simply truncates subjects that are too long
               instead of dumping the middle portion prior to the last
               two words of the subject.

          -U   tells trn to not write the .newsrc file out after
               visiting each group.  While this is "unsafe" it can be
               faster if you have a really huge .newsrc.

          -v   sets verification mode for commands.  When set, the
               command being executed is displayed to give some
               feedback 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.

          -x{<number>}{<list>}
               Enable the extended (threaded) features of trn beyond
               the rn compatibility mode (this may be the default on
               your system, use +x if you yearn for the good ol'
               days).  The <number> is the maximum number of article-
               tree lines (from 0 to 11) you want displayed in your
               header.  Use the <list> to choose which thread selector
               styles you like ('s'hort, 'm'edium, or 'l'ong), and in
               what order they are selected with the 'L' command.  For
               example, use -xms to start with the medium display mode
               and only switch between it and the short mode.  You can
               omit either or both of the parameters, in which case a
               default of -x6lms is assumed.

          -X{<number>}{<commands>}
               If you like using the selector, you'll probably want to
               use this option to make the selector command (+) the
               default when a newsgroup is started up with at least
               <number> unread articles.  (Your installer may have
               chosen to make -X1 the default on your system.)  It is
               also used to select which commands you want to be the
               defaults while using the thread selector.  For example,
               -X2XD will make the thread selector the default command
               for entering a newsgroup with at least 2 unread
               articles, and set the default command for the LAST page
               of the thread selector to be the X command and the
               default command for all other pages to be the D
               command.  Either or both parameters can be omitted, as
               well as the second default command (e.g.  -XX would
               change the default newsgroup entry to use the selector
               and the default command for the last page of the
               selector to be 'X').  The default is -X1Z> if just -X
               is specified.  To set the default selector commands
               without having '+' be the default entry into a
               newsgroup, specify a high number, like 9999.

          -z   sets the minimum number of minutes that must elapse
               before the active file is refetched to look for new
               articles.  A value of 0 or using +z turns this off.

          -Z   is used to select what style of database you want trn
               to access.  Use -Zt for thread files, -Zo for overview
               files, and +Z for none.  The default is whatever your
               newsadmin compiled into trn, and can be -Zot to try to
               access either one.

          -/   sets SAVEDIR to "%p/%c" and SAVENAME to "%a", which
               means that by default articles are saved in a
               subdirectory 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 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 trn.)  You may, of course, explicitly set
               SAVEDIR and SAVENAME to other values -- see discussion
               in the environment 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 key-mappings

               +=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 TRNINIT or the & command.

          Regular Expressions

          The patterns used in article searching are regular
          expressions such as those used by ed(1).  In addition, \w
          matches an alphanumeric character and \W a non-alphanumeric.
          Word boundaries may be matched by \b, and non-boundaries by
          \B.  The bracketing construct \( ... \) may also be used,
          and \digit matches the digit'th substring, where digit can
          range from 1 to 9.  \0 matches whatever the last bracket
          match matched.  Up to 10 alternatives may given in a
          pattern, separated by \|, with the caveat that
          \( ... \| ... \) is illegal.

          Characterset conversions

          trn can use character set conversions when displaying
          articles. This helps users in non-English-speaking countries
          to display special characters on 7-bit displays.  trn
          assumes that articles use the ISO-8859-1 character set and
          converts the special characters (e.g., "umlauts") to a
          string of ASCII characters. Currently the following
          conversions are supported (see the -Q option):

          p    Plain. No change. This is the default.

          a    ISO->ASCII. Special characters are mapped to ASCII,
               e.g. the umlaut-o character becomes oe.

          m    ISO->ASCII monospaced. Special characters are mapped to
               exactly one similar-looking ASCII character, e.g.
               umlaut-o becomes o. Used where correct spacing is more
               important than accuracy.

          t    TeX->ISO. Assuming your display can handle the ISO-
               8859-1 charset, trn transforms umlauts in the TeX
               notation, which is commonly used in Germany, to real
               ISO characters, e.g. "a becomes umlaut-a.

          The selected conversion, if different from p, will be
          displayed in the article level and pager prompt. The
          conversion is also used when including original articles in
          a reply or followup. It is not used when saving articles to
          files.


          Interpretation and Interpolation

          Many of the strings that trn handles are subject to
          interpretations of several types.  Under filename expansion,
          an initial "~/" 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 initial environment variable, and also does the
          backslash, caret and percent expansion mentioned below.

          All interpreted strings go through backslash, caret and
          percent interpretation.  The backslash escapes are the
          normal ones (such as \n, \t, \033, etc.).  The caret escapes
          indicate control codes (such as ^i, ^l, etc.).  If you wish
          to pass through a backslash or a caret it must be escaped
          with a 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).

          %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.

          %e      The last command executed to extract data from an
                  article.

          %E      The last directory where an extracted file went.

          %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
                  controlled by the MAILHEADER and NEWSHEADER
                  environment variables.

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

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

          %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 trn, for use in conditional
                  macros.

                       i    Initializing.
                       n    Newsgroup-selection level.
                       f    end (Finis) of newsgroup-selection level.
                       t    the Thread/subject/article selector.
                       a    Article level (What next?).
                       e    End of the article level.
                       p    Pager level (MORE prompt).
                       u    Set-unread prompt.
                       d    selector moDe prompt.
                       o    selector Order prompt.
                       m    Memorize thread command prompt.
                       r    memoRize subject command prompt.
                       k    processing memorized (KILL file) commands.
                       A    Add this newsgroup?
                       B    aBandon confirmation.
                       C    Catchup confirmation.
                       D    Delete bogus newsgroups?
                       F    Is follow-up a new topic?
                       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:

                  \040 %(%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 trn from).

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

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

          %q      The value of the last "quoted" input string (see the
                  %" interp).

          %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
                  article.

          %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
                  newsgroup.

          %U      The number of unread articles in the current
                  newsgroup, not counting the the current article.
                  When threads are selected, this count reflects only
                  selected articles.

          %v      The number of unselected articles, not counting the
                  current article if it is unselected.

          %w      The directory where mthreads keeps its tmp files.

          %W      The directory where thread files are placed.

          %x      The news library directory.

          %X      The trn library directory.

          %z      The length of the current article in bytes.

          %Z      The number of selected threads.

          %~      Your home directory.

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

          %#      The current count for a multi-file save, starting
                  with 1.  This value is incremented by one for each
                  file saved or extracted within a single command.

          %$      Current process number.

          %/      Last search string.

          %?      A space unless the current interp string is > 79
                  characters, at which point it turns into a newline.

          %%      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
                  must be spelled out in full.

          %`command`
                  Inserts the output of the command, with any embedded
                  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 meta-characters ('=',
                  '?', ':', 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
                  alternatives, 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 "Rec.humor".  Inserting '_'
          causes the first letter following the last '/' to be
          capitalized: "%_c" produces "rec/Humor".

          Inserting '\' will insert a backslash before any characters
          that would be magic in a regular expression, including '%':
          "%\C" produces "rec\.humor".

          Inserting "'" will insert a backslash before any single-
          quotes in the result, suitable for enclosing in single-
          quotes and sending to a shell:  "'%'s'" might produce
          "'I'\''m a subject'".

          Inserting ">" will strip out just the address portion of an
          address string such as the From line.

          Inserting ")" will strip out just the comment (real name)
          portion of an address string such as the From line.

          Inserting ":FMT" will format the result according to the
          printf-style FMT string: "%:-50.50s" left-justifies the
          subject into a 50 character field.

     ENVIRONMENT
          The following environment variables are paid attention to by
          trn.  In general the default values assumed for these
          variables by trn are reasonable, so if you are using trn 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 trn
          source directory, and the file INIT in the trn library
          directory.

          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 <%>f> wrote:

          AUTOSUBSCRIBE
                  When trn is checking for new newsgroups and finds
                  one matching one of the patterns in AUTOSUBSCRIBE,
                  the new group is automatically added to the end of
                  the .newsrc, subscribed.  Newsgroups not matching
                  this or AUTOUNSUBSCRIBE, below, are offered to the
                  user.

                  AUTOSUBSCRIBE is a comma separated list of newsgroup
                  patterns ala 'o', '/', etc.  It can also include
                  "but not" entries preceded by '!'.  "a,b,!c,d" is
                  read as "matching a or b, unless it also matches c;
                  matching d regardless".  Another way to look at it
                  is "(((a or b) and not c) or d)".  To automatically
                  subscribe to all local groups but be choosy about
                  non-local groups, one might say "*,!*.*".

                  Default: (none)

          AUTOUNSUBSCRIBE
                  AUTOUNSUBSCRIBE is very similar to AUTOSUBSCRIBE,
                  above, but new newsgroups matching it are
                  automatically added to the end of the .newsrc file,
                  unsubscribed.  If a newsgroup matches AUTOSUBSCRIBE,
                  AUTOUNSUBSCRIBE is not consulted.

                  Default: (none)

          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
                  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 trn.

          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
                  in, usually vi.

          EXSAVER (%)
                  The shell command to execute in order to extract
                  data to either /bin/sh or a user-specified command.

                  Default: tail +%Bc %A | %e

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

                  The default (ignoring the Marked to return display
                  in unthreaded groups) is approximately:

                  %C #%a%(%Z=^0$?%(%U!=^0$? (%U more\)): (%U + %v
                  more\))

          FORWARDHEADER (%)
                  The format of the header file for forwarding
                  messages.  See also FORWARDPOSTER.

                  Default:

                  To:
                  Subject: %(%i=^$?:[subject] (fwd\\)
                  %(%{REPLYTO}=^$?:Reply-To: %{REPLYTO}
                  )Newsgroups: %n
                  In-Reply-To: %i)
                  %(%[references]=^$?:References: %[references]
                  )Organization: %o
                  Cc:
                  Bcc: \n\n

          FORWARDPOSTER (~)
                  The shell command to be used by the forward command
                  (^F) in order to allow you to edit and deliver the
                  file.  trn will not itself call upon an editor for
                  replies -- this is a function of the program
                  referenced by FORWARDPOSTER.  See also FORWARDHEADER
                  and MAILPOSTER.

                  Default: QUOTECHARS=%I Rnmail -h %h

          HIDELINE
                  If defined, contains a regular expression which
                  matches article lines to be hidden, in order, for
                  instance, to suppress quoted material.  A
                  recommended string for this purpose is "^>...",
                  which doesn't hide lines with only '>', to give some
                  indication 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.

                  Default: $LOGDIR

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

                  Default: %p/KILL

          KILLLOCAL (~)
                  Where to find the KILL file for the current
                  newsgroup.  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().

          LOCALTIMEFMT
                  The format used by strftime() to print the local
                  time.  The Date line is only displayed in local time
                  if the group is threaded (see the -H option for more
                  information on Date).

                  Default: %a %b %e %X %Z %Y

                  which is the same format as the date(1) command.

          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
                  %(%{REPLYTO}=^$?:Reply-To: %{REPLYTO}
                  )Newsgroups: %n
                  In-Reply-To: %i)
                  %(%[references]=^$?:References: %[references]
                  )Organization: %o
                  Cc:
                  Bcc: \n\n

          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.  trn will not itself call upon an
                  editor for replies -- this is a function of the
                  program referenced by MAILPOSTER.  See also
                  MAILHEADER.

                  Default: QUOTECHARS=%I Rnmail -h %h

          MBOXSAVER (~)
                  The shell command to save an article in mailbox
                  format.

                  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 follow-ups.  See
                  also NEWSPOSTER.

                  Default:

                  %(%[followup-to]=^$?:X-ORIGINAL-NEWSGROUPS: %n
                  )Newsgroups: %(%F=^$?%C:%F)
                  Subject: %(%S=^$?%"\n\nSubject: ":Re: %S)
                  Summary:
                  Expires:
                  %(%R=^$?:References: %R
                  )Sender:
                  Followup-To:
                  %(%{REPLYTO}=^$?:Reply-To: %{REPLYTO}
                  )Distribution: %(%i=^$?%"Distribution: ":%D)
                  Organization: %o
                  Keywords: %[keywords]
                  Cc: \n\n

          NEWSORG Either the name of your organization, or the name of
                  a file containing the name of your organization.
                  (For use at sites where the ORGANIZATION
                  environmental variable is already in use.  NEWSORG
                  will override ORGANIZATION if both are present.)
                  May be interpolated using "%o".

                  Default: whatever your news administrator compiled
                  in.

          NEWSPOSTER (~)
                  The shell command to be used by the follow-up
                  commands (f and F) in order to allow you to enter
                  and post a follow-up news article.  trn will not
                  itself call upon an editor for follow-ups -- this is
                  a function of the program called by trn.  See also
                  NEWSHEADER.

                  Default: QUOTECHARS=%I Pnews -h %h

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

                  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.

                  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.
                  (If NEWSORG is set, it will override 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
                  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

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

          REPLYTO The value of the "Reply-To:" header, if needed.


          RNINIT  This variable is used when initializing trn in rn-
                  compatibility mode (see the -x switch) or when the
                  TRNINIT variable isn't defined.  See the TRNINIT
                  variable for a description.

          RNMACRO (~)
                  The name of the file containing macros and key
                  mappings when running trn as rn.  See also the
                  TRNMACRO variable and the CUSTOM MACROS section.

                  Default: %./.rnmac

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

                  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.

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

          SELECTCHARS
                  The characters used by the thread selector to select
                  the associated thread of discussion.  You can
                  specify up to 64 visible characters, including
                  upper- and lower-case letters, numbers, and many
                  punctuation characters.  Selection characters
                  override command characters in the selector, but are
                  not excluded from macro expansion, so be careful.
                  Default: abdefgijlorstuvwxyz1234567890BCFGHIKMVW
                  (You'll notice various characters are omitted to
                  allow them to be typed as commands in the selector.)

          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

          SUPERSEDEHEADER (%)
                  The format of the header file for a supersede
                  article.

                  Default:

                  From: %L@%H (%N)
                  Newsgroups: %n
                  Subject: %S
                  Distribution: %D
                  Organization: %o
                  Supersedes: %i

          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.

          TRNINIT Default values for switches may be passed to trn by
                  placing them in the TRNINIT variable (or RNINIT if
                  you're starting trn in rn-compatibility mode).  Any
                  switch that is set in this way may be overruled on
                  the command line, or via the '&' command from within
                  trn.  Binary-valued switches that are set with
                  "-switch" may be unset using "+switch".

                  If TRNINIT begins with a '/' it is assumed to be the
                  name of a file containing switches.  You can put
                  comments in this file by preceding them with a '#'
                  as long as this is the first character on a line or
                  it follows some white-space (which delimits the
                  switches in the file).  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 programs, you
                  can use this feature along with the -E switch to set
                  the environment variables upon startup.

                  Default: " ".

          TRNMACRO (~)
                  The name of the file containing macros and key
                  mappings.  If the file is not found, the RNMACRO
                  variable is used to look for your rn macros.  For
                  information on what to put into this file, see the
                  CUSTOM MACROS section.

                  Default: %./.trnmac

          UNSHAR (~)
                  The shell command to execute in order to accomplish
                  the unshar'ing of a shell archive.

                  Default: /bin/sh

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

                  Default: $LOGNAME

          VISUAL (~)
                  The name of your editor.

                  Default: $EDITOR

          XTERMMOUSE
                  If you set this variable to 'y' (yes), trn will
                  enable the use of the xterm mouse in the selector if
                  you are using an xterm.  If you set it to 'a'
                  (always), trn will assume you have an xterm.  Once
                  enabled left-clicking on an item selects it while
                  middle-clicking an item will move to that item.  If
                  you click the top (header) line of the selector it
                  moves up a page.  If you click the bottom (footer)
                  line of the selector it executes the default command
                  for the page (left click) or goes down a page
                  (middle click).  You can also use the right mouse
                  button to move up or down a page by clicking in the
                  upper-half or lower-half of the screen,
                  respectively.

          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:

     AUTOMATIC MACROS
          On startup trn attempts to build a set of macros that map
          your keypad arrow keys to useful functions.  These default
          actions are mentioned in the prior description of each
          level's commands.  If you don't like this (or trn gets it
          wrong), you can disable the automatic macros by using the -A
          option.

     CUSTOM MACROS
          When trn starts up it looks for a file containing macro
          definitions (see environment variables TRNMACRO and
          RNMACRO).  Any sequence of commands may be bound to any
          sequence of keys, so you could re-map your entire keyboard
          if you desire.  Blank lines or lines beginning with # in the
          macro file are considered comments; otherwise trn 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 caret 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 trn

          ^J   \040
          ^M   \040
          \040 ^J

          will do just that.  By default, all characters in the
          command field are interpreted as the canonical trn
          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
          macros that work differently under different circumstances.
          In particular, the current mode (%m) of trn could be used to
          make a command that only works at a particular level.  This
          is particularly vital for the selector which uses most of
          the lower-case letters to select the associated item in its
          display.  For example,

          a    %(%m=t?a:s art.hold\n)

          will return the original letter (a) in the selector, and the
          command "s art.hold\n" everywhere else.

          %(%{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
          internal storage.  Instead of "^AF^M", put "^AF+1", which
          indicates to trn that it should gobble up one character
          after the F.

     WHAT'S NEW
          Here's a quick run-down of trn's features and commands aimed
          at the knowledgeable rn or trn user.

          The addition of true reference-line threading is one of the
          biggest improvements over rn.  This threading allows you to
          read a discussion in reply order with an article's replies
          being attached to the article that inspired them.  Threads
          will encompass multiple subjects whenever a reply to an
          article in the thread arrives with a different subject.
          This is usually done to better indicate the topic in the
          reply when it diverges from the original subject.

          Another big improvement is the selector, which is bound to
          the '+' key.  The selector displays a list of threads,
          subjects, or individual articles to allow you to select the
          topics that interest you by typing their associated letter.
          The difference between the thread and the subject selector
          is that the subject selector displays all subjects with a
          separate selection letter, even those tied together via
          their references.  This can be quite useful if you select
          some threads and desire to weed out some extraneous
          discussions: you could switch the selector into exclusive
          mode ('E' shows only selected threads) and then into subject
          mode ('Ss') to separate the threads into their component
          subjects and deselect or kill the subjects you don't care
          about.  You don't have to go to all this trouble using the
          selector if you prefer to just hit the 'k' key when you
          start reading a subject you're not interested in.  The
          selector can also switch between showing unread articles and
          articles that have already been read, allowing you to
          selectively re-read discussions (this is the 'U' command in
          the selector).

          Another threaded addition is the article-tree display in the
          upper-right corner of the header.  Looking at the tree gives
          you a feel for how the articles you are reading relate to
          each other, allowing you to see at a glance when there are
          lots of replies and decide if you want to junk an
          uninteresting set of replies or perhaps tough it out.

          The header display has also been modified to hide a few more
          lines by default (e.g. References), but, as always, you can
          override these with -h.  There is also some more "magic" in
          the header: the From header can be trimmed to be just the
          comment portion (if available), and the Date header is
          displayed in local time (by default).  Use -H and +H to turn
          header magic on and off.

          Once you begin reading articles, use the regular movement
          commands (n, N, p, P, etc.) as you normally would.  You'll
          find that these commands track the reply order shown in the
          tree display.  Then try using ^N and ^P, which follow a
          subject in the order the articles were posted.  Finally,
          check out the [, ], (, ), {, and } commands to move around
          in the article tree a bit more directly.  The first four
          commands should also be bound to your keypad's arrow keys,
          making them easier to type.  For example, typing '[' (left)
          takes you to your parent article, even if it was already
          read, which is very useful for tracking down the cited
          portion of the article in its original context.

          There are additional kill commands for the entire thread (J)
          and the current article and all its replies (,).

          The KILL files have been extended and the commands inside
          them are now referred to memorized commands, since they are
          often used for selection rather than killing of articles.
          There are new, easier ways to add memorized commands using
          the 'A'dd and 'T'hread commands.  The 'A' command is
          subject-oriented, while the 'T' command is article-oriented
          (meaning they affect a specific set of articles rather than
          any article that happens to have a matching subject).  They
          both prompt you for what kind of command you want to add,
          making both auto-killing and auto-selecting just as easy.

          There is also an easy way to skip around among the various
          threads with the < and > commands.  Use them if you want to
          skip a set of article and read them later instead of junking
          them.

          Note: your news administrator has the option of turning
          thread processing off for individual groups, and thus it is
          possible for some groups to not have any pre-processed
          thread information available for use.  When trn encounters
          such a group, it generates the thread information on the fly
          while entering the group.  For really large groups (or
          really slow systems), this can take an appreciable amount of
          time.  If you can't talk your news administrator into pre-
          threading the group, you can turn off the threading on a
          group-by-group basis using the 't' command at the
          newsgroup-selection level.  Groups turned off in this way
          are read in the rn style -- articles arranged in arrival
          order unless you specify the -S option, which reads the
          articles in date order by subject.

          Take note of the "e dir" command, which is used to extract a
          shell archive or uuencoded file into the specified
          directory.  It is even possible to extract other data
          formats if you specify the appropriate filter command (e.g.
          "e dir|cmd".

          Also, if you plan to use macro definitions, it is good to
          keep in mind that the selector uses most of the lower-case
          letters for selection, and thus it is a good idea to
          explicitly set the mode(s) in which a macro applies.  For
          example, if you want to press 'f' from the article
          pager/selector to forward the current article to the user
          "smith", you could define:

               f    %(%m=[pa]?|mail smith\n:f)

          This checks the current mode (%m) and if it is 'p' or 'a' it
          expands it to the string "|mail smith\n", otherwise it
          returns the letter 'f'.  In some cases, you may simply wish
          to exclude the selector from a macro with the conditional
          "%m!=t".

          Finally, you'll probably want to use the new options, -x and
          -X to ensure that all the newest features are available for
          use.  These options might be on by default, depending on how
          your administrator decided to install trn.

     AUTHORS
          Rn was created by Larry Wall <lwall@jpl-devvax.jpl.nasa.gov>
          and is now under the direction of Stan Barber
          <sob@bcm.tmc.edu>.
          Threaded version by Wayne Davison <davison@borland.com>
          (Mail all bug reports for trn to Wayne.)
          Regular expression routines are borrowed from emacs, by
          James Gosling.
          Hashing routines are modified versions from Geoffrey
          Collyer.

     FILES
          %./.newsrc  status of your news reading

          %./.oldnewsrc
                      backup copy of your .newsrc from start of
                      session

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

          %./.rnlast  info from last run of trn

          %./.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

          %./.[t]rnmacmacro 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

          %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 trn knows
          about.

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

          If you edit your .newsrc while trn is running, trn will
          happily wipe out your changes when it decides to write out
          the .newsrc file.

          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.



HOME Top of Help Desk Eye On The World  The World Kiosk