Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TRN(1)			    General Commands Manual			TRN(1)

NAME
       trn - threaded read news	program

SYNOPSIS
       trn [options] [newsgroups]

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

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

	   trn -x -X

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

       Starting	Trn

       If  no  newsgroups  are specified, all the newsgroups which have	unread
       news will be presented to the user in the order in which	they occur  in
       the  .newsrc file.  At the prompt for each group	you can	choose to read
       it, skip	it, move it, etc.  If a	list of	newsgroups is provided on  the
       command	line, trn will start up	in "add" mode, using the list as a set
       of patterns to add new newsgroups and  restrict	which  newsgroups  are
       displayed (see also the discussion of the 'a' command on	the newsgroup-
       selection level).

       Trn  operates on	four levels: the newsgroup-selection level, the	thread
       selector, the article-reading level, and	the paging level.  Each	 level
       has  its	 own  set  of  commands, and its own help menu.	 At the	paging
       level (the bottom level)	trn behaves much like the more(1) program.  At
       the article-reading level articles are presented	to you in the order of
       their replies, with the subjects	being ordered by the date of the  old-
       est  unread article (though there are commands for changing the default
       display order).	In the thread selector you are presented with the sub-
       jects and (usually) authors associated with each	discussion thread, and
       given a chance to choose	which ones you wish  to	 read  now,  save  for
       later,  or  manipulate  in  some	way.  At the newsgroup-selection level
       (the top	level),	you may	specify	which newsgroup	you want next, or read
       them in the default order, which	is the order that the newsgroups occur
       in your .newsrc file.  (You  will  therefore  want  to  rearrange  your
       .newsrc file to put the most interesting	newsgroups first.  This	can be
       done  with  the 'm' command on the Newsgroup Selection level.  WARNING:
       invoking	readnews/vnews (the old	user interface)	in any way  (including
       as  a  news checker in your login sequence!) will cause your .newsrc to
       be disarranged again.)

       On any level, at	ANY prompt, help is available by typing	an 'h'.	  This
       gives  you  a summary of	available commands and what they do.  Remember
       this command, you'll need it.

       Typing space to any question means to do	the normal  thing.   You  will
       know  what that is because every	prompt has a list of several plausible
       commands	enclosed in square brackets.  The first	command	in the list is
       the one which will be done if you type a	space.	(All input is done  in
       cbreak  mode, so	carriage returns should	not be typed to	terminate any-
       thing except certain multi-character commands.  Those commands will  be
       obvious in the discussion below because they take an argument.)

       Upon startup, trn will do several things:

       1.  It  will  look  for	your  .newsrc file, which is your list of sub-
	   scribed-to newsgroups.  If trn doesn't find a .newsrc, it will cre-
	   ate one.  If	it does	find one, it will back it up  under  the  name
	   ".oldnewsrc".

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

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

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

       5.  Trn	goes  into  the	 top  prompt  level -- the newsgroup-selection
	   level.

       Newsgroup Selection Level

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

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

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

       +       Enter this newsgroup through the	selector.

       y       Begin reading this newsgroup now.

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

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

       =       Start this newsgroup, but list subjects before displaying arti-
	       cles.

       U       Enter this newsgroup through the	unkill-articles	prompt.

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

       n       Go to the next newsgroup	with unread news.

       N       Go to the next newsgroup.

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

       P       Go to the previous newsgroup.

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

       1       Go to the first newsgroup.

       ^       Go to the first newsgroup with unread news.

       $       Go to the end of	the newsgroups list.

       g newsgroup
	       Go  to newsgroup, which can be the group's name or a zero-rela-
	       tive number of the groups in your .newsrc (see the 'L'  command
	       to  list	 your  .newsrc).  If it	isn't currently	subscribed to,
	       you will	be asked if you	want to	subscribe.

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

       ?pattern
	       Same as /, but search backwards.

       u       Unsubscribe from	the current newsgroup.

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

       L       Lists  the  current state of the	.newsrc, along with status in-
	       formation.

			Status	       Meaning
			<number>       Count of	unread articles	in newsgroup.
			READ	       No unread articles in newsgroup.
			UNSUB	       Unsubscribed newsgroup.
			BOGUS	       Bogus newsgroup.
			JUNK	       Ignored line in .newsrc
				   (e.g. readnews "options" line).

	       (A bogus	newsgroup is one that is not in	 the  list  of	active
	       newsgroups  in  the  active  file,  which  on  most  systems is
	       /usr/lib/news/active unless you use NNTP.)

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

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

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

       o {pattern}

       O {pattern}
	       Only display those newsgroups whose name	matches	pattern.  Pat-
	       terns  are  the same as for the '/' command.  Multiple patterns
	       may be separated	by spaces, just	as on the command  line.   The
	       restriction will	remain in effect either	until there are	no ar-
	       ticles left in the restricted set of newsgroups,	or another re-
	       striction  command is given.  Since pattern is optional,	'o' by
	       itself will remove the restriction.  Using 'O' will omit	 empty
	       groups from the cycle.

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

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

       &switch {switch}
	       Set additional command-line switches.

       &&      Print out the current macro definitions.

       &&keys commands
	       Define additional macros.

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

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

       q       Quit.

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

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

       The Selector

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

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

       The following commands are available in the selector:

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

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

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

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

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

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

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

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

       m, \    Unmark the current item.

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

       @       Toggle all visible selections.

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

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

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

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

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

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

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

       ^       Go to the first page.

       $       Go to the last page.

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

       =       Switch between the article selector and the subject/thread  se-
	       lector.

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

       R       Reverse the current sort	order.

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

       U       Switch between selecting	unread/read articles.

       X       Mark all	unselected articles as read and	start reading.

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

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

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

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

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

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

       :command
	       Apply a command to all the selected threads or  their  selected
	       articles.   You can also	use ":E" to end	a binary extraction or
	       ":p" to post a new article.  Use	"::command" to apply it	to all
	       non-selected threads/articles.

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

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

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

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

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

       N       Go to the next newsgroup	with unread news.

       P       Go to the previous newsgroup with unread	news.

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

       &&      Display or set the current macro	definitions.

       !command
	       Escape to a subshell.

       q       Quit this group.

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

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

       Article-Reading Level

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

       On the article-reading level you	are not	asked whether you want to read
       an article before the article is	displayed; rather, trn simply displays
       the first page (or portion of a page, at	low baud rates)	of an  article
       and  asks  if  you want to continue.  The normal	article-reading	prompt
       comes at	the END	of an article (although	article-reading	 commands  can
       also  be	 given from within the middle of an article in addition	to the
       pager level commands).  The prompt at the end of	an article looks  like
       this:

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

       The following are the options at	this point:

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

       N       Go to the next article.

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

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

       P       Go to the previous article.

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

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

       _N      Go to the next article in numeric sequence.

       _P      Go to the previous article in numeric sequence.

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

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

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

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

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

       ^R      Restart the current article.

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

       ^L      Refresh the screen.

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

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

       b       Back up one page.

       ^E      Display the last	page of	the article.

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

       ^       Go to the first unread article.

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

       number  Go to the numbered article.

       _C      Switch to next available	charset	conversion.

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

	       Applicable commands include 'm' (mark as	unread), 'M' (mark  as
	       read-until-exit),  'j' (mark as read), "s dest" (save to	a des-
	       tination), "e dir" (extract to  directory),  "!command"	(shell
	       escape),	 "=" (print the	subject), '+'/'-' (select/deselect the
	       article), 'T+' (auto-select the entire thread), 'TJ' (auto-junk
	       the entire thread), "++"/"--" (select/deselect  the  associated
	       thread),	'C' (cancel), as well as S, |, w, W, and t.

       :command
	       Apply  a	 command to all	the selected threads or	their selected
	       articles.  Use "::command" to  apply  it	 to  all  non-selected
	       threads/articles.   For applicable commands, see	the discussion
	       above for the range command.

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

       j       Junk the	current	article	(i.e. mark it as read).	 If this  com-
	       mand is used from within	an article, you	are left at the	end of
	       the article, unlike 'n',	which looks for	the next article.

       m       Mark  the  current article as still unread.  (If	you don't want
	       to see this article for a while you're probably better off  us-
	       ing  M  instead	of  m, otherwise this article might get	picked
	       again as	the first available article sooner than	you'd like.)

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

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

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

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

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

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

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

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

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

       /pattern/r
	       Scan read articles also.

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

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

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

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

       /pattern/modifiers:command{:command}
	       Apply  the commands listed to articles matching the search com-
	       mand (possibly with h, a, b, or r modifiers).  Applicable  com-
	       mands  include  'm'  (mark as UNread), 'M' (mark	as read-until-
	       exit), 'j' (junk	-- mark	as read	in all groups),	'x'  (mark  as
	       read  in	 this  group), "s dest"	(save to a dest), "e dir" (ex-
	       tract to	dir), "!command" (shell	escape), "=" (print  the  sub-
	       ject), '+' (select the article),	'-' deselect the article, 'T+'
	       (auto-select  the  entire  thread),  'TJ' (auto-junk the	entire
	       thread),	"++" (select the associated thread), "--" deselect the
	       associated thread), and 'C' (cancel).  If the first command  is
	       'm'  or 'M', modifier r is assumed.  A K	may be included	in the
	       modifiers (not the commands) to cause the entire	command	 (sans
	       K) to be	saved to the local KILL	file, where it will be applied
	       to every	article	that shows up in the newsgroup.

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

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

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

	       Mark the	current	article	and all	its replies as read.

       J       Junk  all  the  articles	in the current thread, even if it con-
	       tains multiple subjects.

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

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

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

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

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

	       /newgroup/:+

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

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

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

       R       Reply, including	the current article in the header file	gener-
	       ated.   (See 'F'	command	below).	 The YOUSAID environment vari-
	       able controls the format	of the attribution line.

       ^F      Forward the current article.

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

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

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

       z       Supersede the current article, but only if you are the contrib-
	       utor.

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

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

       U       Unkill  articles.  You can choose to unkill the current thread,
	       sub-thread (the current article and its replies), all the arti-
	       cles, or	start up the selector to choose	specific  articles  to
	       unkill.

       u       Unsubscribe from	this newsgroup.

       s destination
	       Save to a filename or pipe using	sh.  If	the first character of
	       the  destination	 is a vertical bar, the	rest of	the command is
	       considered a shell command  to  which  the  article  is	passed
	       through standard	input.	The command is subject to filename ex-
	       pansion.	  (See	also  the environment variable PIPESAVER.)  If
	       the destination does not	begin with a vertical bar, the rest of
	       the command is assumed to be a filename of some sort.  An  ini-
	       tial  tilde  '~'	will be	translated to the name of the home di-
	       rectory,	and an initial environment  variable  substitution  is
	       also allowed.  If only a	directory name is specified, the envi-
	       ronment	variable SAVENAME is used to generate the actual name.
	       If a non-absolute filename is specified,	the environment	 vari-
	       able SAVEDIR will be used to generate the actual	directory.  If
	       nothing	is  specified,	then  obviously	both variables will be
	       used.  Since the	current	directory for trn while	doing  a  save
	       command	is  your private news directory, typing	"s ./filename"
	       will force the file to your news	directory.  Save commands  are
	       also  run  through  %  interpretation, so that you can enter "s
	       %O/filename" to save to the directory you were in when you  ran
	       trn,  and "s %t"	to save	to a filename consisting of the	Inter-
	       net address of the sender.

	       After generating	the full pathname of the file to save to,  trn
	       determines  if  the  file exists	already, and if	so, appends to
	       it.  trn	will attempt to	determine if an	 existing  file	 is  a
	       mailbox or a normal file, and save the article in the same for-
	       mat.   If  the  output file does	not yet	exist, trn will	by de-
	       fault ask you which format you want, or you can	make  it  skip
	       the  question  with either the -M or -N switch.	If the article
	       is to be	saved in mailbox format, the command to	do so is  gen-
	       erated  from  the  environment  variable	MBOXSAVER.  Otherwise,
	       NORMSAVER is used.

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

       | command
	       Shorthand for "s	| command".

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

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

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

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

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

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

       &       Print out the current status of command-line switches.

       &switch {switch}
	       Set additional command-line switches.

       &&      Print out current macro definitions.

       &&keys commands
	       Define an additional macro.

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

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

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

       _a      Start the selector in article mode.

       _s      Start the selector in subject mode.

       _t      Start the selector in thread mode.

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

       =       List subjects of	unread articles.

       #       Print last article number.

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

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

       Pager Level

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

       --MORE--(17%)

       and a number of commands	may be given:

       SP      Display next page.

       x       Display next page and decrypt as	a rot13	message.

       d       Display half a page more.

       CR      Display one more	line.

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

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

       ^L      Refresh the screen.

       X       Refresh the screen and decrypt as a rot13 message.

       b       Back up one page.

       ^E      Display the last	page of	the article.

       _C      Switch to next available	charset	conversion.

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

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

       G       Search for g pattern again.

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

       TAB     This  is	another	special	version	of the 'g' command that	is for
	       skipping	inclusions of older articles.	It  is	equivalent  to
	       setting	"-g4" and then executing the command "g^[^c]", where c
	       is the first character of the last  line	 on  the  screen.   It
	       searches	 for  the  first line that doesn't begin with the same
	       character as the	last line on the screen.

       !command
	       Escape to a subshell.

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

	   # $ & / = ? A c C f F k K T ^K J , m	M r R ^R u U v Y ^
	   p P ^P - < >	[ ] { }	number
	   range{,range} command{:command}

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

	   n N ^N e s S	| w W

       Miscellaneous facts about commands

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

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

       In multi-character commands such	as '!',	's', '/', etc, you can	inter-
       polate  various	run-time  values by typing escape and a	character.  To
       find out	what you can interpolate, type escape and 'h',	or  check  out
       the  single  character %	substitutions for environment variables	in the
       Interpretation and Interpolation	section, which are  the	 same.	 Addi-
       tionally,  typing a double escape will cause any	% substitutions	in the
       string already typed in to be expanded.

       The Tree	Display

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

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

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

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

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

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

       Options

       Trn has a nice set of options to	allow you to tailor the	interaction to
       your liking.  (You might	like to	know that the author swears by	"-x6ms
       +e  -mu	-S  -XX	 -N  -B	-p".)  These options may be set	on the command
       line, via the TRNINIT environment variable, via a file  pointed	to  by
       the  TRNINIT  variable,	or from	within trn via the & command.  Options
       may generally be	unset by typing	"+switch".  Options include:

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

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

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

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

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

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

       -d<directory name>
	    sets  your	private	news directory to something other than ~/News.
	    The	directory name will be globbed (via csh) if necessary (and  if
	    possible).	 The  value  of	 SAVEDIR (where	articles are saved) is
	    initially set to this directory, but is often manipulated via  the
	    -/	option	or  by	manipulating SAVEDIR directly (perhaps via the
	    memorized commands (the KILL file) for a group.   Any  KILL	 files
	    (see  the  K command in the	Article	Selection section) also	reside
	    in this directory and its subdirectories, by  default.   In	 addi-
	    tion, shell	escapes	leave you in this directory.

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

       -e   causes each	page within an article to be started at	the top	of the
	    screen, not	just the first page.  (It is similar to	the -c	switch
	    of	more(1).)   You	 never	have  to read scrolling	text with this
	    switch.  This is helpful especially	at certain baud	rates  because
	    you	can start reading the top of the next page without waiting for
	    the	whole page to be printed.  It works nicely in conjunction with
	    the	-m switch, especially if you use half-intensity	for your high-
	    light mode.	 See also the -L switch.

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

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

       -F<string>
	    sets  the  prefix  string  for the 'F' follow-up command to	use in
	    prefixing each line	of the quoted article.	For example, "-F<tab>"
	    inserts a tab on the front of each line  (which  will  cause  long
	    lines  to  wrap around, unfortunately), "-F>>>>" inserts ">>>>" on
	    every line,	and "-F" by itself causes nothing to be	 inserted,  in
	    case you want to reformat the text,	for instance.  The initial de-
	    fault prefix is ">".

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

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

       -h<string>
	    hides  (disables  the printing of) all header lines	beginning with
	    string.  For instance, -hx-	will disable the printing of  all  "X-
	    Foo:" headers.  Case is not	significant.  The default for unrecog-
	    nized  headers  can	be set with the	-hunrecognized option.	Alter-
	    nately you could use -h (no	string)	to disable all headers	except
	    the	 Subject  line	and then use +h	to select only those lines you
	    want to see.  You may wish to use the  baud-rate  switch  modifier
	    below to hide more lines at	lower baud rates.

       -H<string>
	    works  just	like -h	except that instead of setting the hiding flag
	    for	a header line, it sets the magic flag for  that	 header	 line.
	    Certain  header  lines  have magic behavior	that can be controlled
	    this way.  At present, the following actions  are  caused  by  the
	    flag for the particular line: the Date line	prints the date	in lo-
	    cal	 time  if the group is threaded; the From line will only print
	    the	commented portion of the user name; the	Newsgroups  line  will
	    only  print	 when  there are multiple newsgroups; the Subject line
	    will be underlined and (when threaded) the keyword	'Subject:'  is
	    replaced  by  its  subject number (e.g. [1]); and the Expires line
	    will always	be suppressed if there is nothing on it.  In fact, all
	    of these actions are the default, and you  must  use  +H  to  undo
	    them.

       -i=<number>
	    specifies  how  long (in lines) to consider	the initial page of an
	    article -- normally	this is	determined automatically depending  on
	    baud  rate.	  (Note	 that  an entire article header	will always be
	    printed regardless of the specified	initial	page length.   If  you
	    are	 working  at  low baud rate and	wish to	reduce the size	of the
	    headers, you may hide certain header lines with the	-h switch.)

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

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

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

	    &-J30
	    X&+J

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

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

	    &-K
	    X&+K

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

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

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

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

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

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

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

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

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

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

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

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

       -S<number>
	    causes  trn	 to enter subject search mode (^N) automatically when-
	    ever an unthreaded newsgroup is started up	with  <number>	unread
	    articles  or more.	Additionally, it causes	any 'n'	typed while in
	    subject search mode	to be interpreted as '^N'  instead.   (To  get
	    back  out  of  subject  search  mode, the best command is probably
	    '^'.)  If <number> is omitted, 3 is	assumed.

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

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

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

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

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

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

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

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

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

       -/   sets SAVEDIR to "%p/%c" and	SAVENAME to "%a", which	means that  by
	    default  articles are saved	in a subdirectory of your private news
	    directory corresponding to the name	of the the current  newsgroup,
	    with  the  filename	 being the article number.  +/ sets SAVEDIR to
	    "%p" and SAVENAME to "%^C",	which by default  saves	 articles  di-
	    rectly to your private news	directory, with	the filename being the
	    name  of the current newsgroup, first letter capitalized.  (Either
	    +/ or -/ may be default on your system, depending on the  feelings
	    of your news administrator when he,	she or it installed trn.)  You
	    may,  of course, explicitly	set SAVEDIR and	SAVENAME to other val-
	    ues	-- see discussion in the environment section.

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

       Similarly, switches may be selected based on terminal type:

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

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

       Regular Expressions

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

       Character Set Conversions

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

       p    Plain. No change. This is the default.

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

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

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

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

       Interpretation and Interpolation

       Many of the strings that	trn handles are	subject	to interpretations  of
       several types.  Under filename expansion, an initial "~/" is translated
       to  the	name  of your home directory, and "~name" is translated	to the
       login directory for the user specified.	Filename expansion  will  also
       expand  an  initial  environment	variable, and also does	the backslash,
       caret and percent expansion mentioned below.

       All interpreted strings go through backslash, caret and percent	inter-
       pretation.   The	backslash escapes are the normal ones (such as \n, \t,
       \033, etc.).  The caret escapes indicate	control	codes (such as ^i, ^l,
       etc.).  If you wish to pass through a backslash or a caret it  must  be
       escaped	with  a	backslash.  The	special	percent	escapes	are similar to
       printf percent escapes.	These cause the	substitution of	 various  run-
       time values into	the string.  The following are currently recognized:

       %a      Current article number.

       %A      Full name of current article (%P/%c/%a).

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

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

       %c      Current newsgroup, directory form.

       %C      Current newsgroup, dot form.

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

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

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

       %E      The last	directory where	an extracted file went.

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

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

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

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

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

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

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

       %I      The  reference  indication  mark	for citing prior articles (see
	       the -F switch.)

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

       %L      Login name (yours).

       %m      The current mode	of trn,	for use	in conditional macros.

		    i	 Initializing.
		    n	 Newsgroup-list	level.
		    f	 End (finis) of	newsgroup-list level.
		    t	 The thread/subject/article selector.
		    c	 Newsrc	selector.
		    w	 Newsgroup selector.
		    j	 Addgroup selector.
		    l	 Option	selector.
		    a	 Article level ("What next?").
		    e	 End of	the article level.
		    p	 Pager level ("MORE" prompt).
		    u	 Unkill	prompt.
		    d	 Selector mode prompt.
		    o	 Selector order	prompt.
		    m	 Memorize thread command prompt.
		    r	 Memorize subject command prompt.
		    z	 Option	edit prompt.
		    k	 Processing memorized (KILL-file) commands.
		    A	 Add this newsgroup?
		    B	 Abandon confirmation.
		    C	 Catchup confirmation.
		    D	 Delete	bogus newsgroups?
		    F	 Is follow-up a	new topic?
		    M	 Use mailbox format?
		    R	 Resubscribe to	this newsgroup?
		    K	 Press any key prompt.

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

	       \040 %(%m=[A-Z]?h: )

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

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

       %N      Full name (yours).

       %o      Organization (yours).

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

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

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

       %q      The  value  of  the  last "quoted" input	string (see the	%" in-
	       terp).

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

       %R      References  list	for a new article, constructed from the	refer-
	       ences and article ID of the current article.

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

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

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

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

       %u      The number of unread articles in	the current newsgroup.

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

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

       %w      The directory where mthreads keeps its tmp files.

       %W      The directory where thread files	are placed.

       %x      The news	library	directory.

       %X      The trn library directory.

       %z      The length of the current article in bytes.

       %Z      The number of selected threads.

       %~      Your home directory.

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

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

       %$      Current process number.

       %/      Last search string.

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

       %%      A percent sign.

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

       %[name] The value of header line	"Name:"	from the current article.  The
	       "Name: "	is not included.  For example  "%D"  and  "%[distribu-
	       tion]" are equivalent.  The name	must be	spelled	out in full.

       %`command`
	       Inserts	the  output of the command, with any embedded newlines
	       translated to space.

       %""prompt""
	       Prints prompt on	the terminal, then inputs one string, and  in-
	       serts it.

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

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

       Modifiers: to capitalize	the first letter, insert '^':  "%^C"  produces
       something like "Rec.humor".  Inserting '_' causes the first letter fol-
       lowing the last '/' to be capitalized: "%_c" produces "rec/Humor".

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

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

       Inserting "''" will insert a backslash before any double-quotes in  the
       result, suitable	for enclosing in double-quotes and sending to a	shell.

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

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

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

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

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

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

	       Default:	In article %i,%?%)f <%>f> wrote:

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

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

	       Default:	(none)

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

	       Default:	(none)

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

	       Default:	inews -h < %h

       CANCELHEADER (%)
	       The  format  of the file	to pass	to the CANCEL command in order
	       to cancel an article.

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

	       %i cancelled from trn.

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

	       Default:	$HOME

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

	       Default:	 whatever your news administrator compiled in, usually
	       vi.

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

	       Default:	tail +%Bc %A | %e

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

	       The  default  (ignoring	the  Marked  to	 return	display	in un-
	       threaded	groups)	is approximately:

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

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

	       Default:

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

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

	       Default:	Rnmail -h %h

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

	       Regardless of the settings of NEWSHEADER, MAILHEADER, and  FOR-
	       WARDHEADER,  the	setting	of FROM	is used	to determine which ar-
	       ticles may be cancelled or superseded.

	       Default:	undefined

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

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

	       Default:	undefined

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

	       Default:	$LOGDIR

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

	       Default:	%p/KILL

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

	       Default:	%p/%c/KILL

       LOGDIR  Your  home directory if HOME is undefined.  Affects ~ interpre-
	       tation, and the location	of your	dot files if DOTDIR is not de-
	       fined.

	       Default:	none.

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

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

	       Default:	value of getlogin().

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

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

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

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

	       Default:	(Mail)

       MAILFILE	(~)
	       Where to	check for mail.

	       Default:	/usr/spool/mail/%L

       MAILHEADER (%)
	       The format of the header	file  for  replies.   See  also	 MAIL-
	       POSTER.

	       Default:

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

       MAILPOSTER (~)
	       The shell command to be used by the reply commands (r and R) in
	       order to	allow you to enter and deliver the response.  trn will
	       not  itself  call upon an editor	for replies -- this is a func-
	       tion of the program referenced by MAILPOSTER.  See  also	 MAIL-
	       HEADER.

	       Default:	Rnmail -h %h

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

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

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

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

	       Default:	" (moderated)"

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

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

       NEWSHEADER (%)
	       The format of the header	file for follow-ups.  See  also	 NEWS-
	       POSTER.

	       Default:

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

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

	       Default:	whatever your news administrator compiled in.

       NEWSPOSTER (~)
	       The  shell  command to be used by the follow-up commands	(f and
	       F) in order to allow you	to enter and post a follow-up news ar-
	       ticle.  If not set, trn handles the whole process and calls in-
	       ews directly.  See also NEWSHEADER.

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

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

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

	       Default:	" (no posting)"

       NORMSAVER (~)
	       The shell command to save an article in the  normal  (non-mail-
	       box) format.

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

       ORGANIZATION
	       Either  the  name  of  your organization, or the	name of	a file
	       containing the name of your organization.  (If NEWSORG is  set,
	       it  will	 override  ORGANIZATION.)   May	 be interpolated using
	       "%o".

	       Default:	whatever your news administrator compiled in.

       PAGESTOP
	       If defined, contains a regular expression which matches article
	       lines to	be treated as form-feeds.   There  are	at  least  two
	       things  you  might  want	to do with this.  To cause page	breaks
	       between	articles  in  a	 digest,  you  might  define   it   as
	       "^--------".   To  force	 a  page break before a	signature, you
	       could define it as "^-- $".  (Then, when	you see	 "--"  at  the
	       bottom of the page, you can skip	the signature if you so	desire
	       by  typing  'n'	instead	 of space.)  To	do both, you could use
	       "^--".  If you want to break on more than one pattern, you  can
	       use "|" to separate the alternatives.

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

	       Default:	undefined

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

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

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

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

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

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

	       Default:	%./.rnmac

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

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

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

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

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

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

	       Default:	whatever your news administrator compiled in.

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

	       Default:	%s

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

	       Default:

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

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

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

	       Default:	/etc/termcap, normally.

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

	       If  TRNINIT begins with a '/' it	is assumed to be the name of a
	       file containing switches.  You can put comments in this file by
	       preceding them with a '#' as long as this is the	first  charac-
	       ter  on	a  line	or it follows some white-space (which delimits
	       the switches in the file).  If you want to set many environment
	       variables but don't want	to keep	them all in your  environment,
	       or  if  the  use	of any of these	variables conflicts with other
	       programs, you can use this feature along	with the -E switch  to
	       set the environment variables upon startup.

	       Default:	" ".

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

	       Default:	%./.trn/macros

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

	       Default:	/bin/sh

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

	       Default:	$LOGNAME

       VISUAL (~)
	       The name	of your	editor.

	       Default:	$EDITOR

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

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

	       Default:	In article %i you write:

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

