home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / man / cdrn.txt < prev    next >
Encoding:
Text File  |  1992-05-07  |  101.3 KB  |  2,839 lines

  1.  
  2.  
  3.  
  4. TRN(1)                   USER COMMANDS                     TRN(1)
  5.  
  6.  
  7.  
  8. NAME
  9.      trn - threaded read news program
  10.  
  11. SYNOPSIS
  12.      trn [options] [newsgroups]
  13.  
  14. DESCRIPTION
  15.      Trn is a threaded version of rn, which is a replacement  for
  16.      the  readnews(1)  program.   Being "threaded" means that the
  17.      articles are interconnected in reply order.  Each discussion
  18.      thread  is  a  tree of articles, where all the reply (child)
  19.      articles  branch  off  from  their  respective   originating
  20.      (parent) articles.  A representation of this tree (or a por-
  21.      tion of it) is displayed in the article header  as  you  are
  22.      reading  news.  This gives you a better feel for how all the
  23.      articles are related, and even lets you see at a glance when
  24.      an article already has a plethora of replies (to avoid beat-
  25.      ing a subject to death).  In  addition,  trn  has  a  thread
  26.      selector menu that allows you to quickly browse the subjects
  27.      and authors of the available threads and choose the ones you
  28.      find interesting.  The remaining threads can either be saved
  29.      for later or marked as read.
  30.  
  31.      If you are already familiar with rn you will  probably  want
  32.      to skip forward to the section on the Thread Selection Mode,
  33.      then move on to read about the Tree Display, and finish with
  34.      the  summary of What's New?  with trn.  If you're impatient,
  35.      just dive in and get started.  All the regular commands  are
  36.      the  same as those in rn, and the on-line help will give you
  37.      a quick run-down of what new commands are  available.   Just
  38.      type 'h' from any prompt.  I'd suggest using the command:
  39.  
  40.          trn -x -X
  41.  
  42.      to make sure some of the best new features are turned on.
  43.  
  44.      Starting Trn
  45.  
  46.      If trn was built with the XSPOOLDIR  option, a list of spool
  47.      directory  names  which  are  contained  in a  configuration
  48.      file maintained  by the system administrator, are  displayed
  49.      for  user  selection.   Enter  your  choice  at  the prompt.
  50.      "news" refers to the live news spool directory on  the  sys-
  51.      tem.  The others refer to archived spool directories such as
  52.      on CD-ROM.  If you are unsure about which one to  select,  a
  53.      'q'<cr> may be entered to quit out of trn.
  54.  
  55.      If no newsgroups are specified,  all  the  newsgroups  which
  56.      have  unread  news are displayed, and then the user is asked
  57.      for each one whether he wants to read it, in  the  order  in
  58.      which the newsgroups occur in the .newsrc file.  With a list
  59.      of newsgroups, trn will start up in "add"  mode,  using  the
  60.  
  61.  
  62.  
  63. Sun Release 4.1        Last change: LOCAL                       1
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. TRN(1)                   USER COMMANDS                     TRN(1)
  71.  
  72.  
  73.  
  74.      list as a set of patterns to add new newsgroups and restrict
  75.      which newsgroups are displayed.  See the discussion  of  the
  76.      'a' command on the newsgroup selection level.
  77.  
  78.      Trn operates on four levels: the newsgroup selection  level,
  79.      the thread selection level, the article selection level, and
  80.      the paging level.  Each level has its own set  of  commands,
  81.      and  its  own  help  menu.   At the paging level (the bottom
  82.      level), trn behaves much like the more(1) program.   At  the
  83.      thread  selection level, you are presented with the subjects
  84.      and (optionally) authors  associated  with  each  discussion
  85.      thread,  and given a chance to choose which ones you wish to
  86.      read now, save for later, or manipulate in some way.  At the
  87.      article  selection  level,  you may read them in the default
  88.      order (which follows the  discussion  of  the  articles  and
  89.      their  replies), or jump around from one article to another.
  90.      At the newsgroup selection level (the top  level),  you  may
  91.      specify  which  newsgroup you want next, or read them in the
  92.      default order, which is the order that the newsgroups  occur
  93.      in your .newsrc file.  (You will therefore want to rearrange
  94.      your .newsrc file to put  the  most  interesting  newsgroups
  95.      first.   This  can be done with the 'm' command on the News-
  96.      group Selection  level.   WARNING:  invoking  readnews/vnews
  97.      (the  old  user  interface)  in any way (including as a news
  98.      checker in your login sequence!) will cause your .newsrc  to
  99.      be disarranged again.)
  100.  
  101.      On any level, at ANY prompt, help is available in  the  form
  102.      of  a summary of available commands and what they do by typ-
  103.      ing an 'h'.  This is probably the most important command  to
  104.      remember, so don't you forget it.
  105.  
  106.      Typing space to any question means to do the  normal  thing.
  107.      You  will  know what that is because every prompt has a list
  108.      of several plausible commands enclosed in  square  brackets.
  109.      The  first command in the list is the one which will be done
  110.      if you type a space.  (All input is done in cbreak mode,  so
  111.      carriage  returns  should not be typed to terminate anything
  112.      except certain  multi-character  commands.   Those  commands
  113.      will be obvious in the discussion below because they take an
  114.      argument.)
  115.  
  116.      Upon startup, trn will do several things:
  117.  
  118.      1.  It will look for your .newsrc file, which is  your  list
  119.          of  subscribed-to  newsgroups.   If  trn  doesn't find a
  120.          .newsrc, it will create one.  If it does  find  one,  it
  121.          will back it up under the name ".oldnewsrc".
  122.  
  123.      2.  It will input your .newsrc file, listing out  the  first
  124.          several newsgroups with unread news.
  125.  
  126.  
  127.  
  128.  
  129. Sun Release 4.1        Last change: LOCAL                       2
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. TRN(1)                   USER COMMANDS                     TRN(1)
  137.  
  138.  
  139.  
  140.      3.  It will  perform  certain  consistency  checks  on  your
  141.          .newsrc.   If  your  .newsrc  is  out  of date in any of
  142.          several ways, trn will warn you and patch it up for you,
  143.          but you may have to wait a little longer for it to start
  144.          up.
  145.  
  146.      4.  Trn will next check to see if any  new  newsgroups  have
  147.          been  created,  and give you the opportunity to add them
  148.          to your .newsrc.
  149.  
  150.      5.  Trn goes into the top prompt level--the newsgroup selec-
  151.          tion level.
  152.  
  153.      Newsgroup Selection Level
  154.  
  155.      In this section the words "next" and "previous" refer to the
  156.      ordering  of  the  newsgroups  in your .newsrc file.  On the
  157.      newsgroup selection level, the prompt looks like this:
  158.  
  159.      ******** 17 unread articles in talk.blurfl--read now? [ynq]
  160.  
  161.      and the following commands may be given at this level:
  162.  
  163.      y,SP    Do this newsgroup now.
  164.  
  165.      .command
  166.              Do this newsgroup now, but  execute  command  before
  167.              displaying  anything.   The  command  will be inter-
  168.              preted as if given on the article selection level.
  169.  
  170.      +       Enter this newsgroup through the thread selector.
  171.  
  172.      =       Start  this  newsgroup,  but  list  subjects  before
  173.              displaying articles.
  174.  
  175.      U       Enter  this  newsgroup  through  the  "Set   unread"
  176.              prompt.
  177.  
  178.      t       Toggle the always-read-threaded flag for the current
  179.              group.
  180.  
  181.      n       Go to the next newsgroup with unread news.
  182.  
  183.      N       Go to the next newsgroup.
  184.  
  185.      p       Go to the previous newsgroup with unread  news.   If
  186.              there is none, stay at the current newsgroup.
  187.  
  188.      P       Go to the previous newsgroup.
  189.  
  190.      -       Go to the previously displayed newsgroup (regardless
  191.              of  whether it is before or after the current one in
  192.  
  193.  
  194.  
  195. Sun Release 4.1        Last change: LOCAL                       3
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. TRN(1)                   USER COMMANDS                     TRN(1)
  203.  
  204.  
  205.  
  206.              the list).
  207.  
  208.      1       Go to the first newsgroup.
  209.  
  210.      ^       Go to the first newsgroup with unread news.
  211.  
  212.      $       Go to the end of the newsgroups list.
  213.  
  214.      g newsgroup
  215.              Go to newsgroup.  If it isn't  currently  subscribed
  216.              to, you will be asked if you want to subscribe.
  217.  
  218.      /pattern
  219.              Scan forward for a newsgroup matching pattern.  Pat-
  220.              terns  do  globbing  like  filenames, i.e., use ? to
  221.              match a single character, * to match any sequence of
  222.              characters,  and  [] to specify a list of characters
  223.              to match.  ("all" may be used as a synonym for "*".)
  224.              Unlike normal filename globbing, newsgroup searching
  225.              is not  anchored  to  the  front  and  back  of  the
  226.              filename, i.e. "/ski" will find rec.skiing.  You may
  227.              use ^ or $ to  anchor  the  front  or  back  of  the
  228.              search: "/^test$" will find newsgroup test and noth-
  229.              ing else If you want to include  newsgroups  with  0
  230.              unread articles, append /r.  If the newsgroup is not
  231.              found between the current  newsgroup  and  the  last
  232.              newsgroup, the search will wrap around to the begin-
  233.              ning.
  234.  
  235.      ?pattern
  236.              Same as /, but search backwards.
  237.  
  238.      u       Unsubscribe from the current newsgroup.
  239.  
  240.      l string
  241.              List newsgroups not subscribed to which contain  the
  242.              string specified.
  243.  
  244.      L       Lists the current state of the .newsrc,  along  with
  245.              status information.
  246.  
  247.                   Status         Meaning
  248.                   <number>       Count of unread articles in newsgroup.
  249.                   READ           No unread articles in newsgroup.
  250.                   UNSUB          Unsubscribed newsgroup.
  251.                   BOGUS          Bogus newsgroup.
  252.                   JUNK           Ignored line in .newsrc
  253.                                  (e.g. readnews "options" line).
  254.  
  255.              (A bogus newsgroup is one that is not in the list of
  256.              active  newsgroups in the active file, which on most
  257.              systems  is  /usr/lib/news/active  unless  you   use
  258.  
  259.  
  260.  
  261. Sun Release 4.1        Last change: LOCAL                       4
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. TRN(1)                   USER COMMANDS                     TRN(1)
  269.  
  270.  
  271.  
  272.              NNTP.)
  273.  
  274.      m name  Move the  named  newsgroup  somewhere  else  in  the
  275.              .newsrc.  If no name is given, the current newsgroup
  276.              is moved.  There are a number  of  ways  to  specify
  277.              where  you  want the newsgroup--type h for help when
  278.              it asks where you want to put it.
  279.  
  280.      c       Catch up--mark all unread articles in this newsgroup
  281.              as read.
  282.  
  283.      o pattern
  284.              Only display those  newsgroups  whose  name  matches
  285.              pattern.   Patterns are the same as for the '/' com-
  286.              mand.  Multiple patterns may be separated by spaces,
  287.              just  as  on the command line.  The restriction will
  288.              remain in effect either until there are no  articles
  289.              left in the restricted set of newsgroups, or another
  290.              restriction command  is  given.   Since  pattern  is
  291.              optional, 'o' by itself will remove the restriction.
  292.  
  293.      a pattern
  294.              Add new  newsgroups  matching  pattern.   Newsgroups
  295.              which are already in your .newsrc file, whether sub-
  296.              scribed to or not, will not be listed.  If  any  new
  297.              newsgroups are found, you will be asked for each one
  298.              whether you would like to add it.  If  you  want  to
  299.              add  all  new  newsgroups, you can type 'Y' and they
  300.              will be added the the end of the .newsrc file and as
  301.              groups  you want to read.  If you don't want to sub-
  302.              scribe, all the new groups can be  added  by  typing
  303.              'N'.   After any new newsgroups have been added, the
  304.              'a' command also restricts the current set of  news-
  305.              groups just like the 'o' command does.
  306.  
  307.      &       Print  out  the  current  status  of  command   line
  308.              switches and any newsgroup restrictions.
  309.  
  310.      &switch {switch}
  311.              Set additional command line switches.
  312.  
  313.      &&      Print out the current macro definitions.
  314.  
  315.      &&keys commands
  316.              Define additional macros.
  317.  
  318.      !command
  319.              Escape to a  subshell.   One  exclamation  mark  (!)
  320.              leaves  you  in  your  own news directory.  A double
  321.              exclamation mark (!!) leaves you in the spool direc-
  322.              tory   for   news,   which   on   most   systems  is
  323.              /usr/spool/news if NNTP  is  not  being  used.   The
  324.  
  325.  
  326.  
  327. Sun Release 4.1        Last change: LOCAL                       5
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. TRN(1)                   USER COMMANDS                     TRN(1)
  335.  
  336.  
  337.  
  338.              environment  variable SHELL will be used if defined.
  339.              If command is null, an interactive shell is started.
  340.  
  341.      q       Quit.
  342.  
  343.      x       Quit, restoring .newsrc to its state at  startup  of
  344.              trn.   The  .newsrc  you  would  have had if you had
  345.              exited with 'q' will be called .newnewsrc,  in  case
  346.              you didn't really want to type 'x'.
  347.  
  348.      ^K      Edit the global KILL file.  This  is  a  file  which
  349.              contains  /pattern/j  commands  (one per line) to be
  350.              applied to every newsgroup as it is started up, that
  351.              is,  when  it is selected on the newsgroup selection
  352.              level.  The purpose of a KILL file is to mark  arti-
  353.              cles  as  read on the basis of some set of patterns.
  354.              This saves considerable wear and tear  on  your  'n'
  355.              key.  There is also a local KILL file for each news-
  356.              group.  Because of the overhead involved in  search-
  357.              ing  for  articles to kill, it is better if possible
  358.              to use a local KILL  file.   Local  KILL  files  are
  359.              edited  with  a '^K' on the article selection level.
  360.              There are also automatic ways of adding search  com-
  361.              mands  to  the  local KILL file--see the 'K' and 'T'
  362.              commands, and the K search modifier on  the  article
  363.              selection level.
  364.  
  365.              If either of the  environment  variables  VISUAL  or
  366.              EDITOR is set, the specified editor will be invoked;
  367.              otherwise  a  default  editor  (normally  vi(1))  is
  368.              invoked on the KILL file.
  369.  
  370.      Thread Selection Level
  371.  
  372.      Most people who don't have all day to read news will want to
  373.      enter  a  newsgroup  by way of the thread selector.  This is
  374.      accomplished by using  the  '+'  command  at  the  newsgroup
  375.      selection  level.   In fact, this may be the default command
  376.      for entering a newsgroup, depending on how your  version  of
  377.      trn  was  configured (see the -X option for how to turn this
  378.      default on or off).  The thread selector displays a list  of
  379.      article  subjects  and  (optionally)  authors  grouped  into
  380.      threads.  A thread may contain multiple subjects if the sub-
  381.      ject changes as the discussion continues.  Also displayed is
  382.      a count of the number of unread  articles  in  each  thread.
  383.      Each  thread  is  preceded by a letter or number that can be
  384.      typed to select it.  Selected threads  are  flagged  with  a
  385.      '+'.
  386.  
  387.      The default is to display the long mode of the thread selec-
  388.      tor.   In  this mode, all the authors of the articles in the
  389.      thread are summarized, one per  line  (authors  of  multiple
  390.  
  391.  
  392.  
  393. Sun Release 4.1        Last change: LOCAL                       6
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. TRN(1)                   USER COMMANDS                     TRN(1)
  401.  
  402.  
  403.  
  404.      articles  are  listed  only  once).  The medium display mode
  405.      groups multiple authors onto the same  line,  so  that  more
  406.      threads  can  be  displayed  at one time.  The short display
  407.      mode does not display any author names, and can display more
  408.      characters in the subject.
  409.  
  410.      The following commands are available in the thread selector:
  411.  
  412.      a-z,0-9 Select  the  discussion  thread  by  its  letter  or
  413.              number;  press  again  to  deselect.  By default the
  414.              letters h, k, n, p, q, and y are  omitted  to  allow
  415.              them  to  be  typed  as  commands.  See the variable
  416.              SELECTCHARS to customize this.
  417.  
  418.      SP      Perform the default command.  This is usually >  for
  419.              most pages, and Z on the last page (although D and X
  420.              are also quite popular).
  421.  
  422.      CR      Read the current thread (if none  are  selected)  or
  423.              all the selected threads.
  424.  
  425.      Z,TAB   Begin reading the selected threads.  If none are are
  426.              selected, read everything.
  427.  
  428.      y, '.'  Toggle the current thread's selection (the one under
  429.              the cursor).
  430.  
  431.      k, ','  Mark the current thread as killed.
  432.  
  433.      m, \    Unmark the current thread.
  434.  
  435.      -       Set a range, as in 2 - 5.  Repeats the last  marking
  436.              action:  selected, unselected, killed, or unmarked.
  437.  
  438.      @       Toggle all visible article selections.
  439.  
  440.      <       Go to previous page.
  441.  
  442.      >       Go to next page.
  443.  
  444.      p, [    Move up to the previous thread.
  445.  
  446.      n, ]    Move down to the next thread.
  447.  
  448.      ^       Go to first page.
  449.  
  450.      $       Go to last page.
  451.  
  452.      X       Mark all unselected articles as read and start read-
  453.              ing.
  454.  
  455.  
  456.  
  457.  
  458.  
  459. Sun Release 4.1        Last change: LOCAL                       7
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. TRN(1)                   USER COMMANDS                     TRN(1)
  467.  
  468.  
  469.  
  470.      J       Mark all selected articles  as  read  (useful  after
  471.              performing  some  action  on  them with the ':' com-
  472.              mand).
  473.  
  474.      D       Mark unselected articles  on  the  current  page  as
  475.              read.   Begin reading if articles are selected, oth-
  476.              erwise go to the next page.
  477.  
  478.      ^K      Edit the local KILL  file  for  this  newsgroup.   A
  479.              detailed  description  of KILL files is found in the
  480.              Article Selection section.
  481.  
  482.      :command
  483.              Execute a command upon all the selected threads  and
  484.              their  articles.   If  no  threads are selected, all
  485.              threads with unread articles are affected.
  486.  
  487.              Applicable commands include '+' and '-' (select  and
  488.              unselect  thread),  'T'  (trash  the thread into the
  489.              local KILL file), 't'  (display  article  tree),  "s
  490.              dest"  (save  article  to  a  destination),  "e dir"
  491.              (extract to directory), 'E' (end partial  uudecode),
  492.              as well as: S, |, w, W, m, M, j, = and ','.
  493.  
  494.      /pattern
  495.              Scan all articles for a subject  containing  pattern
  496.              and select its thread.
  497.  
  498.      /pattern/modifiers:command{:command}
  499.              Apply the commands listed to articles  matching  the
  500.              search  command  (possibly with h, a, r, or K modif-
  501.              iers).  The default action, if no command is  speci-
  502.              fied, is to select the parent thread of the matching
  503.              article (the '+' command).  See the section on Regu-
  504.              lar  Expressions,  and  the  description  of pattern
  505.              searching in the Article Selection section.
  506.  
  507.              One example:  to scan all the unread articles  look-
  508.              ing  for  "topic"  anywhere  in the article and then
  509.              select its thread and save the article to the  files
  510.              topic.1, topic.2, etc. use "/topic/a:+:s topic.%#".
  511.  
  512.      N       Go to the next newsgroup with unread news.
  513.  
  514.      P       Go to the previous newsgroup with unread news.
  515.  
  516.      U       Switch between selecting read/unread articles.
  517.  
  518.      L       Switch the current display mode between the long and
  519.              medium  modes  (with  authors)  and  the short mode.
  520.              (See the -x option to select your favorite  mode  as
  521.              the default.)
  522.  
  523.  
  524.  
  525. Sun Release 4.1        Last change: LOCAL                       8
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. TRN(1)                   USER COMMANDS                     TRN(1)
  533.  
  534.  
  535.  
  536.      &       Display or set the current status  of  command  line
  537.              switches.
  538.  
  539.      &&      Display or set the current macro definitions.
  540.  
  541.      !command
  542.              Escape to a subshell.
  543.  
  544.      q       Quit this group.
  545.  
  546.      ESC,+   Quit the  thread  selector  (back)  to  the  article
  547.              level.
  548.  
  549.      Q       Quit the current newsgroup and return to  the  news-
  550.              group selection prompt for this group.
  551.  
  552.      Article Selection Level
  553.  
  554.      On the article selection level, trn displays unread articles
  555.      in  thread  sequence,  reading  each article and its replies
  556.      before going on to another topic.  If threads  are  disabled
  557.      for  a  particular  group,  the  default order is in numeric
  558.      sequence (the order they arrived at your  site)  unless  you
  559.      use  subject  search  (^N) to change the default order to be
  560.      numerical order  within  each  matching  subject.   (The  -S
  561.      switch  can  be used to make subject search mode the default
  562.      for unthreaded groups.)
  563.  
  564.      On the article selection level you are not asked whether you
  565.      want  to  read  an  article before the article is displayed;
  566.      rather, trn simply displays the first page (or portion of  a
  567.      page, at low baud rates) of the article and asks if you want
  568.      to continue.  The normal article selection prompt  comes  at
  569.      the  END  of  the article (though article selection commands
  570.      can be given from within the  middle  of  the  article  (the
  571.      pager  level)  also).   The  prompt at the end of an article
  572.      looks like this:
  573.  
  574.      End of article 248 (of 257)--what next? [npq]
  575.  
  576.      The following are the options at this point:
  577.  
  578.      n,SP    Scan forward for next unread  article.   (Note:  the
  579.              'n' (next) command when typed at the end of an arti-
  580.              cle does not mark the  article  as  read,  since  an
  581.              article  is  automaticaly  marked  as read after the
  582.              last line of it is printed.  It is therefore  possi-
  583.              ble  to  type  a sequence such as 'mn' and leave the
  584.              article marked as unread.  The fact that an  article
  585.              is marked as read by typing n, N, ^N, e, s, S, |, w,
  586.              or W within the MIDDLE of the article is in  fact  a
  587.              special case.)
  588.  
  589.  
  590.  
  591. Sun Release 4.1        Last change: LOCAL                       9
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. TRN(1)                   USER COMMANDS                     TRN(1)
  599.  
  600.  
  601.  
  602.      N       Go to the next article.
  603.  
  604.      ^N      Scan forward for the next article with the same sub-
  605.              ject.   If  the  group is unthreaded this also makes
  606.              subject search mode (^N) the default.
  607.  
  608.      p       Scan backward for previous unread article.  If there
  609.              is none, stay at the current article.
  610.  
  611.      P       Go to the previous article.
  612.  
  613.      -       Go to the previously displayed  article  (regardless
  614.              of  whether  that  article  is  before or after this
  615.              article in the normal sequence).
  616.  
  617.      ^P      Scan backward for the previous article with the same
  618.              subject.  Makes subject search mode (^N) the default
  619.              if the group is unthreaded.
  620.  
  621.      <,>     Browse the previous/next  selected  thread.   If  no
  622.              selections  have been made, all the threads that had
  623.              unread news when you entered the newsgroup (or  last
  624.              left  the  thread selector) are treated as selected.
  625.              Entering an empty newsgroup makes all  the  already-
  626.              read threads available for browsing.
  627.  
  628.      [,]     Proceed to  the  left/right  in  the  article  tree.
  629.              Visits already-read articles as well as empty nodes.
  630.              If you attempt to go past the left/right edge of the
  631.              tree,  you are advanced to the previous/next line if
  632.              available.
  633.  
  634.      {,}     Go to the root/leaf of the article tree, even if the
  635.              node is already read or empty.  Proceeds to the very
  636.              first/last node if you're already at a root/leaf  in
  637.              a multi-root thread.
  638.  
  639.      t       Display the entire article tree and all its  associ-
  640.              ated  subjects.   If  the  group  is  not  currently
  641.              threaded, it will be  turned  on  and  processed  as
  642.              needed.
  643.  
  644.      ^R      Restart the current article.
  645.  
  646.      v       Restart the current  article  verbosely,  displaying
  647.              the entire header.
  648.  
  649.      ^L      Refresh the screen.
  650.  
  651.      ^X      Restart the current article, and decrypt as a  rot13
  652.              message.
  653.  
  654.  
  655.  
  656.  
  657. Sun Release 4.1        Last change: LOCAL                      10
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664. TRN(1)                   USER COMMANDS                     TRN(1)
  665.  
  666.  
  667.  
  668.      X       Refresh the screen, and decrypt as a rot13 message.
  669.  
  670.      b       Back up one page.
  671.  
  672.      q       Quit this newsgroup and go  back  to  the  newsgroup
  673.              selection level.
  674.  
  675.      ^       Go to the first unread article.
  676.  
  677.      $       Go to the last article (actually, one past the  last
  678.              article).
  679.  
  680.      number  Go to the numbered article.
  681.  
  682.      range{,range}:command{:command}
  683.              Apply a set of commands to a  set  of  articles.   A
  684.              range   consists   of  either  <article  number>  or
  685.              <article number>-<article number>.    A   dot    '.'
  686.              represents  the  current  article, and a dollar sign
  687.              '$' represents the last article.
  688.  
  689.              Applicable commands include 'm'  (mark  as  unread),
  690.              'M' (delayed mark as unread), 'j' (mark as read), "s
  691.              dest" (save to a destination), "e dir"" (extract  to
  692.              directory),  "!command"  (shell  escape), "=" (print
  693.              the subject), 'T' (trash the thread into  the  local
  694.              KILL  file),  '+' (select the thread), '-' (deselect
  695.              the thread), 'C' (cancel), as well as S,  |,  w,  W,
  696.              and t.
  697.  
  698.      :command
  699.              Apply a command to all selected  threads  and  their
  700.              articles.   If  no  threads  are selected, apply the
  701.              command to all the unread threads.   For  applicable
  702.              commands,  see  the  discussion  above for the range
  703.              command.
  704.  
  705.      j       Junk the current article--mark it as read.  If  this
  706.              command is used from within an article, you are left
  707.              at the end of the article, unlike 'n',  which  looks
  708.              for the next article.
  709.  
  710.      m       Mark the current article as still unread.   (If  you
  711.              are  in subject search mode you probably want to use
  712.              M instead of m.  Otherwise the current  article  may
  713.              be  selected  as  the  beginning of the next subject
  714.              thread.)
  715.  
  716.      M       Mark the current article as still  unread,  but  not
  717.              until  the  newsgroup  is  exited.   Until then, the
  718.              current article will be marked  as  read.   This  is
  719.              useful  for  returning  to  an  article  in  another
  720.  
  721.  
  722.  
  723. Sun Release 4.1        Last change: LOCAL                      11
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. TRN(1)                   USER COMMANDS                     TRN(1)
  731.  
  732.  
  733.  
  734.              session, or in another newsgroup.
  735.  
  736.      /pattern
  737.              Scan forward for article containing pattern  in  the
  738.              subject.    See  the  Regular  Expressions  section.
  739.              Together  with  the  escape  substitution   facility
  740.              described later, it becomes easy to search for vari-
  741.              ous attributes of the current article, such as  sub-
  742.              ject,  article  ID,  author name, etc.  The previous
  743.              pattern can be recalled with "<esc>/".   If  pattern
  744.              is omitted, the previous pattern is assumed.
  745.  
  746.      /pattern/h
  747.              Scan forward for article containing pattern  in  the
  748.              header.
  749.  
  750.      /pattern/a
  751.              Scan forward for article containing pattern anywhere
  752.              in article.
  753.  
  754.      /pattern/r
  755.              Scan read articles also.
  756.  
  757.      /pattern/c
  758.              Make search case sensitive.  Ordinarily  upper-  and
  759.              lower-case are considered the same.
  760.  
  761.      /pattern/modifiers:command{:command}
  762.              Apply the commands listed to articles  matching  the
  763.              search command (possibly with h, a, or r modifiers).
  764.              Applicable commands include 'm'  (mark  as  unread),
  765.              'M' (delayed mark as unread), 'j' (mark as read), "s
  766.              dest" (save to a destination), "e dir"" (extract  to
  767.              directory),  "!command"  (shell  escape), "=" (print
  768.              the subject), 'T' (trash the associated  thread  and
  769.              put  it  in  the  local  KILL file), '+' (select the
  770.              associated  thread),  '-'  deselect  the  associated
  771.              thread),  and 'C' (cancel).  If the first command is
  772.              'm' or 'M', modifier r  is  assumed.   A  K  may  be
  773.              included  in  the  modifiers  (not  the commands) to
  774.              cause the entire command (sans K) to be saved to the
  775.              local  KILL  file, where it will be applied to every
  776.              article that shows up in the newsgroup.
  777.  
  778.              For example, to save all articles in a  given  news-
  779.              group  to  the  line printer and mark them read, use
  780.              "/^/|lpr:j".  If you type  "/^/K|lpr:j",  this  will
  781.              happen every time you enter the newsgroup.
  782.  
  783.      ?pattern
  784.              Scan backward for article containing pattern in  the
  785.              subject.   May be modified as the forward search is:
  786.  
  787.  
  788.  
  789. Sun Release 4.1        Last change: LOCAL                      12
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796. TRN(1)                   USER COMMANDS                     TRN(1)
  797.  
  798.  
  799.  
  800.              ?pattern?modifiers[:commands].  It  is  likely  that
  801.              you will want an r modifier when scanning backward.
  802.  
  803.      k       Mark as read all articles with the same  subject  as
  804.              the  current  article.   (Note:  there  is no single
  805.              character command to temporarily  mark  as  read  (M
  806.              command)  articles  matching  the  current  subject.
  807.              That can be done with "/<esc>s/M", however.)
  808.  
  809.      ,       Mark the current article  and  all  its  replies  as
  810.              read.
  811.  
  812.      J       Junk all the articles in the thread, even if it con-
  813.              tains multiple subjects.
  814.  
  815.      K       Do the same as the k command, but also add a line to
  816.              the  local KILL file for this newsgroup to kill this
  817.              subject every time the newsgroup is started up.  For
  818.              a  discussion  of  KILL  files, see the '^K' command
  819.              below.  See also the K modifier on searches above.
  820.  
  821.      T       Kill the current thread, and also add a line to  the
  822.              local KILL file for this newsgroup to kill new arti-
  823.              cles attached to this thread every  time  the  news-
  824.              group is started up.
  825.  
  826.      ^K      Edit the local KILL file for this  newsgroup.   Each
  827.              line  of  the  KILL file should be a subject-killing
  828.              command of the form /pattern/j or a  thread  killing
  829.              command  of  the form T<number>.  The thread killing
  830.              commands are usually followed by a  comment  to  let
  831.              you  know the primary subject of the numbered thread
  832.              being killed.  The first line in the KILL  file  has
  833.              the  form  "THRU <number>", which tells trn the max-
  834.              imum article number that  the  KILL  file  has  been
  835.              applied  to.  (You may delete the THRU line to force
  836.              a rescan of current articles.)  You  may  also  have
  837.              reason  to use the m, h, or a modifiers.  Be careful
  838.              with the M modifier in a kill file--there  are  more
  839.              efficient  ways to never read an article.  You might
  840.              have reason to use it  if  a  particular  series  of
  841.              articles  is posted to multiple newsgroups.  In this
  842.              case, M would force you to view  the  article  in  a
  843.              different newsgroup.
  844.  
  845.              To see only newgroup articles in the  control  news-
  846.              group, for instance, you might put
  847.  
  848.              /^/j
  849.              /newgroup/m
  850.  
  851.              which kills all subjects not containing  "newgroup".
  852.  
  853.  
  854.  
  855. Sun Release 4.1        Last change: LOCAL                      13
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862. TRN(1)                   USER COMMANDS                     TRN(1)
  863.  
  864.  
  865.  
  866.              You  can  add  lines automatically via the K command
  867.              and K search modifiers, but editing is the only  way
  868.              to remove lines.  If either of the environment vari-
  869.              ables VISUAL or EDITOR is set, the specified  editor
  870.              will  be  invoked;  otherwise a default editor (nor-
  871.              mally vi) is invoked on the KILL file.
  872.  
  873.              The KILL file may also contain switch setting  lines
  874.              beginning  with  '&'.  Additionally, any line begin-
  875.              ning with 'X' is executed on exit from the newsgroup
  876.              rather  than  on  entrance.  This can be used to set
  877.              switches back to a default value.  One use for  this
  878.              capability is to set your save directory to a custom
  879.              value upon entry to a newsgroup and set it  back  on
  880.              exit  using  the  -ESAVEDIR option.  See also the -/
  881.              option for another solution to multiple save  direc-
  882.              tories without using KILL files.
  883.  
  884.      r       Reply through net mail.  The  environment  variables
  885.              MAILPOSTER  and MAILHEADER may be used to modify the
  886.              mailing behavior of trn (see  environment  section).
  887.              If  on  a  nonexistent  article  such as the "End of
  888.              newsgroup" pseudo-article (which you can get to with
  889.              a '$' command), invokes the mailer to nobody in par-
  890.              ticular.
  891.  
  892.      R       Reply, including the current article in  the  header
  893.              file  generated.  (See 'F' command below).  The YOU-
  894.              SAID environment variable controls the format of the
  895.              attribution line.
  896.  
  897.      f       Submit a followup  article.   If  on  a  nonexistent
  898.              article  such  as  the  "End  of  newsgroup" pseudo-
  899.              article (which you can get to with a  '$'  command),
  900.              posts an original article (basenote).
  901.  
  902.      F       Submit a followup article, and include the old arti-
  903.              cle,  with  lines  prefixed  either by ">" or by the
  904.              argument to a -F switch.  Trn will attempt  to  pro-
  905.              vide  an  attribution  line  in  front of the quoted
  906.              article, generated from the From: line of the  arti-
  907.              cle.   Unfortunately,  the From: line doesn't always
  908.              contain the right name; you should double  check  it
  909.              against the signature and change it if necessary, or
  910.              you may have to apologize for quoting the wrong per-
  911.              son.   The  environment  variables NEWSPOSTER, NEWS-
  912.              HEADER and ATTRIBUTION may be  used  to  modify  the
  913.              posting behavior of trn (see environment section).
  914.  
  915.              If you are starting a new subject, move to  the  end
  916.              of  the newsgroup with the '$' command before press-
  917.              ing 'f'.  Otherwise you may have  to  do  a  lot  of
  918.  
  919.  
  920.  
  921. Sun Release 4.1        Last change: LOCAL                      14
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928. TRN(1)                   USER COMMANDS                     TRN(1)
  929.  
  930.  
  931.  
  932.              header  editing,  including  removing the References
  933.              line -- this is  IMPORTANT  to  remember  ONLY  when
  934.              starting  a  new  subject.   It  is  much simpler to
  935.              remember "$f" for new subjects, and to allways leave
  936.              the References line alone.
  937.  
  938.      C       Cancel the current article, but only if you are  the
  939.              contributor or superuser.
  940.  
  941.      z       Supersede the current article, but only if  you  are
  942.              the contributor.
  943.  
  944.      c       Catch up in this newsgroup; i.e., mark all  articles
  945.              as read.
  946.  
  947.      U       Mark some or all articles as unread.  You can choose
  948.              to  mark the current thread, sub-thread (the current
  949.              article and its replies), all the articles, or start
  950.              up the thread selector to choose specific threads to
  951.              set unread.
  952.  
  953.      u       Unsubscribe from this newsgroup.
  954.  
  955.      s destination
  956.              Save to a filename or pipe using sh.  If  the  first
  957.              character  of the destination is a vertical bar, the
  958.              rest of the command is considered a shell command to
  959.              which  the article is passed through standard input.
  960.              The command is subject to filename expansion.   (See
  961.              also  the  environment  variable  PIPESAVER.) If the
  962.              destination does not begin with a vertical bar,  the
  963.              rest  of  the command is assumed to be a filename of
  964.              some sort.  An initial tilde '~' will be  translated
  965.              to  the  name  of the home directory, and an initial
  966.              environment variable substitution is  also  allowed.
  967.              If  only a directory name is specified, the environ-
  968.              ment variable  SAVENAME  is  used  to  generate  the
  969.              actual  name.   If a non-absolute filename is speci-
  970.              fied, the environment variable SAVEDIR will be  used
  971.              to  generate  the  actual  directory.  If nothing is
  972.              specified, then obviously  both  variables  will  be
  973.              used.   Since  the  current  directory for trn while
  974.              doing a save command is your private news directory,
  975.              typing  "s  ./filename"  will force the file to your
  976.              news directory.  Save commands are also run  through
  977.              %   interpretation,   so   that  you  can  enter  "s
  978.              %O/filename" to save to the directory  you  were  in
  979.              when  you  ran trn, and "s %t" to save to a filename
  980.              consisting of the Internet address of the sender.
  981.  
  982.              After generating the full pathname of  the  file  to
  983.              save  to, trn determines if the file exists already,
  984.  
  985.  
  986.  
  987. Sun Release 4.1        Last change: LOCAL                      15
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994. TRN(1)                   USER COMMANDS                     TRN(1)
  995.  
  996.  
  997.  
  998.              and if so, appends  to  it.   trn  will  attempt  to
  999.              determine if an existing file is a mailbox or a nor-
  1000.              mal file, and save the article in the  same  format.
  1001.              If  the  output file does not yet exist, trn will by
  1002.              default ask you which format you want,  or  you  can
  1003.              make  it  skip the question with either the -M or -N
  1004.              switch.  If the article is to be  saved  in  mailbox
  1005.              format,  the  command to do so is generated from the
  1006.              environment variable  MBOXSAVER.   Otherwise,  NORM-
  1007.              SAVER is used.
  1008.  
  1009.      S destination
  1010.              Save to a filename or pipe using a preferred  shell,
  1011.              such  as  csh.  Which shell is used depends first on
  1012.              what you have the environment variable SHELL set to,
  1013.              and  in  the  absence  of  that,  on  what your news
  1014.              administrator set for the preferred shell when he or
  1015.              she installed trn.
  1016.  
  1017.      | command
  1018.              Shorthand for "s | command".
  1019.  
  1020.      w destination
  1021.              The same as "s destination", but saves  without  the
  1022.              header.
  1023.  
  1024.      W destination
  1025.              The same as "S destination", but saves  without  the
  1026.              header.
  1027.  
  1028.      e directory
  1029.              Extract a shell archive or uuencoded binary  to  the
  1030.              designated  directory.  The article is first scanned
  1031.              to try discover what type of data  is  encapsulated.
  1032.              If  a  "cut here" line is found, the first non-blank
  1033.              line after it must be either the  start  of  a  shar
  1034.              header,  or  the  "begin" or "table" line of a uuen-
  1035.              coded binary.  The default for extracting  shars  is
  1036.              to send the data portion of the file to /bin/sh, but
  1037.              that can be overridden with the UNSHAR variable (see
  1038.              the ENVIRONMENT section).  Uudecoding is done inter-
  1039.              nally by a decoder that can handle  the  data  being
  1040.              split  up  over multiple articles, and extracted one
  1041.              piece at a time.  To decode  a  multi-article  file,
  1042.              either  execute  the  'e' command in each article in
  1043.              sequence, use an article range to execute  the  com-
  1044.              mand,  or use the ":e" command to repeat the command
  1045.              for each of the currently selected  articles.   When
  1046.              the 'e' command is not followed by any arguments, it
  1047.              will repeat the arguments from the last  extraction.
  1048.              All  directory  specifications  are  relative to the
  1049.              value of SAVEDIR, so you can use the command  "e  ."
  1050.  
  1051.  
  1052.  
  1053. Sun Release 4.1        Last change: LOCAL                      16
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060. TRN(1)                   USER COMMANDS                     TRN(1)
  1061.  
  1062.  
  1063.  
  1064.              to  force  an  extraction  to  SAVEDIR itself.  If a
  1065.              uudecoding is  in  progress  (i.e.  the  last  piece
  1066.              wasn't  extracted  yet)  and you exit the group, the
  1067.              partial file will be removed.  This also  occurs  if
  1068.              you start to extract a new uuencoded file before the
  1069.              previous one was finished.  See also the 'E' command
  1070.              for ending a multi-part uudecoding manually.
  1071.  
  1072.              There is one  special  case  that  is  handled  dif-
  1073.              ferently:   if the first file in a recognizable shar
  1074.              file is a uuencoded  binary  that  was  packed  with
  1075.              lines  starting  with an 'X', we will not unshar the
  1076.              file but instead uudecode it.  If this causes  prob-
  1077.              lems, you can override the default extraction method
  1078.              by following the directory with an explicit  command
  1079.              to execute, as described below.
  1080.  
  1081.      e directory|command
  1082.              This form of the 'e' command allows you  to  extract
  1083.              other  data  formats than shar or uuencoded files or
  1084.              to override the  decisions  made  by  the  automatic
  1085.              extraction  selection  described  above.   In normal
  1086.              operation, all data following what we recognize as a
  1087.              "cut  here"  line will be sent to the specified com-
  1088.              mand.  Additionally, the distinctive beginning of  a
  1089.              shell archive is also recognized without a preceding
  1090.              cut line.  When the  command  is  run,  the  default
  1091.              directory will be set to the specified directory, or
  1092.              the value of SAVEDIR if unspecified.   Entering  the
  1093.              'e'  command without arguments will repeat your pre-
  1094.              vious extract command.  You can use the  command  "e
  1095.              dir|"  to  extract  to  a  new  directory  using the
  1096.              previously-specified command.
  1097.  
  1098.      E       This command  ends  any  multi-part  uuencoded  file
  1099.              extraction that you began, but are unable (or unwil-
  1100.              ling) to complete.  The partially extracted file  is
  1101.              removed.
  1102.  
  1103.      &       Print  out  the  current  status  of  command   line
  1104.              switches.
  1105.  
  1106.      &switch {switch}
  1107.              Set additional command line switches.
  1108.  
  1109.      &&      Print out current macro definitions.
  1110.  
  1111.      &&keys commands
  1112.              Define an additional macro.
  1113.  
  1114.      !command
  1115.              Escape to a  subshell.   One  exclamation  mark  (!)
  1116.  
  1117.  
  1118.  
  1119. Sun Release 4.1        Last change: LOCAL                      17
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. TRN(1)                   USER COMMANDS                     TRN(1)
  1127.  
  1128.  
  1129.  
  1130.              leaves  you  in  your  own news directory.  A double
  1131.              exclamation mark (!!) leaves you in the spool direc-
  1132.              tory  of  the  current  newsgroup.   The environment
  1133.              variable SHELL will be used if defined.  If  command
  1134.              is null, an interactive shell is started.
  1135.  
  1136.              You can use escape key substitutions described later
  1137.              to get to many run-time values.  The command is also
  1138.              run through % interpretation, in case  it  is  being
  1139.              called from a range or search command.
  1140.  
  1141.      +       Start the thread  selector.   If  the  newsgroup  is
  1142.              unthreaded, the subject lister is called instead.
  1143.  
  1144.      =       List subjects of unread articles.
  1145.  
  1146.      #       Print last article number.
  1147.  
  1148.      Pager Level
  1149.  
  1150.      At the pager level (within an  article),  the  prompt  looks
  1151.      like this:
  1152.  
  1153.      --MORE--(17%)
  1154.  
  1155.      and a number of commands may be given:
  1156.  
  1157.      SP      Display next page.
  1158.  
  1159.      x       Display next page and decrypt as a rot13 message.
  1160.  
  1161.      d       Display half a page more.
  1162.  
  1163.      CR      Display one more line.
  1164.  
  1165.      q       Go to the end of the current article (don't mark  it
  1166.              either  read  or  unread).   Leaves you at the "What
  1167.              next?" prompt.
  1168.  
  1169.      j       Junk the current article.  Mark it read  and  go  to
  1170.              the end of the article.
  1171.  
  1172.      ^L      Refresh the screen.
  1173.  
  1174.      X       Refresh the screen and decrypt as a rot13 message.
  1175.  
  1176.      b       Back up one page.
  1177.  
  1178.      t       Display the entire article tree, including its asso-
  1179.              ciated subjects, and continue reading.  If the group
  1180.              is not currently threaded, it will be turned on  and
  1181.              processed as needed.
  1182.  
  1183.  
  1184.  
  1185. Sun Release 4.1        Last change: LOCAL                      18
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192. TRN(1)                   USER COMMANDS                     TRN(1)
  1193.  
  1194.  
  1195.  
  1196.      gpattern
  1197.              Goto (search forward  for)  pattern  within  current
  1198.              article.   Note  that  there is no space between the
  1199.              command and the pattern.  If the pattern  is  found,
  1200.              the  page  containing the pattern will be displayed.
  1201.              Where on the page the line matching the pattern goes
  1202.              depends  on  the value of the -g switch.  By default
  1203.              the matched line goes at the top of the screen.
  1204.  
  1205.      G       Search for g pattern again.
  1206.  
  1207.      ^G      This is a special version of the 'g' command that is
  1208.              for skipping articles in a digest.  It is equivalent
  1209.              to setting "-g4"  and  then  executing  the  command
  1210.              "g^Subject:".
  1211.  
  1212.      TAB     This is another special version of the  'g'  command
  1213.              that  is  for skipping inclusions of older articles.
  1214.              It is equivalent to setting "-g4" and then executing
  1215.              the command "g^[^c]", where c is the first character
  1216.              of the last line on the screen.  It searches for the
  1217.              first  line that doesn't begin with the same charac-
  1218.              ter as the last line on the screen.
  1219.  
  1220.      !command
  1221.              Escape to a subshell.
  1222.  
  1223.      The following commands skip the rest of the current article,
  1224.      then  behave  just as if typed to the "What next?" prompt at
  1225.      the end of the article.  See the documentation at the  arti-
  1226.      cle selection level for these commands.
  1227.  
  1228.          # $ & / = ? c C f F k K T ^K J , m M r R ^R u U v Y ^
  1229.          p P ^P - < > [ ] { } number
  1230.          range{,range} command{:command}
  1231.  
  1232.      The following commands also skip to the end of the  article,
  1233.      but  have the additional effect of marking the current arti-
  1234.      cle as read:
  1235.  
  1236.          n N ^N e s S | w W
  1237.  
  1238.  
  1239.      Miscellaneous facts about commands
  1240.  
  1241.      An 'n' typed at either the  "Last  newsgroup"  prompt  or  a
  1242.      "Last  article"  prompt  will  cycle  back to the top of the
  1243.      newsgroup or article list,  whereas  a  'q'  will  quit  the
  1244.      level.   (Note  that  'n'  does  not  mean  "no", but rather
  1245.      "next".) A space will of course do whatever is shown as  the
  1246.      default, which will vary depending on whether trn thinks you
  1247.      have more articles or newsgroups to read.
  1248.  
  1249.  
  1250.  
  1251. Sun Release 4.1        Last change: LOCAL                      19
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. TRN(1)                   USER COMMANDS                     TRN(1)
  1259.  
  1260.  
  1261.  
  1262.      The 'b' (backup page) command  may  be  repeated  until  the
  1263.      beginning  of  the  article is reached.  If trn is suspended
  1264.      (via a ^Z), then when the job is  resumed,  a  refresh  (^L)
  1265.      will automatically be done (Berkeley-type systems only).  If
  1266.      you type a command such as '!' or 's' which takes  you  from
  1267.      the  middle  of  the  article to the end, you can always get
  1268.      back into the middle by typing '^L'.
  1269.  
  1270.      In multi-character commands such as '!', 's', '/', etc,  you
  1271.      can interpolate various run-time values by typing escape and
  1272.      a character.  To find out what  you  can  interpolate,  type
  1273.      escape  and 'h', or check out the single character % substi-
  1274.      tutions for environment variables in the Interpretation  and
  1275.      Interpolation  section,  which  are the same.  Additionally,
  1276.      typing a double escape will cause any % substitutions in the
  1277.      string already typed in to be expanded.
  1278.  
  1279.      The Tree Display
  1280.  
  1281.      When reading a threaded newsgroup, trn displays a  character
  1282.      representation of the article tree in the upper right corner
  1283.      of the header.  For example, consider the following display:
  1284.  
  1285.          (1)+-(1)--(2)--[2]
  1286.             |-(1)+-[3]
  1287.             |    \-[1]
  1288.             \-(1)+-[1]--[1]
  1289.                  \-[1]
  1290.  
  1291.      This tree represents  an  initial  article  that  has  three
  1292.      direct  replies  (the second column with three (1)'s).  Each
  1293.      reply has further replies branching off from them.   In  two
  1294.      cases  the  subject  line was altered in the reply, as indi-
  1295.      cated by the increasing numbers.  When  there  is  only  one
  1296.      subject  associated  with a thread, all the nodes are marked
  1297.      with the number 1.  When the first subject  change  arrives,
  1298.      it  is  marked with the number 2, and so on.  If you were to
  1299.      look at this thread in the thread selector, the  three  sub-
  1300.      jects  associated  with it would be listed in the same order
  1301.      as the ascending digits.  In those  rare  cases  where  more
  1302.      than  9  subjects are associated with each thread, the nodes
  1303.      are marked with the letters A-Z, and then by a-z.  The arti-
  1304.      cles  that  have  already  been  read  are enclosed in ()'s.
  1305.      Unread  articles  are  displayed  in  []'s.   The  currently
  1306.      displayed  article  has  its  entire node highlighted in the
  1307.      display.  The previously  displayed  article  has  only  its
  1308.      number highlighted.
  1309.  
  1310.      Options
  1311.  
  1312.      Trn has a nice set of options to allow  you  to  tailor  the
  1313.      interaction  to  your  liking.  (You might like to know that
  1314.  
  1315.  
  1316.  
  1317. Sun Release 4.1        Last change: LOCAL                      20
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324. TRN(1)                   USER COMMANDS                     TRN(1)
  1325.  
  1326.  
  1327.  
  1328.      the author swears by "-x6ls -e +m -S -XX -N".) These options
  1329.      may  be set on the command line, via the TRNINIT environment
  1330.      variable, via a file pointed to by the TRNINIT variable,  or
  1331.      from within trn via the & command.  Options may generally be
  1332.      unset by typing "+switch".  Options include:
  1333.  
  1334.      -a   causes trn to always thread a group that doesn't have a
  1335.           pre-created  thread file.  Without this option you have
  1336.           to toggle each group with the 't' command at the  news-
  1337.           group prompt to force it to be read threaded even if no
  1338.           thread file for the group exists.
  1339.  
  1340.      -c   checks for news without reading news.   If  a  list  of
  1341.           newsgroups  is  given  on  the command line, only those
  1342.           newsgroups will be checked; otherwise all subscribed-to
  1343.           newsgroups  are  checked.   Whenever  the  -c switch is
  1344.           specified, a non-zero exit status from trn  means  that
  1345.           there  is unread news in one of the checked newsgroups.
  1346.           The -c switch does not disable the  printing  of  news-
  1347.           groups  with  unread news; this is controlled by the -s
  1348.           switch.  (The -c switch is not  meaningful  when  given
  1349.           via the & command.)
  1350.  
  1351.      -C<number>
  1352.           tells trn how often to checkpoint the .newsrc, in arti-
  1353.           cles  read.   Actually,  this number says when to start
  1354.           thinking about doing a checkpoint if the  situation  is
  1355.           right.  If a reasonable checkpointing situation doesn't
  1356.           arise within 10 more articles, the  .newsrc  is  check-
  1357.           pointed willy-nilly.
  1358.  
  1359.      -d<directory name>
  1360.           sets the default save directory to something other than
  1361.           ~/News.   The  directory name will be globbed (via csh)
  1362.           if necessary (and if possible).  Articles saved by  trn
  1363.           may  be  placed in the save directory or in a subdirec-
  1364.           tory thereof depending on the command that you give and
  1365.           the  state  of  the  environment  variables SAVEDIR and
  1366.           SAVENAME.  Any KILL files (see the  K  command  in  the
  1367.           Article  Selection  section) also reside in this direc-
  1368.           tory and its subdirectories, by default.  In  addition,
  1369.           shell escapes leave you in this directory.
  1370.  
  1371.      -D<flags>
  1372.           enables  debugging  output.   See  common.h  for   flag
  1373.           values.  Warning: normally trn attempts to restore your
  1374.           .newsrc when an unexpected  signal  or  internal  error
  1375.           occurs.   This is disabled when any debugging flags are
  1376.           set.
  1377.  
  1378.      -e   causes each page within an article to be started at the
  1379.           top  of  the  screen,  not just the first page.  (It is
  1380.  
  1381.  
  1382.  
  1383. Sun Release 4.1        Last change: LOCAL                      21
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390. TRN(1)                   USER COMMANDS                     TRN(1)
  1391.  
  1392.  
  1393.  
  1394.           similar to the -c switch of more(1).) You never have to
  1395.           read  scrolling text with this switch.  This is helpful
  1396.           especially at certain baud rates because you can  start
  1397.           reading  the  top  of the next page without waiting for
  1398.           the whole page to be printed.  It works nicely in  con-
  1399.           junction  with  the  -m  switch,  especially if you use
  1400.           half-intensity for your highlight mode.  See  also  the
  1401.           -L switch.
  1402.  
  1403.      -E<name>=<val>
  1404.           sets the  environment  variable  <name>  to  the  value
  1405.           specified.   Within trn, "&-ESAVENAME=%t" is similar to
  1406.           "setenv  SAVENAME  '%t'"  in  csh,  or  "SAVENAME='%t';
  1407.           export  SAVENAME" in sh.  Any environment variables set
  1408.           with -E will be inherited by subprocesses of trn.
  1409.  
  1410.      -F<string>
  1411.           sets the prefix string for the 'F' followup command  to
  1412.           use  in prefixing each line of the quoted article.  For
  1413.           example, "-F<tab>" inserts a tab on the front  of  each
  1414.           line  (which  will  cause  long  lines  to wrap around,
  1415.           unfortunately), "-F>>>>" inserts ">>>>" on every  line,
  1416.           and  "-F"  by  itself causes nothing to be inserted, in
  1417.           case you want to reformat the text, for instance.   The
  1418.           initial default prefix is ">".
  1419.  
  1420.      -g<line>
  1421.           tells trn which line of the screen you  want  searched-
  1422.           for  strings to show up on when you search with the 'g'
  1423.           command within an  article.   The  lines  are  numbered
  1424.           starting with 1.  The initial default is "-g1", meaning
  1425.           the first line of the screen.  Setting the line to less
  1426.           than  1  or more than the number of lines on the screen
  1427.           will set it to the last line of the screen.
  1428.  
  1429.      -h<string>
  1430.           hides (disables  the  printing  of)  all  header  lines
  1431.           beginning with string. For instance, -hexp will disable
  1432.           the printing of the "Expires:" line.  Case is  insigni-
  1433.           ficant.   If  <string> is null, all header lines except
  1434.           Subject are hidden, and you may then use +h  to  select
  1435.           those  lines  you want to see.  You may wish to use the
  1436.           baud-rate switch modifier below to hide more  lines  at
  1437.           lower baud rates.
  1438.  
  1439.      -H<string>
  1440.           works just like -h except that instead of  setting  the
  1441.           hiding  flag  for a header line, it sets the magic flag
  1442.           for that header line.  Certain header lines have  magic
  1443.           behavior  that can be controlled this way.  At present,
  1444.           the following actions are caused by the  flag  for  the
  1445.           particular line: the Date line prints the date in local
  1446.  
  1447.  
  1448.  
  1449. Sun Release 4.1        Last change: LOCAL                      22
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456. TRN(1)                   USER COMMANDS                     TRN(1)
  1457.  
  1458.  
  1459.  
  1460.           time if the group is threaded; the From line will  only
  1461.           print the commented portion of the user name; the News-
  1462.           groups line will only print  when  there  are  multiple
  1463.           newsgroups;  the  Subject  line  will be underlined and
  1464.           (when threaded) the keyword 'Subject:' is  replaced  by
  1465.           its  subject  number  (e.g.  [1]); and the Expires line
  1466.           will always be suppressed if there is  nothing  on  it.
  1467.           In  fact, all of these actions are the default, and you
  1468.           must use +H to undo them.
  1469.  
  1470.      -i=<number>
  1471.           specifies how long (in lines) to consider  the  initial
  1472.           page   of   an  article--normally  this  is  determined
  1473.           automatically depending on baud rate.   (Note  that  an
  1474.           entire article header will always be printed regardless
  1475.           of the specified initial page length.  If you are work-
  1476.           ing at low baud rate and wish to reduce the size of the
  1477.           headers, you may hide certain header lines with the  -h
  1478.           switch.)
  1479.  
  1480.      -l   disables the clearing of the screen at the beginning of
  1481.           each article, in case you have a bizarre terminal.
  1482.  
  1483.      -L   tells trn to leave information on the screen as long as
  1484.           possible  by not blanking the screen between pages, and
  1485.           by using clear to end-of-line.   (The  more(1)  program
  1486.           does  this.)  This  feature  works only if you have the
  1487.           requisite termcap  capabilities.   The  switch  has  no
  1488.           effect unless the -e switch is set.
  1489.  
  1490.      -m=<mode>
  1491.           enables the marking of the last line  of  the  previous
  1492.           page  printed,  to  help the user see where to continue
  1493.           reading.  This is most helpful when less  than  a  full
  1494.           page  is going to be displayed.  It may also be used in
  1495.           conjunction with the -e switch, in which case the  page
  1496.           is  erased,  and the first line (which is the last line
  1497.           of the previous  page)  is  highlighted.   If  -m=s  is
  1498.           specified,  the standout mode will be used, but if -m=u
  1499.           is specified, underlining will be used.  If neither  =s
  1500.           or =u is specified, standout is the default.  Use +m to
  1501.           disable highlighting.
  1502.  
  1503.      -M   forces mailbox  format  in  creating  new  save  files.
  1504.           Ordinarily you are asked which format you want.
  1505.  
  1506.      -N   forces normal (non-mailbox) format in creating new save
  1507.           files.  Ordinarily you are asked which format you want.
  1508.  
  1509.      -o   will act like old versions of trn and not  chase  xrefs
  1510.           when  junking  articles via thread commands.  Using -o2
  1511.           will also disable the database lookup for all  article-
  1512.  
  1513.  
  1514.  
  1515. Sun Release 4.1        Last change: LOCAL                      23
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522. TRN(1)                   USER COMMANDS                     TRN(1)
  1523.  
  1524.  
  1525.  
  1526.           junking  commands.  This slows down the junking of non-
  1527.           xrefed articles, but enables trn 2.0 to be run using  a
  1528.           database from a pre-2.0 mthreads.
  1529.  
  1530.      -q   bypasses the automatic check for  new  newsgroups  when
  1531.           starting trn.
  1532.  
  1533.      -r   causes trn to restart in the last newsgroup read during
  1534.           a  previous  session  with  trn.   It  is equivalent to
  1535.           starting up normally and then getting to the  newsgroup
  1536.           with a g command.
  1537.  
  1538.      -s   with no argument  suppresses  the  initial  listing  of
  1539.           newsgroups with unread news, whether -c is specified or
  1540.           not.  Thus -c and -s  can  be  used  together  to  test
  1541.           "silently"  the  status of news from within your .login
  1542.           file.  If -s is followed by a number, the initial list-
  1543.           ing  is  suppressed  after  that  many  lines have been
  1544.           listed.  Presuming that you have  your  .newsrc  sorted
  1545.           into  order  of  interest, -s5 will tell you the 5 most
  1546.           interesting newsgroups that have unread news.  This  is
  1547.           also  a  nice feature to use in your .login file, since
  1548.           it not only tells you whether there is unread news, but
  1549.           also  how  important the unread news is, without having
  1550.           to wade through the entire list of  unread  newsgroups.
  1551.           If  no  -s switch is given -s5 is assumed, so just put-
  1552.           ting "rn -c" into your .login file is fine.
  1553.  
  1554.      -S<number>
  1555.           causes trn to enter subject search mode (^N)  automati-
  1556.           cally  whenever  an  unthreaded newsgroup is started up
  1557.           with <number> unread articles or  more.   Additionally,
  1558.           it causes any 'n' typed while in subject search mode to
  1559.           be interpreted as '^N' instead.  (To get  back  out  of
  1560.           subject search mode, the best command is probably '^'.)
  1561.           If <number> is omitted, 3 is assumed.
  1562.  
  1563.      -t   puts trn into terse mode.  This  is  more  cryptic  but
  1564.           useful  for  low  baud  rates.   (Note that your system
  1565.           administrator may have compiled trn with either verbose
  1566.           or terse messages only to save memory.) You may wish to
  1567.           use the baud-rate switch modifier below to enable terse
  1568.           mode only at lower baud rates.
  1569.  
  1570.      -T   allows you to type ahead of rn.  Ordinarily rn will eat
  1571.           typeahead  to prevent your autorepeating space bar from
  1572.           doing a very frustrating thing  when  you  accidentally
  1573.           hold it down.  If you don't have a repeating space bar,
  1574.           or you are working at low baud rate, you can  set  this
  1575.           switch  to  prevent this behavior.  You may wish to use
  1576.           the baud-rate switch modifier below to  disable  typea-
  1577.           head only at lower baud rates.
  1578.  
  1579.  
  1580.  
  1581. Sun Release 4.1        Last change: LOCAL                      24
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588. TRN(1)                   USER COMMANDS                     TRN(1)
  1589.  
  1590.  
  1591.  
  1592.      -v   sets verification mode for  commands.   When  set,  the
  1593.           command  being executed is displayed to give some feed-
  1594.           back that the key has actually been typed.  Useful when
  1595.           the  system  is  heavily  loaded and you give a command
  1596.           that takes a while to start up.
  1597.  
  1598.      -x<number><list>
  1599.           Enable the extended (threaded) features of  trn  beyond
  1600.           the  traditional  rn  compatibility mode.  (This may be
  1601.           the default on your system, use +x if you yearn for the
  1602.           good  ol'  days.) The <number> is the maximum number of
  1603.           article-tree lines (from 0 to 11) you want displayed in
  1604.           your  header.   Use  the  <list> to choose which thread
  1605.           selector modes you like (s - short, m - medium, or l  -
  1606.           long), and in what order they are selected with the 'L'
  1607.           command.  For example, use -xls to start with the  long
  1608.           display  mode  and only switch between it and the short
  1609.           mode.  You can omit either or both of  the  parameters,
  1610.           in which case a default of -x6lsm is assumed.
  1611.  
  1612.      -X<number><commands>
  1613.           If you like using the thread selector, you'll  probably
  1614.           want  to  use  this  option to make the thread selector
  1615.           command (+) the default when a newsgroup is started  up
  1616.           with   at   least   <number>  unread  articles.   (Your
  1617.           installer may have chosen to make -X1  the  default  on
  1618.           your  system.) It is also used to select which commands
  1619.           you want to be the  defaults  while  using  the  thread
  1620.           selector.   For  example,  -X2XD  will  make the thread
  1621.           selector the default command for entering  a  newsgroup
  1622.           with  at  least  2 unread articles, and set the default
  1623.           command for the LAST page of the thread selector to  be
  1624.           the  X  command  and  the default command for all other
  1625.           pages to be the D command.  Either or  both  parameters
  1626.           can  be  omitted, as well as the second default command
  1627.           (e.g.  -XX would change the default newsgroup entry  to
  1628.           use  the  selector and the default command for the last
  1629.           page of the selector to be 'X').  The default is  -X1Z>
  1630.           if  just  -X is specified.  To set the default selector
  1631.           commands without affecting the  default  entry  into  a
  1632.           newsgroup, specify a high number, like 9999.
  1633.  
  1634.      -/   sets SAVEDIR to "%p/%c" and  SAVENAME  to  "%a",  which
  1635.           means that by default articles are saved in a subdirec-
  1636.           tory of your private news  directory  corresponding  to
  1637.           the  name  of  the  the  current  newsgroup,  with  the
  1638.           filename being the article number.  +/ sets SAVEDIR  to
  1639.           "%p"  and  SAVENAME  to  "%^C",  which by default saves
  1640.           articles directly to your private news directory,  with
  1641.           the  filename  being the name of the current newsgroup,
  1642.           first letter capitalized.  (Either  +/  or  -/  may  be
  1643.           default  on  your  system, depending on the feelings of
  1644.  
  1645.  
  1646.  
  1647. Sun Release 4.1        Last change: LOCAL                      25
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654. TRN(1)                   USER COMMANDS                     TRN(1)
  1655.  
  1656.  
  1657.  
  1658.           your news administrator when he, she  or  it  installed
  1659.           trn.)  You  may,  of course, explicitly set SAVEDIR and
  1660.           SAVENAME  to  other  values--see  discussion   in   the
  1661.           environment section.
  1662.  
  1663.      Any switch may  be  selectively  applied  according  to  the
  1664.      current  baud-rate.  Simply prefix the switch with +speed to
  1665.      apply the switch at that speed or  greater,  and  -speed  to
  1666.      apply   the   switch  at  that  speed  or  less.   Examples:
  1667.      -1200-hposted suppresses the Posted line  at  1200  baud  or
  1668.      less; +9600-m enables marking at 9600 baud or more.  You can
  1669.      apply the modifier recursively to itself  also:  +300-1200-t
  1670.      sets terse mode from 300 to 1200 baud.
  1671.  
  1672.      Similarly, switches may be selected based on terminal type:
  1673.  
  1674.           -=vt100+T      set +T on vt100
  1675.           -=tvi920-ETERM=mytvi     get a special termcap entry
  1676.           -=tvi920-ERNMACRO=%./.rnmac.tvi
  1677.                          set up special keymappings
  1678.           +=paper-v      set verify mode if not hardcopy
  1679.  
  1680.      Some switch arguments, such as environment variable  values,
  1681.      may  require  spaces  in them.  Such spaces should be quoted
  1682.      via ", ', or \ in the conventional fashion, even when passed
  1683.      via TRNINIT or the & command.
  1684.  
  1685.      Regular Expressions
  1686.  
  1687.      The patterns used in article searching are  regular  expres-
  1688.      sions  such as those used by ed(1).  In addition, \w matches
  1689.      an alphanumeric character and \W  a  nonalphanumeric.   Word
  1690.      boundaries  may  be matched by \b, and non-boundaries by \B.
  1691.      The bracketing construct \( ... \) may  also  be  used,  and
  1692.      \digit matches the digit'th substring, where digit can range
  1693.      from 1 to 9.  \0 matches whatever  the  last  bracket  match
  1694.      matched.   Up  to  10  alternatives  may given in a pattern,
  1695.      separated by \|, with the caveat  that  \( ... \| ... \)  is
  1696.      illegal.
  1697.  
  1698.      Interpretation and Interpolation
  1699.  
  1700.      Many  of  the  strings  that  trn  handles  are  subject  to
  1701.      interpretations of several types.  Under filename expansion,
  1702.      an initial "~/" is translated  to  the  name  of  your  home
  1703.      directory,  and "~name" is translated to the login directory
  1704.      for the user specified.  Filename expansion will also expand
  1705.      an   initial   environment   variable,  and  also  does  the
  1706.      backslash, uparrow and percent expansion mentioned below.
  1707.  
  1708.      All interpreted strings go through  backslash,  uparrow  and
  1709.      percent  interpretation.   The  backslash  escapes  are  the
  1710.  
  1711.  
  1712.  
  1713. Sun Release 4.1        Last change: LOCAL                      26
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720. TRN(1)                   USER COMMANDS                     TRN(1)
  1721.  
  1722.  
  1723.  
  1724.      normal ones (such as  \n,  \t,  \nnn,  etc.).   The  uparrow
  1725.      escapes  indicate  control  codes  in  the  normal  fashion.
  1726.      Backslashes or uparrows  to  be  passed  through  should  be
  1727.      escaped  with  backslash.   The  special percent escapes are
  1728.      similar to printf percent escapes.  These cause the  substi-
  1729.      tution of various run-time values into the string.  The fol-
  1730.      lowing are currently recognized:
  1731.  
  1732.      %a      Current article number.
  1733.  
  1734.      %A      Full name of current article (%P/%c/%a).
  1735.  
  1736.      %b      Destination of last save command, often a mailbox.
  1737.  
  1738.      %B      The byte offset to the beginning of the part of  the
  1739.              article  to  be saved, set by the save command.  The
  1740.              's' and 'S' commands set it to 0, and  the  'w'  and
  1741.              'W'  commands  set it to the byte offset of the body
  1742.              of the article.
  1743.  
  1744.      %c      Current newsgroup, directory form.
  1745.  
  1746.      %C      Current newsgroup, dot form.
  1747.  
  1748.      %d      Full name of newsgroup directory (%P/%c).
  1749.  
  1750.      %D      "Distribution:" line from the current article.
  1751.  
  1752.      %e      The last command executed to extract  data  from  an
  1753.              article.
  1754.  
  1755.      %E      The last directory where an extracted file went.
  1756.  
  1757.      %f      "From:"  line  from  the  current  article,  or  the
  1758.              "Reply-To:" line if there is one.  This differs from
  1759.              %t in that comments (such as the full name) are  not
  1760.              stripped out with %f.
  1761.  
  1762.      %F      "Newsgroups:" line for a  new  article,  constructed
  1763.              from   "Newsgroups:"  and  "Followup-To:"  lines  of
  1764.              current article.
  1765.  
  1766.      %h      Name of the header file to pass to the mail or  news
  1767.              poster,  containing  all  the  information  that the
  1768.              poster program  needs  in  the  form  of  a  message
  1769.              header.   It  may also contain a copy of the current
  1770.              article.  The format of  the  header  file  is  con-
  1771.              trolled by the MAILHEADER and NEWSHEADER environment
  1772.              variables.
  1773.  
  1774.      %H      Host name (your machine's name).
  1775.  
  1776.  
  1777.  
  1778.  
  1779. Sun Release 4.1        Last change: LOCAL                      27
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786. TRN(1)                   USER COMMANDS                     TRN(1)
  1787.  
  1788.  
  1789.  
  1790.      %i      "Message-I.D.:" line from the current article,  with
  1791.              <> guaranteed.
  1792.  
  1793.      %I      The reference indication mark (see the -F switch.)
  1794.  
  1795.      %l      The news administrator's login name, if any.
  1796.  
  1797.      %L      Login name (yours).
  1798.  
  1799.      %m      The current mode of trn, for use in conditional mac-
  1800.              ros.
  1801.  
  1802.                   i    Initializing.
  1803.                   n    Newsgroup selection level.
  1804.                   t    Thread selection level.
  1805.                   a    Article selection level (What next?).
  1806.                   p    Pager level (MORE prompt).
  1807.                   u    Set unread? prompt.
  1808.                   A    Add this newsgroup?
  1809.                   B    aBandon confirmation.
  1810.                   C    Catchup confirmation.
  1811.                   D    Delete bogus newsgroups?
  1812.                   F    Is followup a new topic?
  1813.                   M    Use mailbox format?
  1814.                   R    Resubscribe to this newsgroup?
  1815.  
  1816.              Note that yes/no questions are all upper-case modes.
  1817.              If,  for example, you wanted to disallow defaults on
  1818.              all yes/no questions, you could define the following
  1819.              macro:
  1820.  
  1821.              \040 %(%m=[A-Z]?h: )
  1822.  
  1823.      %M      The number of articles marked to return via the  'M'
  1824.              command.   If  the  same  article is Marked multiple
  1825.              times, "%M" counts it multiple times in the  current
  1826.              implementation.
  1827.  
  1828.      %n      "Newsgroups:" line from the current article.
  1829.  
  1830.      %N      Full name (yours).
  1831.  
  1832.      %o      Organization (yours).
  1833.  
  1834.      %O      Original working directory (where you ran rn from).
  1835.  
  1836.      %p      Your private news directory, normally ~/News.
  1837.  
  1838.      %P      Public    news     spool     directory,     normally
  1839.              /usr/spool/news on systems that don't use NNTP.
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845. Sun Release 4.1        Last change: LOCAL                      28
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852. TRN(1)                   USER COMMANDS                     TRN(1)
  1853.  
  1854.  
  1855.  
  1856.      %r      Last reference on references line of current article
  1857.              (parent article id).
  1858.  
  1859.      %R      References list for a new article, constructed  from
  1860.              the  references  and article ID of the current arti-
  1861.              cle.
  1862.  
  1863.      %s      Subject, with all Re's and (nf)'s stripped off.
  1864.  
  1865.      %S      Subject, with one "Re:" stripped off.
  1866.  
  1867.      %t      "To:" line derived from the "From:" and  "Reply-To:"
  1868.              lines  of  the current article.  This always returns
  1869.              an Internet format address.
  1870.  
  1871.      %T      "To:" line derived from  the  "Path:"  line  of  the
  1872.              current article to produce a uucp path.
  1873.  
  1874.      %u      The number of unread articles in the  current  news-
  1875.              group.
  1876.  
  1877.      %U      The number of unread articles in the  current  news-
  1878.              group,  not  counting the the current article.  When
  1879.              threads  are  selected,  this  count  reflects  only
  1880.              selected articles.
  1881.  
  1882.      %v      The number of unselected articles, not counting  the
  1883.              current article if it is unselected.
  1884.  
  1885.      %w      The directory where mthreads keeps its tmp files.
  1886.  
  1887.      %W      The directory where thread files are placed.
  1888.  
  1889.      %x      The news library directory.
  1890.  
  1891.      %X      The rn library directory.
  1892.  
  1893.      %z      The length of the current article in bytes.
  1894.  
  1895.      %Z      The number of selected threads.
  1896.  
  1897.      %~      Your home directory.
  1898.  
  1899.      %.      The directory containing your dot  files,  which  is
  1900.              your  home directory unless the environment variable
  1901.              DOTDIR is defined when rn is invoked.
  1902.  
  1903.      %#      The current count for a  multi-file  save,  starting
  1904.              with  1.   This value is incremented by one for each
  1905.              file saved or extracted within a single command.
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911. Sun Release 4.1        Last change: LOCAL                      29
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918. TRN(1)                   USER COMMANDS                     TRN(1)
  1919.  
  1920.  
  1921.  
  1922.      %$      Current process number.
  1923.  
  1924.      %/      Last search string.
  1925.  
  1926.      %%      A percent sign.
  1927.  
  1928.      %{name} or %{name-default}
  1929.              The environment variable "name".
  1930.  
  1931.      %[name] The value of header line "Name:"  from  the  current
  1932.              article.  The "Name: " is not included.  For example
  1933.              "%D" and "%[distribution]" are equivalent.  The name
  1934.              must be spelled out in full.
  1935.  
  1936.      %`command`
  1937.              Inserts the output of the command, with any embedded
  1938.              newlines translated to space.
  1939.  
  1940.      %"prompt"
  1941.              Prints prompt  on  the  terminal,  then  inputs  one
  1942.              string, and inserts it.
  1943.  
  1944.      %(test_text=pattern?then_text:else_text)
  1945.              If  test_text  matches  pattern,   has   the   value
  1946.              then_text, otherwise else_text.  The ":else_text" is
  1947.              optional,  and  if  absent,  interpolates  the  null
  1948.              string.  The = may be replaced with != to negate the
  1949.              test.  To quote any of the metacharacters ('=', '?',
  1950.              ':', or ')'), precede with a backslash.
  1951.  
  1952.      %digit  The  digits  1  through  9  interpolate  the  string
  1953.              matched by the nth bracket in the last pattern match
  1954.              that had brackets.  If the last pattern had alterna-
  1955.              tives,  you  may  not know the number of the bracket
  1956.              you want--%0 will give you the last bracket matched.
  1957.  
  1958.      Modifiers: to capitalize the first letter, insert '^': "%^C"
  1959.      produces  something  like "Net.jokes".  Inserting '_' causes
  1960.      the first letter following the last '/' to  be  capitalized:
  1961.      "%_c" produces "net/Jokes".
  1962.  
  1963.      Inserting '\' will insert a backslash before any  characters
  1964.      that  would be magic in a regular expression: "%\C" produces
  1965.      "net\.jokes".  This is called regexp quoting.
  1966.  
  1967. ENVIRONMENT
  1968.      The following environment variables are paid attention to by
  1969.      trn.   In general the default values assumed for these vari-
  1970.      ables by trn are reasonable, so if you are using trn for the
  1971.      first  time,  you can safely ignore this section.  Note that
  1972.      the defaults below  may  not  correspond  precisely  to  the
  1973.      defaults  on  your  system.  To find the actual defaults you
  1974.  
  1975.  
  1976.  
  1977. Sun Release 4.1        Last change: LOCAL                      30
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984. TRN(1)                   USER COMMANDS                     TRN(1)
  1985.  
  1986.  
  1987.  
  1988.      would need to look in  config.h  and  common.h  in  the  trn
  1989.      source directory, and the file INIT in the trn library.
  1990.  
  1991.      Those variables marked (%) are subject to  %  interpolation,
  1992.      and those marked (~) are subject to both % interpolation and
  1993.      ~ interpretation.
  1994.  
  1995.      ATTRIBUTION (%)
  1996.              Gives the format of the attribution line in front of
  1997.              the quoted article included by an F command.
  1998.  
  1999.              Default: In article %i %f writes:
  2000.  
  2001.      AUTOSUBSCRIBE
  2002.              When trn is checking for new  newsgroups  and  finds
  2003.              one  matching  one of the patterns in AUTOSUBSCRIBE,
  2004.              the new group is automatically added to the  end  of
  2005.              the  .newsrc,  subscribed.   Newsgroups not matching
  2006.              this or AUTOUNSUBSCRIBE, below, are offered  to  the
  2007.              user.
  2008.  
  2009.              AUTOSUBSCRIBE is a comma separated list of newsgroup
  2010.              patterns  ala  It can also include "but not" entries
  2011.              preceded by '!'.  "a,b,!c,d" is read as "matching  a
  2012.              or  b,  unless it also matches c; matching d regard-
  2013.              less".  Another way to look at it is "(((a or b) and
  2014.              not  c)  or  d)".  To automatically subscribe to all
  2015.              local groups but be choosy about  non-local  groups,
  2016.              one might say "*,!*.*".
  2017.  
  2018.              Default: (none)
  2019.  
  2020.      AUTOUNSUBSCRIBE
  2021.              AUTOUNSUBSCRIBE is very  similar  to  AUTOSUBSCRIBE,
  2022.              above,  but new newsgroups matching it are automati-
  2023.              cally added to the end of the .newsrc  file,  unsub-
  2024.              scribed.   If  a  newsgroup  matches  AUTOSUBSCRIBE,
  2025.              AUTOUNSUBSCRIBE is not consulted.
  2026.  
  2027.              Default: (none)
  2028.  
  2029.      CANCEL (~)
  2030.              The shell command used to cancel an article.
  2031.  
  2032.              Default: inews -h < %h
  2033.  
  2034.      CANCELHEADER (%)
  2035.              The format of the file to pass to the CANCEL command
  2036.              in order to cancel an article.
  2037.  
  2038.              Default:
  2039.              Newsgroups: %n
  2040.  
  2041.  
  2042.  
  2043. Sun Release 4.1        Last change: LOCAL                      31
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050. TRN(1)                   USER COMMANDS                     TRN(1)
  2051.  
  2052.  
  2053.  
  2054.              Subject: cmsg cancel %i
  2055.              References: %R
  2056.              Reply-To: %L@%H (%N)
  2057.              Distribution: %D
  2058.              Organization: %o
  2059.  
  2060.              %i cancelled from rn.
  2061.  
  2062.      DOTDIR  Where to find your dot files, if they aren't in your
  2063.              home directory.  Can be interpolated using "%.".
  2064.  
  2065.              Default: $HOME
  2066.  
  2067.      EDITOR (~)
  2068.              The name of your editor, if VISUAL is undefined.
  2069.  
  2070.              Default: whatever your news  administrator  compiled
  2071.              in, usually vi.
  2072.  
  2073.      EXSAVER (%)
  2074.              The shell command to execute  in  order  to  extract
  2075.              data to either /bin/sh or a user-specified command.
  2076.  
  2077.              Default: tail +%Bc %A | %e
  2078.  
  2079.      EDITOR (~)
  2080.              The name of your editor, if VISUAL is undefined.
  2081.  
  2082.              Default: whatever your news  administrator  compiled
  2083.              in, usually vi.
  2084.  
  2085.      FIRSTLINE (%)
  2086.              Controls the format of the line displayed at the top
  2087.              of an article.  Warning: this may go away.
  2088.  
  2089.              The default in an unthreaded group is approximately:
  2090.  
  2091.              Article  %a  %(%U%M!=^00$?(%U  more%(%M!=^0$?  +  %M
  2092.              Marked to return)\) )in %C:
  2093.  
  2094.              While the default in a threaded group is almost:
  2095.  
  2096.              %C #%a%(%Z=^0$?%(%U!=^0$?  (%U  more\)):  (%U  +  %v
  2097.              more\))
  2098.  
  2099.      HIDELINE
  2100.              If defined,  contains  a  regular  expression  which
  2101.              matches  article  lines  to be hidden, in order, for
  2102.              instance, to suppress  quoted  material.   A  recom-
  2103.              mended  string  for  this  purpose is "^>...", which
  2104.              doesn't hide lines with only '>', to give some indi-
  2105.              cation  that  quoted  material is being skipped.  If
  2106.  
  2107.  
  2108.  
  2109. Sun Release 4.1        Last change: LOCAL                      32
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116. TRN(1)                   USER COMMANDS                     TRN(1)
  2117.  
  2118.  
  2119.  
  2120.              you want to hide more than one pattern, you can  use
  2121.              "|"  to separate the alternatives.  You can view the
  2122.              hidden lines by restarting the article with the  'v'
  2123.              command.
  2124.  
  2125.              There is some overhead  involved  in  matching  each
  2126.              line  of  the  article against a regular expression.
  2127.              You might wish to use a baud-rate modifier to enable
  2128.              this feature only at low baud rates.
  2129.  
  2130.              Default: undefined
  2131.  
  2132.      HOME    Your home directory.  Affects ~ interpretation,  and
  2133.              the  location  of  your  dot  files if DOTDIR is not
  2134.              defined.
  2135.  
  2136.              Default: $LOGDIR
  2137.  
  2138.      KILLGLOBAL (~)
  2139.              Where to find the KILL file to apply to every  news-
  2140.              group.  See the '^K' command at the newsgroup selec-
  2141.              tion level.
  2142.  
  2143.              Default: %p/KILL
  2144.  
  2145.      KILLLOCAL (~)
  2146.              Where to find the KILL file for  the  current  news-
  2147.              group.  See the commands 'K' and '^K' at the article
  2148.              selection level, and the search modifier 'K'.
  2149.  
  2150.              Default: %p/%c/KILL
  2151.  
  2152.      LOGDIR  Your home directory if HOME is undefined.  Affects ~
  2153.              interpretation,  and  the location of your dot files
  2154.              if DOTDIR is not defined.
  2155.  
  2156.              Default: none.
  2157.  
  2158.              Explanation: you must have either $HOME or $LOGDIR.
  2159.  
  2160.      LOGNAME Your login name,  if  USER  is  undefined.   May  be
  2161.              interpolated using "%L".
  2162.  
  2163.              Default: value of getlogin().
  2164.  
  2165.      LOCALTIMEFMT
  2166.              The format used by strftime()  to  print  the  local
  2167.              time.  The Date line is only displayed in local time
  2168.              if the group is threaded (see the -H option for more
  2169.              information on Date).
  2170.  
  2171.              Default: %a %b %e %X %Z %Y
  2172.  
  2173.  
  2174.  
  2175. Sun Release 4.1        Last change: LOCAL                      33
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182. TRN(1)                   USER COMMANDS                     TRN(1)
  2183.  
  2184.  
  2185.  
  2186.              which is the same format as the date(1) command.
  2187.  
  2188.      MAILCALL (~)
  2189.              What to say when there is new mail.
  2190.  
  2191.              Default: (Mail)
  2192.  
  2193.      MAILFILE (~)
  2194.              Where to check for mail.
  2195.  
  2196.              Default: /usr/spool/mail/%L
  2197.  
  2198.      MAILHEADER (%)
  2199.              The format of the header file for replies.  See also
  2200.              MAILPOSTER.
  2201.  
  2202.              Default:
  2203.  
  2204.              To: %T
  2205.              Subject: %(%i=^$?:Re: %S
  2206.              Newsgroups: %n
  2207.              In-Reply-To: %i)
  2208.              %(%[references]!=^$?References\: %[references]
  2209.              )Organization: %o
  2210.              Cc:
  2211.              Bcc: \n\n
  2212.  
  2213.      MAILPOSTER (~)
  2214.              The shell command to be used by the  reply  commands
  2215.              (r and R) in order to allow you to enter and deliver
  2216.              the response.  trn will not itself call upon an edi-
  2217.              tor  for  replies--this is a function of the program
  2218.              called by trn.  See also MAILHEADER.
  2219.  
  2220.              Default: Rnmail -h %h
  2221.  
  2222.      MBOXSAVER (~)
  2223.              The shell command to save an article in mailbox for-
  2224.              mat.
  2225.  
  2226.              Default: %X/mbox.saver %A %P %c %a %B %C "%b" \
  2227.              "From: %T %`date`"
  2228.  
  2229.              Explanation: the first seven arguments are the  same
  2230.              as  for NORMSAVER.  The eighth argument to the shell
  2231.              script is  the  new  From:  line  for  the  article,
  2232.              including  the posting date, derived either directly
  2233.              from the Posted: line, or not-so-directly  from  the
  2234.              Date: line.  Header munging at its finest.
  2235.  
  2236.      MODSTRING
  2237.              The string to insert  in  the  group  summary  line,
  2238.  
  2239.  
  2240.  
  2241. Sun Release 4.1        Last change: LOCAL                      34
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248. TRN(1)                   USER COMMANDS                     TRN(1)
  2249.  
  2250.  
  2251.  
  2252.              which  heads  each  article,  for a moderated group.
  2253.              See also NOPOSTRING.
  2254.  
  2255.              Default: " (moderated)"
  2256.  
  2257.      NAME    Your full name.  May be interpolated using "%N".
  2258.  
  2259.              Default: name from /etc/passwd, or ~/.fullname.
  2260.  
  2261.      NEWSHEADER (%)
  2262.              The format of the header file  for  followups.   See
  2263.              also NEWSPOSTER.
  2264.  
  2265.              Default:
  2266.  
  2267.              Newsgroups: %(%F=^$?%C:%F)
  2268.              Subject: %(%S=^$?%"\n\nSubject: ":Re: %S)
  2269.              Summary:
  2270.              Expires:
  2271.              %(%R=^$?:References: %R
  2272.              )Sender:
  2273.              Reply-To: %L@%H (%N)
  2274.              Followup-To:
  2275.              Distribution: %(%i=^$?%"\nDistribution: ":%D)
  2276.              Organization: %o
  2277.              Keywords: \n\n
  2278.  
  2279.      NEWSORG Either the name of your organization, or the name of
  2280.              a  file  containing  the  name of your organization.
  2281.              (For use at sites where the ORGANIZATION environmen-
  2282.              tal  variable is already in use.  NEWSORG will over-
  2283.              ride ORGANIZATION  if  both  are  present.)  May  be
  2284.              interpolated using "%o".
  2285.  
  2286.              Default: whatever your news  administrator  compiled
  2287.              in.
  2288.  
  2289.      NEWSPOSTER (~)
  2290.              The shell command to be used by  the  followup  com-
  2291.              mands  (f  and F) in order to allow you to enter and
  2292.              post a followup news article.  trn will  not  itself
  2293.              call  upon  an editor for followups--this is a func-
  2294.              tion of the program called by trn.  See  also  NEWS-
  2295.              HEADER.
  2296.  
  2297.              Default: Pnews -h %h
  2298.  
  2299.      NEWSRC  Your newsgroup subscription list.
  2300.  
  2301.              Default: $HOME/.newsrc
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307. Sun Release 4.1        Last change: LOCAL                      35
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314. TRN(1)                   USER COMMANDS                     TRN(1)
  2315.  
  2316.  
  2317.  
  2318.      NNTPSERVER
  2319.              The hostname of your  NNTPSERVER.   [This  does  not
  2320.              apply  unless  you  are  running the NNTP version of
  2321.              rn.]
  2322.  
  2323.              Default: the hostname listed  in  the  server  file,
  2324.              usually /usr/local/lib/rn/server.
  2325.  
  2326.      NOPOSTRING
  2327.              The string to insert  in  the  group  summary  line,
  2328.              which heads each article, for a group to which local
  2329.              posting is not allowed.  See also MODSTRING.
  2330.  
  2331.              Default: " (no posting)"
  2332.  
  2333.      NORMSAVER (~)
  2334.              The shell command to save an article in  the  normal
  2335.              (non-mailbox) format.
  2336.  
  2337.              Default: %X/norm.saver %A %P %c %a %B %C "%b"
  2338.  
  2339.      ORGANIZATION
  2340.              Either the name of your organization, or the name of
  2341.              a  file  containing  the  name of your organization.
  2342.              (If NEWSORG is set, it will override  ORGANIZATION.)
  2343.              May be interpolated using "%o".
  2344.  
  2345.              Default: whatever your news  administrator  compiled
  2346.              in.
  2347.  
  2348.      PAGESTOP
  2349.              If defined,  contains  a  regular  expression  which
  2350.              matches  article  lines to be treated as form-feeds.
  2351.              There are at least two things you might want  to  do
  2352.              with this.  To cause page breaks between articles in
  2353.              a digest, you might define it  as  "^--------".   To
  2354.              force  a  page  break  before a signature, you could
  2355.              define it as "^-- $".  (Then, when you see  "--"  at
  2356.              the  bottom  of the page, you can skip the signature
  2357.              if you so desire by typing 'n' instead of space.) To
  2358.              do  both, you could use "^--".  If you want to break
  2359.              on more  than  one  pattern,  you  can  use  "|"  to
  2360.              separate the alternatives.
  2361.  
  2362.              There is some overhead  involved  in  matching  each
  2363.              line  of  the  article against a regular expression.
  2364.              You might wish to use a baud-rate modifier to enable
  2365.              this feature only at low baud rates.
  2366.  
  2367.              Default: undefined
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373. Sun Release 4.1        Last change: LOCAL                      36
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380. TRN(1)                   USER COMMANDS                     TRN(1)
  2381.  
  2382.  
  2383.  
  2384.      PIPESAVER (%)
  2385.              The shell command to execute in order to  accomplish
  2386.              a  save  to a pipe ("s | command" or "w | command").
  2387.              The command typed by the user is substituted  in  as
  2388.              %b.
  2389.  
  2390.              Default: %(%B=^0$?<%A:tail +%Bc %A |) %b
  2391.  
  2392.              Explanation: if %B is 0, the command  is  "<%A  %b",
  2393.              otherwise the command is "tail +%Bc %A | %b".
  2394.  
  2395.      REPLYTO The value of the "Reply-To:" header, if needed.
  2396.  
  2397.  
  2398.      RNINIT  Default values for switches may be passed to trn  by
  2399.              placing them in either RNINIT or TRNINIT.  RNINIT is
  2400.              used when in rn-compatibility  mode  or  if  TRNINIT
  2401.              isn't found.  Any switch that is set in this way may
  2402.              be overruled on the command line,  or  via  the  '&'
  2403.              command  from  within  trn.   Binary-valued switches
  2404.              that are set  with  "-switch"  may  be  unset  using
  2405.              "+switch".
  2406.  
  2407.              If RNINIT begins with a '/' it is assumed to be  the
  2408.              name  of a file containing switches.  If you want to
  2409.              set many environment variables  but  don't  want  to
  2410.              keep  them all in your environment, or if the use of
  2411.              any of these variables  conflicts  with  other  pro-
  2412.              grams,  you  can  use this feature along with the -E
  2413.              switch  to  set  the  environment   variables   upon
  2414.              startup.
  2415.  
  2416.              Default: " ".
  2417.  
  2418.      RNMACRO (~)
  2419.              The name of the file containing macros and key  map-
  2420.              pings.  See the MACROS section.
  2421.  
  2422.              Default: %./.rnmac
  2423.  
  2424.      SAVEDIR (~)
  2425.              The name of the directory to save to,  if  the  save
  2426.              command does not specify a directory name.
  2427.  
  2428.              Default:
  2429.                 If -/ is set: %p/%c
  2430.                 If +/ is set: %p
  2431.  
  2432.      SAVENAME (%)
  2433.              The name of the file to save to, if the save command
  2434.              contains only a directory name.
  2435.  
  2436.  
  2437.  
  2438.  
  2439. Sun Release 4.1        Last change: LOCAL                      37
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446. TRN(1)                   USER COMMANDS                     TRN(1)
  2447.  
  2448.  
  2449.  
  2450.              Default:
  2451.                 If -/ is set: %a
  2452.                 If +/ is set: %^C
  2453.  
  2454.      SELECTCHARS
  2455.              The characters used by the thread selector to select
  2456.              the   associated  thread  of  discussion.   You  can
  2457.              specify  up  to  64  visible  characters,  including
  2458.              upper-  and  lower-case  letters,  numbers, and many
  2459.              punctuation characters.  Selection characters  over-
  2460.              ride command characters in the selector, but are not
  2461.              excluded from macro expansion, so be careful.
  2462.              Default: abcdefgijlorstuvwxz1234567890
  2463.              (h, k, n, p, q, and y are omitted to allow  them  to
  2464.              be typed as commands).
  2465.  
  2466.      SHELL   The name of your preferred shell.  It will  be  used
  2467.              by the '!', 'S' and 'W' commands.
  2468.  
  2469.              Default: whatever your news  administrator  compiled
  2470.              in.
  2471.  
  2472.      SUBJLINE (%)
  2473.              Controls the format of the lines  displayed  by  the
  2474.              '=' command at the article selection level.
  2475.  
  2476.              Default: %s
  2477.  
  2478.      SUPERSEDEHEADER (%)
  2479.              The format of the header file for a supersede  arti-
  2480.              cle.
  2481.  
  2482.              Default:
  2483.  
  2484.              From: %L@%H (%N)
  2485.              Newsgroups: %n
  2486.              Subject: %S
  2487.              Distribution: %D
  2488.              Organization: %o
  2489.              Supersedes: %i
  2490.  
  2491.      TERM    Determines  which  termcap  entry  to  use,   unless
  2492.              TERMCAP contains the entry.
  2493.  
  2494.      TERMCAP Holds either the name of your  termcap  file,  or  a
  2495.              termcap entry.
  2496.  
  2497.              Default: /etc/termcap, normally.
  2498.  
  2499.      TRNINIT Trn's version of the  RNINIT  environment  variable.
  2500.              See RNINIT for a description.
  2501.  
  2502.  
  2503.  
  2504.  
  2505. Sun Release 4.1        Last change: LOCAL                      38
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512. TRN(1)                   USER COMMANDS                     TRN(1)
  2513.  
  2514.  
  2515.  
  2516.      UNSHAR (~)
  2517.              The shell command to execute in order to  accomplish
  2518.              the unshar'ing of a shell archive.
  2519.  
  2520.              Default: /bin/sh
  2521.  
  2522.      USER    Your login name.  May be interpolated using "%L".
  2523.  
  2524.              Default: $LOGNAME
  2525.  
  2526.      VISUAL (~)
  2527.              The name of your editor.
  2528.  
  2529.              Default: $EDITOR
  2530.  
  2531.      YOUSAID (%)
  2532.              Gives the format of the attribution line in front of
  2533.              the quoted article included by an R command.
  2534.  
  2535.              Default: In article %i you write:
  2536.  
  2537. MACROS
  2538.      When trn starts up, it looks for  a  file  containing  macro
  2539.      definitions   (see   environment   variable  RNMACRO).   Any
  2540.      sequence of commands may be bound to any sequence  of  keys,
  2541.      so  you  could  remap  your  entire  keyboard if you desire.
  2542.      Blank lines or lines beginning with # in the macro file  are
  2543.      considered  comments;  otherwise  trn  looks  for two fields
  2544.      separated  by  white  space.   The  first  field  gives  the
  2545.      sequence  of  keystrokes  that  trigger  the  macro, and the
  2546.      second field gives the  sequence  of  commands  to  execute.
  2547.      Both  fields are subject to % interpolation, which will also
  2548.      translate backslash and uparrow sequences.   (The  keystroke
  2549.      field  is interpreted at startup time, but the command field
  2550.      is interpreted at macro execution time so that you may refer
  2551.      to % values in a macro.) For example, if you want to reverse
  2552.      the roles of carriage return and space in trn
  2553.  
  2554.      ^J   \040
  2555.      ^M   \040
  2556.      \040 ^J
  2557.  
  2558.      will do just that.  By default, all characters in  the  com-
  2559.      mand  field are interpreted as the canonical trn characters,
  2560.      i.e. no macro expansion is done.  Otherwise the  above  pair
  2561.      of  macros  would  cause  an  infinite loop.  To force macro
  2562.      expansion in the command field, enclose the macro call  with
  2563.      ^( ... ^) thusly:
  2564.  
  2565.      @s   |mysavescript
  2566.      @w   w^(@s^)
  2567.  
  2568.  
  2569.  
  2570.  
  2571. Sun Release 4.1        Last change: LOCAL                      39
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578. TRN(1)                   USER COMMANDS                     TRN(1)
  2579.  
  2580.  
  2581.  
  2582.      You can use the %() conditional construct to construct  mac-
  2583.      ros that work differently under different circumstances.  In
  2584.      particular, the current mode (%m) of trn could  be  used  to
  2585.      make  a command that only works at a particular level.  This
  2586.      is particularly vital for the thread  selector,  which  uses
  2587.      most  of  the  lower-case  letters  to select the associated
  2588.      thread of discussion.  For example,
  2589.  
  2590.      a    %(%m=t?a:s art.hold\n)
  2591.  
  2592.      will return the original letter (a) in the thread  selector,
  2593.      and the command "s art.hold\n" everywhere else.
  2594.  
  2595.      %(%{TERM}=vt100?^[[O)    /^J
  2596.  
  2597.      will do the binding only if  the  terminal  type  is  vt100,
  2598.      though  if you have many of these it would be better to have
  2599.      separate files for each terminal.
  2600.  
  2601.      If you want to bind a macro to a function key  that  puts  a
  2602.      common  garbage  character  after  the sequence (such as the
  2603.      carriage  return  on  the  end  of  Televideo  920  function
  2604.      sequences),  DO  NOT  put  the  carriage return into all the
  2605.      sequences or you will waste a CONSIDERABLE amount of  inter-
  2606.      nal  storage.   Instead of "^AF^M", put "^AF+1", which indi-
  2607.      cates to trn that it should gobble up  one  character  after
  2608.      the F.
  2609.  
  2610. WHAT'S NEW?
  2611.      Here's a quick run-down of trn's new features  and  commands
  2612.      aimed at the knowledgeable rn user.
  2613.  
  2614.      One of the biggest  improvements  is  the  Thread  Selector,
  2615.      which is bound to the '+' key.  The selector displays a list
  2616.      of subject threads and (by default) authors to allow you  to
  2617.      select  the topics that interest you by typing their associ-
  2618.      ated letter.  The thread selector can also be used to browse
  2619.      articles that have already been read, to selectively re-read
  2620.      discussions (use the 'U' command).
  2621.  
  2622.      Another big improvement is  the  thread-ordered  display  of
  2623.      articles.  While reading each topic, trn displays each arti-
  2624.      cle and its replies in the order of their parent/child rela-
  2625.      tionship.   This  lets you follow the flow of the discussion
  2626.      better, instead of jumping around from idea to idea or  even
  2627.      reading a reply before the original article.
  2628.  
  2629.      Along this same line is the  addition  of  the  article-tree
  2630.      display  in  the upper-right corner of the header.  Glancing
  2631.      at the tree gives you a better feel for how the articles you
  2632.      are reading relate to each other.
  2633.  
  2634.  
  2635.  
  2636.  
  2637. Sun Release 4.1        Last change: LOCAL                      40
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644. TRN(1)                   USER COMMANDS                     TRN(1)
  2645.  
  2646.  
  2647.  
  2648.      The header has  also  been  modified  to  hide  a  few  more
  2649.      header-lines  by  default (e.g. References), but, as always,
  2650.      you can override these with -h.   There  is  also  some  new
  2651.      "magic" in the header: the From header is trimmed to be just
  2652.      the comment portion (if available), and the Date  header  is
  2653.      displayed  in  local  time  (in  threaded groups).  Override
  2654.      these defaults with +H.
  2655.  
  2656.      Once you begin reading articles, use  the  regular  movement
  2657.      commands  (n,  N,  p, P, etc.) as you normally would.  Then,
  2658.      check out the [, ], {, and } commands to move around in  the
  2659.      article tree a bit more directly.  For example, the '[' com-
  2660.      mand takes you to  your  parent  article,  even  if  it  was
  2661.      already  read,  which  is  very useful for tracking down the
  2662.      cited portion of the article in its original context.
  2663.  
  2664.      There are additional kill commands for the entire thread (J)
  2665.      and  the  current article and all its replies (,).  The KILL
  2666.      files have been extended to allow  killing  by  thread  (T),
  2667.      which will kill a topic even if people fine-tune the subject
  2668.      along the way.
  2669.  
  2670.      There is also an easy way to skip around among  the  various
  2671.      threads with the < and > commands.
  2672.  
  2673.      Note:  your news administrator has  the  option  of  turning
  2674.      thread  processing off for individual groups, and thus it is
  2675.      possible for some  groups  to  not  have  any  pre-processed
  2676.      thread  information  available for use.  When trn encounters
  2677.      such a group, it generates the thread information on the fly
  2678.      while  entering  the  group.   For  really  large groups (or
  2679.      really slow systems), this can take an appreciable amount of
  2680.      time.   If  you can't talk your news administrator into pre-
  2681.      threading the group, you can turn off the thread database on
  2682.      a  group-by-group  basis  using the 't' command at the news-
  2683.      group selection level.  Groups turned off in  this  way  are
  2684.      read  in  the  traditional  rn fashion--articles arranged in
  2685.      arrival order with optional subject searching and no  thread
  2686.      selector.
  2687.  
  2688.      There is a new command,  "e  dir",  that  extracts  a  shell
  2689.      archive  or uuencoded file into the specified directory.  It
  2690.      is even possible  to  extract  other  data  formats  if  you
  2691.      specify the appropriate filter command (e.g. "e dir|cmd".
  2692.  
  2693.      Also, if you plan to use macro definitions, it  is  good  to
  2694.      keep  in  mind  that  the  thread  selector uses most of the
  2695.      lower-case letters for thread selection, and thus  it  is  a
  2696.      good  idea  to  explicitly  set the mode(s) in which a macro
  2697.      applies.  For example, if you want to  press  'f'  from  the
  2698.      article pager/selector to forward the current article to the
  2699.      user "smith", you could define:
  2700.  
  2701.  
  2702.  
  2703. Sun Release 4.1        Last change: LOCAL                      41
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710. TRN(1)                   USER COMMANDS                     TRN(1)
  2711.  
  2712.  
  2713.  
  2714.           f    %(%m=[pa]?|mail smith\n:f)
  2715.  
  2716.      This checks the current mode (%m) and if it is 'p' or 'a' it
  2717.      expands  it  to  the  string  "|mail  smith\n", otherwise it
  2718.      returns the letter 'f'.  In some cases, you may simply  wish
  2719.      to  exclude the thread selector from a macro with the condi-
  2720.      tional "%m!=t".
  2721.  
  2722.      Finally, you'll probably want to use the new options, -x and
  2723.      -X  to ensure that all the newest features are available for
  2724.      use.  These options might be on by default, depending on how
  2725.      your administrator decided to install trn.
  2726.  
  2727. AUTHORS
  2728.      Rn was created by Larry Wall <lwall@jpl-devvax.jpl.nasa.gov>
  2729.      and  is   now   under   the   direction   of   Stan   Barber
  2730.      <sob@bcm.tmc.edu>.
  2731.      Threaded version by Wayne Davison <davison@borland.com>
  2732.      (Mail all bug reports for trn to Wayne.)
  2733.      Regular expression routines  are  borrowed  from  emacs,  by
  2734.      James Gosling.
  2735.  
  2736. FILES
  2737.      %./.newsrc  status of your news reading
  2738.  
  2739.      %./.oldnewsrc
  2740.                  backup copy of your .newsrc from start  of  ses-
  2741.                  sion
  2742.  
  2743.      %./.rnlock  lock file so you don't screw up your .newsrc
  2744.  
  2745.      %./.rnlast  info from last run of rn
  2746.  
  2747.      %./.rnsoft  soft pointers into /usr/lib/news/active to speed
  2748.                  startup, synchronous with .newsrc
  2749.  
  2750.      %./.rnhead  temporary header file to pass  to  a  mailer  or
  2751.                  news poster
  2752.  
  2753.      %./.rnmac   macro and keymap definitions
  2754.  
  2755.      %p          your news save directory, usually ~/News
  2756.  
  2757.      %x/active   the   list   of   active   newsgroups,   usually
  2758.                  /usr/lib/news/active  on  systems that don't use
  2759.                  NNTP
  2760.  
  2761.      %P          the  public  news   spool   directory,   usually
  2762.                  /usr/spool/news on systems that don't use NNTP
  2763.  
  2764.      %X/INIT     system-wide default switches
  2765.  
  2766.  
  2767.  
  2768.  
  2769. Sun Release 4.1        Last change: LOCAL                      42
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776. TRN(1)                   USER COMMANDS                     TRN(1)
  2777.  
  2778.  
  2779.  
  2780. SEE ALSO
  2781.      newsrc(5), more(1), readnews(1), Pnews(1), Rnmail(1)
  2782.  
  2783. DIAGNOSTICS
  2784.      Generally self-documenting, as they say.
  2785.  
  2786. BUGS
  2787.      The -h switch can only hide  header  lines  that  trn  knows
  2788.      about.
  2789.  
  2790.      The '-' command doesn't cross newsgroup boundaries, and only
  2791.      undoes the last article selection.
  2792.  
  2793.      If you edit your .newsrc while trn is running, trn will hap-
  2794.      pily  wipe out your changes when it decides to write out the
  2795.      .newsrc file.
  2796.  
  2797.      Marking of duplicate articles as  read  in  cross-referenced
  2798.      newsgroups  will not work unless the Xref patch is installed
  2799.      in inews.
  2800.  
  2801.      If you get carried away with % or escape substitutions,  you
  2802.      can overflow buffers.
  2803.  
  2804.      There should be no fixed limit on the number of newsgroups.
  2805.  
  2806.      Some of  the  more  esoteric  features  may  be  missing  on
  2807.      machines with limited address space.
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835. Sun Release 4.1        Last change: LOCAL                      43
  2836.  
  2837.  
  2838.  
  2839.