Provided by: trn4_4.0-test77-11build1_amd64 bug

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 unkill-articles 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 the selected threads or their selected articles.   You  can
               also  use  ":E"  to  end  a  binary extraction or ":p" to post a new article.  Use
               "::command" to apply it to all non-selected threads/articles.

               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 ','.

       :.command
               Apply a command to the current thread or the  selected  articles  in  the  current
               thread.   Use  "::.command"  to  apply a command to the unselected articles in the
               current thread.

       /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,  b, 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, F,  R,  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.

       ^E      Display the last page of the article.

       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 the selected  threads  or  their  selected  articles.   Use
               "::command"  to  apply  it  to  all non-selected threads/articles.  For applicable
               commands, see the discussion above for the range command.

       :.command
               Apply a command to the current thread or the  selected  articles  in  the  current
               thread.   Use  "::.command"  to  apply a command to the unselected articles in the
               current thread.

       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 an article containing pattern in the header.

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

       /pattern/b
               Scan forward for an article containing pattern in the body of the article, but not
               the signature.  (The signature must be properly delimited to be ignored, however.)

       /pattern/B
               Scan forward for an article  containing  pattern  anywhere  in  the  body  of  the
               article.

       /pattern/r
               Scan read articles also.

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

       /pattern/t
               Force the search to start at the top of the group (useful while reading the group,
               since the default is to start at the current article).

       /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,  b, 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       Unkill  articles.   You  can  choose to unkill the current thread, sub-thread (the
               current article and its replies), all the articles, or start up  the  selector  to
               choose specific articles to unkill.

       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.

       ^E      Display the last page of the article.

       _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.  For
            instance, -hx- will disable the printing  of  all  "X-Foo:"  headers.   Case  is  not
            significant.  The default for unrecognized headers can be set with the -hunrecognized
            option.  Alternately you could use -h (no string) to disable all headers  except  the
            Subject  line  and  then  use +h to select only 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,  'n'umeric, 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.

       -V   will output trn's version number and quit.

       -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 -X0 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 -X0Z> 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.

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

       Character Set 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.

       %g      The general mode of trn, for use in conditional macros.

                    I    Init mode.
                    s    Selector mode.
                    r    Rn mode.
                    i    Input mode (newline terminated).
                    p    Prompt mode (single-character input).
                    c    Choice mode (multi-choice input).

       %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 for citing prior articles (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-list level.
                    f    End (finis) of newsgroup-list level.
                    t    The thread/subject/article selector.
                    c    Newsrc selector.
                    w    Newsgroup selector.
                    j    Addgroup selector.
                    l    Option selector.
                    a    Article level ("What next?").
                    e    End of the article level.
                    p    Pager level ("MORE" prompt).
                    u    Unkill prompt.
                    d    Selector mode prompt.
                    o    Selector order prompt.
                    m    Memorize thread command prompt.
                    r    Memorize subject command prompt.
                    z    Option edit 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?
                    K    Press any key prompt.

               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  insert a backslash before any double-quotes in the result, suitable
       for enclosing in double-quotes and sending to a shell.

       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 -c +%B %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: Rnmail -h %h

       FROM (%)
               What  to put in the From: header of your posts, email replies, and email forwards,
               instead of whatever the default name and address are for your system.   This  will
               only  work  if  you  use  the default settings for the NEWSHEADER, MAILHEADER, and
               FORWARDHEADER variables, or if your custom ones use FROM to set the From: header.

               Regardless of the settings  of  NEWSHEADER,  MAILHEADER,  and  FORWARDHEADER,  the
               setting  of  FROM  is  used  to  determine  which  articles  may  be  cancelled or
               superseded.

               Default: undefined

       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: 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]=^$?:%(%[followup-to]=^%n$?: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.  If not set, trn handles the whole
               process and calls inews directly.  See also NEWSHEADER.

       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 -c +%B %A ⎪) %b

               Explanation: if %B is 0, the command is "<%A %b", otherwise the command  is  "tail
               -c +%B %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: %./.trn/macros

       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.  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 <wayne@clari.net>
       (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]rnmac
                   macro and keymap definitions

       %p          your news save directory, usually ~/News

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

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

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