CUSTOM MACROS
       When  trn  starts  up  it looks for a file containing macro definitions
       (see environment	variables TRNMACRO and RNMACRO).  Any sequence of com-
       mands may be bound to any sequence of keys, so you  could  re-map  your
       entire  keyboard	 if you	desire.	 Blank lines or	lines beginning	with #
       in the macro file are considered	comments; otherwise trn	looks for  two
       fields separated	by white space.	 The first field gives the sequence of
       keystrokes  that	 trigger the macro, and	the second field gives the se-
       quence of commands to execute.  Both fields are subject to % interpola-
       tion, which will	also translate backslash and  caret  sequences.	  (The
       keystroke  field	 is interpreted	at startup time, but the command field
       is interpreted at macro execution time so that you may refer to %  val-
       ues in a	macro.)	 For example, if you want to reverse the roles of car-
       riage return and	space in trn

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

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

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

       You can use the %() conditional construct to construct macros that work
       differently under different circumstances.  In particular, the  current
       mode  (%m)  of trn could	be used	to make	a command that only works at a
       particular level.  This is particularly vital for  the  selector	 which
       uses  most  of  the lower-case letters to select	the associated item in
       its display.  For example,

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

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

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

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

       If you want to bind a macro to  a  function  key	 that  puts  a	common
       garbage	character  after  the sequence (such as	the carriage return on
       the end of Televideo 920	function sequences), DO	NOT put	 the  carriage
       return  into  all the sequences or you will waste a CONSIDERABLE	amount
       of internal storage.  Instead of	"^AF^M", put "^AF+1", which  indicates
       to trn that it should gobble up one character after the F.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FILES
       %./.newsrc  status of your news reading

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

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

       %./.rnlast  info	from last run of trn

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

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

       %./.[t]rnmac
		   macro and keymap definitions

       %p	   your	news save directory, usually ~/News

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

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

       %X/INIT	   system-wide default switches

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

DIAGNOSTICS
       Generally self-documenting, as they say.

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

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

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

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

       If  you	get carried away with %	or escape substitutions, you can over-
       flow buffers.

4.3 Berkeley Distribution	     LOCAL				TRN(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=trn&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help