home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume23 / trn / part02 / trn.1.2 < prev   
Text File  |  1991-08-22  |  43KB  |  1,287 lines

  1. .Ip ^G 8
  2. This is a special version of the \*(L'g\*(R' command that is for skipping
  3. articles in a digest.
  4. It is equivalent to setting \*(L"\-g4\*(R" and then executing the command
  5. \*(L"g^Subject:\*(R".
  6. .Ip TAB 8
  7. This is another special version of the \*(L'g\*(R' command that is for
  8. skipping inclusions of older articles.
  9. It is equivalent to setting \*(L"\-g4\*(R" and then executing the command
  10. \*(L"g^[^c]\*(R", where \fIc\fR is the first character of the last line
  11. on the screen.
  12. It searches for the first line that doesn't begin with the same character
  13. as the last line on the screen.
  14. .Ip !command 8
  15. Escape to a subshell.
  16. .PP
  17. The following commands skip the rest of the current article, then behave just
  18. as if typed to the \*(L"What next?\*(R" prompt at the end of the article.
  19. See the documentation at the article selection level for these commands.
  20. .Sp    
  21.     # $ & / = ? c C f F k K T ^K J , m M r R ^R u U v Y ^
  22. .br
  23.     p P ^P - < > [ ] { } number
  24. .br
  25.     range{,range} command{:command}
  26. .Sp
  27. The following commands also skip to the end of the article, but have the
  28. additional effect of marking the current article as read:
  29. .Sp
  30.     n N ^N e s S | w W
  31. .Sp
  32. .Sh "Miscellaneous facts about commands"
  33. An \*(L'n\*(R' typed at either the \*(L"Last newsgroup\*(R" prompt or a
  34. \*(L"Last article\*(R" prompt will cycle back to the top of the newsgroup
  35. or article list, whereas a \*(L'q\*(R' will quit the level.
  36. (Note that \*(L'n\*(R' does not mean \*(L"no\*(R", but rather
  37. \*(L"next\*(R".)
  38. A space will of course do whatever is shown as the
  39. default, which will vary depending on whether
  40. .I trn
  41. thinks you have more articles or newsgroups to read.
  42. .PP
  43. The \*(L'b\*(R' (backup page) command may be repeated until the beginning of
  44. the article is reached.
  45. If
  46. .I trn
  47. is suspended (via a ^Z), then when the job is resumed, a refresh (^L) will
  48. automatically be done (Berkeley-type systems only).
  49. If you type a command such as \*(L'!\*(R' or \*(L's\*(R' which takes you
  50. from the middle of the article to the end, you can always get back into the
  51. middle by typing \*(L'^L\*(R'.
  52. .PP
  53. In multi-character commands such as \*(L'!\*(R', \*(L's\*(R', \*(L'/\*(R',
  54. etc, you can interpolate various run-time values by typing escape and a
  55. character.
  56. To find out what you can interpolate, type escape and \*(L'h\*(R', or check
  57. out the single character % substitutions for environment variables in the
  58. Interpretation and Interpolation section, which are the same.
  59. Additionally, typing a double escape will cause any % substitutions in the
  60. string already typed in to be expanded.
  61. .Sh "The Tree Display"
  62. When reading a threaded newsgroup,
  63. .I trn
  64. displays a character representation of the article tree in the upper right
  65. corner of the header.
  66. For example, consider the following display:
  67. .Sp
  68. .nf
  69.     (1)+-(1)--(\fI2\fP)--\fI[2]\fP
  70.        |-(1)+-[3]
  71.        |    \\-[1]
  72.        \\-(1)+-[1]--[1]
  73.             \\-[1]
  74. .fi
  75. .Sp
  76. This tree represents an initial article that has three direct replies
  77. (the second column with three (1)'s).
  78. Each reply has further replies branching off from them.
  79. In two cases the subject line was altered in the reply, as indicated
  80. by the increasing numbers.
  81. When there is only one subject associated with a thread, all the nodes
  82. are marked with the number 1.
  83. When the first subject change arrives, it is marked with the number 2,
  84. and so on.
  85. If you were to look at this thread in the thread selector, the three
  86. subjects associated with it would be listed in the same order as the
  87. ascending digits.
  88. In those rare cases where more than 9 subjects are associated with each
  89. thread, the nodes are marked with the letters A-Z, and then by a-z.
  90. The articles that have already been read are enclosed in ()'s.
  91. Unread articles are displayed in []'s.
  92. The currently displayed article has its entire node highlighted in the
  93. display.
  94. The previously displayed article has only its number highlighted.
  95. .Sh "Options"
  96. .I Trn
  97. has a nice set of options to allow you to tailor the interaction
  98. to your liking.
  99. (You might like to know that the author swears by
  100. \*(L"\-x6ls \-e \+m \-S -XX -N\*(R".)
  101. These options may be set on the command line, via the RNINIT
  102. environment variable, via a file pointed to by the RNINIT variable, or
  103. from within
  104. .I trn
  105. via the & command.
  106. Options may generally be unset by typing \*(L"+switch\*(R".
  107. Options include:
  108. .TP 5
  109. .B \-a
  110. turns on the alpha-numeric mode of the thread-selector.
  111. This option has no affect unless
  112. .B \-x
  113. is also specified (or is the default on your system).
  114. .TP 5
  115. .B \-c
  116. checks for news without reading news.
  117. If a list of newsgroups is given on the command line, only those newsgroups
  118. will be checked; otherwise all subscribed-to newsgroups are checked.
  119. Whenever the
  120. .B \-c
  121. switch is specified, a non-zero exit status from
  122. .I trn
  123. means that there is unread news in one of the checked newsgroups.
  124. The
  125. .B \-c
  126. switch does not disable the printing of newsgroups with unread news;
  127. this is controlled by the
  128. .B \-s
  129. switch.
  130. (The
  131. .B \-c
  132. switch is not meaningful when given via the & command.)
  133. .TP 5
  134. .B \-C<number>
  135. tells
  136. .I trn
  137. how often to checkpoint the
  138. .IR .newsrc ,
  139. in articles read.
  140. Actually, this number says when to start thinking about doing a checkpoint
  141. if the situation is right.
  142. If a reasonable checkpointing situation doesn't arise within 10 more
  143. articles, the
  144. .I .newsrc
  145. is checkpointed willy-nilly.
  146. .TP 5
  147. .B \-d<directory name>
  148. sets the default save directory to something other than ~/News.
  149. The directory name will be globbed (via csh) if necessary (and if possible).
  150. Articles saved by
  151. .I trn
  152. may be placed in the save directory or in a subdirectory thereof depending
  153. on the command that you give and the state of the environment variables
  154. SAVEDIR and SAVENAME.
  155. Any KILL files (see the K command in the Article Selection section)
  156. also reside in this directory and its subdirectories, by default.
  157. In addition, shell escapes leave you in this directory.
  158. .TP 5
  159. .B \-D<flags>
  160. enables debugging output.
  161. See common.h for flag values.
  162. Warning: normally
  163. .I trn
  164. attempts to restore your
  165. .I .newsrc
  166. when an unexpected signal or internal error occurs.
  167. This is disabled when any debugging flags are set.
  168. .TP 5
  169. .B \-e
  170. causes each page within an article to be started at the top of the screen,
  171. not just the first page.
  172. (It is similar to the
  173. .B \-c
  174. switch of
  175. .IR more (1).)
  176. You never have to read scrolling text with this switch.
  177. This is helpful especially at certain baud rates because you can start reading
  178. the top of the next page without waiting for the whole page to be printed.
  179. It works nicely in conjuction with the
  180. .B \-m
  181. switch, especially if you use half-intensity for your highlight mode.
  182. See also the
  183. .B \-L
  184. switch.
  185. .TP 5
  186. .B \-E<name>=<val>
  187. sets the environment variable <name> to the value specified.
  188. Within
  189. .IR trn ,
  190. \*(L"&\-ESAVENAME=%t\*(R" is similar to \*(L"setenv SAVENAME '%t'\*(R" in
  191. .IR csh ,
  192. or \*(L"SAVENAME='%t'; export SAVENAME\*(R" in
  193. .IR sh .
  194. Any environment variables set with
  195. .B \-E
  196. will be inherited by subprocesses of
  197. .IR trn .
  198. .TP 5
  199. .B \-F<string>
  200. sets the prefix string for the \*(L'F\*(R' followup command to use in
  201. prefixing each line of the quoted article.
  202. For example, \*(L"\-F<tab>\*(R" inserts a tab on the front of each line
  203. (which will cause long lines to wrap around, unfortunately),
  204. \*(L"\-F>>>>\*(R" inserts \*(L">>>>\*(R" on every line, and
  205. \*(L"\-F\*(R" by itself causes nothing to be inserted, in case you want to
  206. reformat the text, for instance.
  207. The initial default prefix is \*(L">\*(R".
  208. .TP 5
  209. .B \-g<line>
  210. tells
  211. .I trn
  212. which line of the screen you want searched-for strings to show up on when
  213. you search with the \*(L'g\*(R' command within an article.
  214. The lines are numbered starting with 1.
  215. The initial default is \*(L"\-g1\*(R", meaning the first line of the screen.
  216. Setting the line to less than 1 or more than the number of lines on the screen
  217. will set it to the last line of the screen.
  218. .TP 5
  219. .B \-h<string>
  220. hides (disables the printing of) all header lines beginning with
  221. .I string.
  222. For instance, \-hexp will disable the printing of the \*(L"Expires:\*(R" line.
  223. Case is insignificant.
  224. If <string> is null, all header lines except Subject are hidden, and you
  225. may then use
  226. .B +h
  227. to select those lines you want to see.
  228. You may wish to use the baud-rate switch modifier below to hide more lines
  229. at lower baud rates.
  230. .TP 5
  231. .B \-H<string>
  232. works just like
  233. .B \-h
  234. except that instead of setting the hiding flag for a header line, it sets
  235. the magic flag for that header line.
  236. Certain header lines have magic behavior that can be controlled this way.
  237. At present, the following actions are caused by the flag for the particular
  238. line:
  239. the Newsgroups line will only print when there are multiple newsgroups;
  240. the Subject line will be underlined and (when threaded) the
  241. keyword \*(L'Subject:\*(R' is replaced by its subject number (e.g. [1]);
  242. the Expires line will always be suppressed if there is nothing on it;
  243. the name line is shortened to just the comment portion (the part
  244. within parenthesis) if available; the date line is displayed in local
  245. time if the group is threaded.
  246. In fact, all of these actions are the default, and you must use
  247. .B +H
  248. to undo them.
  249. .TP 5
  250. .B \-i=<number>
  251. specifies how long (in lines) to consider the initial page of an
  252. article\*(--normally this is determined automatically depending on baud rate.
  253. (Note that an entire article header will always be printed regardless of the
  254. specified initial page length.
  255. If you are working at low baud rate and wish to reduce the size of the
  256. headers, you may hide certain header lines with the
  257. .B \(bsh
  258. switch.)
  259. .TP 5
  260. .B \-l
  261. disables the clearing of the screen at the beginning of each
  262. article, in case you have a bizarre terminal.
  263. .TP 5
  264. .B \-L
  265. tells
  266. .I trn
  267. to leave information on the screen as long as possible by not blanking
  268. the screen between pages, and by using clear to end-of-line.
  269. (The
  270. .IR more (1)
  271. program does this.)
  272. This feature works only if you have the requisite termcap
  273. capabilities.
  274. The switch has no effect unless the
  275. .B \-e
  276. switch is set.
  277. .TP 5
  278. .B \-m=<mode>
  279. enables the marking of the last line of the previous page
  280. printed, to help the user see where to continue reading.
  281. This is most helpful when less than a full page is going to be displayed.
  282. It may also be used in conjunction with the
  283. .B \-e
  284. switch, in which case the page is erased, and the first line (which is
  285. the last line of the previous page) is highlighted.
  286. If
  287. .B \-m=s
  288. is specified, the standout mode will be used, but if
  289. .B \-m=u
  290. is specified, underlining will be used.
  291. If neither
  292. .B =s
  293. or
  294. .B =u
  295. is specified, standout is the default.
  296. Use
  297. .B +m
  298. to disable highlighting.
  299. .TP 5
  300. .B \-M
  301. forces mailbox format in creating new save files.
  302. Ordinarily you are asked which format you want.
  303. .TP 5
  304. .B \-N
  305. forces normal (non-mailbox) format in creating new save files.
  306. Ordinarily you are asked which format you want.
  307. .TP 5
  308. .B \-q
  309. bypasses the automatic check for new newsgroups when starting 
  310. .I trn.
  311. .TP 5
  312. .B \-r
  313. causes
  314. .I trn
  315. to restart in the last newsgroup read during a previous session with
  316. .I trn.
  317. It is equivalent to starting up normally and then getting to the newsgroup
  318. with a g command.
  319. .TP 5
  320. .B \-s
  321. with no argument suppresses the initial listing of newsgroups with unread
  322. news, whether
  323. .B \-c
  324. is specified or not.
  325. Thus
  326. .B \-c
  327. and
  328. .B \-s
  329. can be used together to test \*(L"silently\*(R" the status of news from
  330. within your
  331. .I .login
  332. file.
  333. If
  334. .B \-s
  335. is followed by a number, the initial listing is suppressed after that many
  336. lines have been listed.
  337. Presuming that you have your
  338. .I .newsrc
  339. sorted into order of interest,
  340. .B \-s5
  341. will tell you the 5 most interesting newsgroups that have unread news.
  342. This is also a nice feature to use in your
  343. .I .login
  344. file, since it not only tells you whether there is unread news, but also how
  345. important the unread news is, without having to wade through the entire
  346. list of unread newsgroups.
  347. If no 
  348. .B \-s
  349. switch is given 
  350. .B \-s5
  351. is assumed, so just putting \*(L"rn \-c\*(R"
  352. into your
  353. \&.login file is fine.
  354. .TP 5
  355. .B \-S<number>
  356. causes
  357. .I trn
  358. to enter subject search mode (^N) automatically whenever an unthreaded
  359. newsgroup is
  360. started up with <number> unread articles or more.
  361. Additionally, it causes any \*(L'n\*(R' typed while in subject search mode
  362. to be interpreted as \*(L'^N\*(R' instead.
  363. (To get back out of subject search mode, the best command is probably
  364. \&\*(L'^\*(R'.)
  365. If <number> is omitted, 3 is assumed.
  366. .TP 5
  367. .B \-t
  368. puts
  369. .I trn
  370. into terse mode.
  371. This is more cryptic but useful for low baud rates.
  372. (Note that your system administrator may have compiled
  373. .I trn
  374. with either verbose or terse messages only to save memory.)
  375. You may wish to use the baud-rate switch modifier below to enable terse mode
  376. only at lower baud rates.
  377. .TP 5
  378. .B \-T
  379. allows you to type ahead of rn.
  380. Ordinarily rn will eat typeahead to prevent your autorepeating space bar from
  381. doing a very frustrating thing when you accidentally hold it down.
  382. If you don't have a repeating space bar, or you are working at low baud
  383. rate, you can set this switch to prevent this behavior.
  384. You may wish to use the baud-rate switch modifier below to disable typeahead
  385. only at lower baud rates.
  386. .TP 5
  387. .B \-v
  388. sets verification mode for commands.
  389. When set, the command being executed is displayed to give some feedback that
  390. the key has actually been typed.
  391. Useful when the system is heavily loaded and you give a command that takes
  392. a while to start up.
  393. .TP 5
  394. .B \-x<number><list>
  395. Enable the extended (threaded) features of
  396. .I trn
  397. beyond the traditional
  398. .I rn
  399. compatibility mode.
  400. (This may be the default on your system, use +x if you yearn for the good
  401. ol' days.)
  402. The <number> is the maximum number of article-tree lines (from 0 to 11)
  403. you want displayed in your header.
  404. Use the <list> to choose which thread selector modes you like (s \- short,
  405. m \- medium, or l \- long), and in what order they are selected with the
  406. \&\*(L'L\*(R' command.
  407. For example, use
  408. .B \-xls
  409. to start with the long display mode and only switch between it and
  410. the short mode.
  411. You can omit either or both of the parameters, in which case a default of
  412. .B \-x6lsm
  413. is assumed.
  414. .TP 5
  415. .B \-X<number><commands>
  416. If you like using the thread selector, you'll probably want to use this
  417. option to make the thread selector command (+) the default when a newsgroup
  418. is started up with at least <number> unread articles.
  419. (Your installer may have chosen to make -X1 the default on your system.)
  420. It is also used to select which commands you want to be the defaults while
  421. using the thread selector.
  422. For example,
  423. .B \-X2XD
  424. will make the thread selector the default command for entering a newsgroup
  425. with at least 2 unread articles, and set the default command for the LAST
  426. page of the thread selector to be the
  427. .B X
  428. command and the default command for all other pages to be the
  429. .B D
  430. command.
  431. Either or both parameters can be omitted, as well as the second default
  432. command (e.g.
  433. .B \-XX
  434. would change the default newsgroup entry to use the selector and the default
  435. command for the last page of the selector to be \*(L'X\*(R').
  436. The default is
  437. .B \-X1Z>
  438. if just
  439. .B \-X
  440. is specified.
  441. To set the default selector commands without affecting the default entry
  442. into a newsgroup, specify a high number, like 9999.
  443. .TP 5
  444. .B \-/
  445. sets SAVEDIR to \*(L"%p/%c\*(R" and SAVENAME to \*(L"%a\*(R", which means
  446. that by default articles are saved in a subdirectory of your private news
  447. directory corresponding to the name of the the current newsgroup, with the
  448. filename being the article number.
  449. .B +/
  450. sets SAVEDIR to \*(L"%p\*(R" and SAVENAME to \*(L"%^C\*(R", which by
  451. default saves articles directly to your private news directory, with the
  452. filename being the name of the current newsgroup, first letter capitalized.
  453. (Either
  454. .B +/
  455. or
  456. .B \-/
  457. may be default on your system, depending on the feelings of your news
  458. administrator when he, she or it installed
  459. .IR trn .)
  460. You may, of course, explicitly set SAVEDIR and SAVENAME to other values\*(--see
  461. discussion in the environment section.
  462. .PP
  463. Any switch may be selectively applied according to the current baud-rate.
  464. Simply prefix the switch with +speed to apply the switch at that speed or
  465. greater, and \%\-speed to apply the switch at that speed or less.
  466. Examples: \%\-1200\-hposted suppresses the Posted line at 1200 baud or less;
  467. \%+9600\-m enables marking at 9600 baud or more.
  468. You can apply the modifier recursively to itself also: \%+300\-1200\-t sets
  469. terse mode from 300 to 1200 baud.
  470. .PP
  471. Similarly, switches may be selected based on terminal type:
  472. .Sp
  473.     \-=vt100+T        set +T on vt100
  474. .br
  475.     \-=tvi920\-ETERM=mytvi    get a special termcap entry
  476. .br
  477.     \-=tvi920\-ERNMACRO=%./.rnmac.tvi
  478. .br
  479.                 set up special keymappings
  480. .br
  481.     +=paper\-v        set verify mode if not hardcopy
  482. .PP
  483. Some switch arguments, such as environment variable values, may require
  484. spaces in them.
  485. Such spaces should be quoted via ", ', or \e in the conventional fashion,
  486. even when passed via RNINIT or the & command.
  487. .Sh "Regular Expressions"
  488. The patterns used in article searching are regular expressions such as
  489. those used by
  490. .IR ed (1).
  491. In addition, \ew matches an alphanumeric character and \eW a nonalphanumeric.
  492. Word boundaries may be matched by \eb, and non-boundaries by \eB.
  493. The bracketing construct \e(\ ...\ \e) may also be used, and \edigit matches
  494. the digit'th substring, where digit can range from 1 to 9.
  495. \e0 matches whatever the last bracket match matched.
  496. Up to 10 alternatives may given in a pattern, separated by \e|, with the
  497. caveat that \e(\ ...\ \e|\ ...\ \e) is illegal.
  498. .Sh "Interpretation and Interpolation"
  499. Many of the strings that
  500. .I trn
  501. handles are subject to interpretations of several types.
  502. Under filename expansion, an initial \*(L"~/\*(R" is translated to the name
  503. of your home directory, and \*(L"~name\*(R" is translated to the login
  504. directory for the user specified.
  505. Filename expansion will also expand an initial environment variable, and
  506. also does the backslash, uparrow and percent expansion mentioned below.
  507. .PP
  508. All interpreted strings go through backslash, uparrow and percent
  509. interpretation.
  510. The backslash escapes are the normal ones (such as \en, \et, \ennn, etc.).
  511. The uparrow escapes indicate control codes in the normal fashion.
  512. Backslashes or uparrows to be passed through should be escaped with backslash.
  513. The special percent escapes are similar to printf percent escapes.
  514. These cause the substitution of various run-time values into the string.
  515. The following are currently recognized:
  516. .Ip %a 8
  517. Current article number.
  518. .Ip %A 8
  519. Full name of current article (%P/%c/%a).
  520. (On a Eunice system with the LINKART option, %P/%c/%a returns the name of
  521. the article in the current newsgroup, while %A returns the real name of
  522. the article, which may be different if the current article was posted to
  523. multiple newsgroups.)
  524. .Ip %b 8
  525. Destination of last save command, often a mailbox.
  526. .Ip %B 8
  527. The byte offset to the beginning of the part of the article to be saved,
  528. set by the save command.
  529. The \*(L's\*(R' and \*(L'S\*(R' commands set it to 0, and the \*(L'w\*(R'
  530. and \*(L'W\*(R' commands set it to the byte offset of the body of the article.
  531. .Ip %c 8
  532. Current newsgroup, directory form.
  533. .Ip %C 8
  534. Current newsgroup, dot form.
  535. .Ip %d 8
  536. Full name of newsgroup directory (%P/%c).
  537. .Ip %D 8
  538. \*(L"Distribution:\*(R" line from the current article.
  539. .Ip %e 8
  540. The last command executed to extract data from an article.
  541. .Ip %E 8
  542. The number of extra (unselected) articles, not counting the current article
  543. if it is unselected.
  544. .Ip %f 8
  545. \*(L"From:\*(R" line from the current article, or the \*(L"Reply-To:\*(R"
  546. line if there is one.
  547. This differs from %t in that comments (such as the full name) are not
  548. stripped out with %f.
  549. .Ip %F 8
  550. \*(L"Newsgroups:\*(R" line for a new article, constructed from
  551. \*(L"Newsgroups:\*(R" and \*(L"Followup-To:\*(R" lines of current article.
  552. .Ip %h 8
  553. Name of the header file to pass to the mail or news poster,
  554. containing all the information that the poster program needs in the
  555. form of a message header.
  556. It may also contain a copy of the current article.
  557. The format of the header file is controlled by the MAILHEADER and NEWSHEADER
  558. environment variables.
  559. .Ip %H 8
  560. Host name (your machine's name).
  561. .Ip %i 8
  562. \*(L"Message-I.D.:\*(R" line from the current article, with <> guaranteed.
  563. .Ip %I 8
  564. The reference indication mark (see the
  565. .B \-F
  566. switch.)
  567. .Ip %l 8
  568. The news administrator's login name, if any.
  569. .Ip %L 8
  570. Login name (yours).
  571. .Ip %m 8
  572. The current mode of
  573. .I trn,
  574. for use in conditional macros.
  575. .Sp
  576. .nf
  577.     i    Initializing.
  578.     n    Newsgroup selection level.
  579.     t    Thread selection level.
  580.     a    Article selection level (What next?).
  581.     p    Pager level (MORE prompt).
  582.     u    Set unread? prompt.
  583.     A    Add this newsgroup?
  584.     C    Catchup confirmation.
  585.     D    Delete bogus newsgroups?
  586.     M    Use mailbox format?
  587.     R    Resubscribe to this newsgroup?
  588. .fi
  589. .Sp
  590. Note that yes/no questions are all upper-case modes.
  591. If, for example, you wanted to disallow defaults on all yes/no questions,
  592. you could define the following macro:
  593. .Sp
  594. .nf
  595. \e040    %(%m=[A-Z]?h: )
  596. .fi
  597. .Ip %M 8
  598. The number of articles marked to return via the \*(L'M\*(R' command.
  599. If the same article is Marked multiple times, \*(L"%M\*(R" counts it
  600. multiple times in the current implementation.
  601. .Ip %n 8
  602. \*(L"Newsgroups:\*(R" line from the current article.
  603. .Ip %N 8
  604. Full name (yours).
  605. .Ip %o 8
  606. Organization (yours).
  607. .Ip %O 8
  608. Original working directory (where you ran rn from).
  609. .Ip %p 8
  610. Your private news directory, normally ~/News.
  611. .Ip %P 8
  612. Public news spool directory, normally /usr/spool/news on systems that don't use NNTP.
  613. .Ip %r 8
  614. Last reference on references line of current article (parent article id).
  615. .Ip %R 8
  616. References list for a new article, constructed from the references and article
  617. ID of the current article.
  618. .Ip %s 8
  619. Subject, with all Re's and (nf)'s stripped off.
  620. .Ip %S 8
  621. Subject, with one \*(L"Re:\*(R" stripped off.
  622. .Ip %t 8
  623. \*(L"To:\*(R" line derived from the \*(L"From:\*(R" and \*(L"Reply-To:\*(R"
  624. lines of the current article.
  625. This always returns an Internet format address.
  626. .Ip %T 8
  627. \*(L"To:\*(R" line derived from the \*(L"Path:\*(R" line of the
  628. current article to produce a uucp path.
  629. .Ip %u 8
  630. The number of unread articles in the current newsgroup.
  631. .Ip %U 8
  632. The number of unread articles in the current newsgroup, not counting the
  633. the current article.
  634. When threads are selected, this count reflects only selected articles.
  635. .Ip %x 8
  636. The news library directory.
  637. .Ip %X 8
  638. The rn library directory.
  639. .Ip %z 8
  640. The length of the current article in bytes.
  641. .Ip %Z 8
  642. The number of selected threads.
  643. .Ip %~ 8
  644. Your home directory.
  645. .Ip %. 8
  646. The directory containing your dot files, which is your home directory unless
  647. the environment variable DOTDIR is defined when rn is invoked.
  648. .Ip %# 8
  649. A counter incremented during multiple-article commands.
  650. Prior to executing any such commands, it will return 0.
  651. During a multi-article command, it returns the current count starting from 1.
  652. Afterward, it retains its final value.
  653. For example, the command
  654. .Sp
  655.     1003-1008 s my.%#
  656. .Sp
  657. would save articles 1003 through 1008 in the files my.1 through my.6.
  658. .Ip %$ 8
  659. Current process number.
  660. .Ip %/ 8
  661. Last search string.
  662. .Ip %% 8
  663. A percent sign.
  664. .Ip "%{name} or %{name\-default}" 8
  665. The environment variable \*(L"name\*(R".
  666. .Ip %[name] 8
  667. The value of header line \*(L"Name:\*(R" from the current article.
  668. The \*(L"Name:\ \*(R" is not included.
  669. For example \*(L"%D\*(R" and \*(L"%[distribution]\*(R" are equivalent.
  670. The name must be spelled out in full.
  671. .Ip %`command` 8
  672. Inserts the output of the command, with any embedded newlines translated
  673. to space.
  674. .Ip %""prompt"" 8
  675. Prints prompt on the terminal, then inputs one string, and inserts it.
  676. .Ip "%(test_text=pattern?then_text:else_text)" 8
  677. If
  678. .I test_text
  679. matches
  680. .IR pattern ,
  681. has the value
  682. .IR then_text ,
  683. otherwise
  684. .IR else_text .
  685. The \*(L":else_text\*(R" is optional, and if absent, interpolates the null string.
  686. The = may be replaced with != to negate the test.
  687. To quote any of the metacharacters
  688. (\*(L'=\*(R', \*(L'?\*(R', \*(L':\*(R', or \*(L')\*(R'),
  689. precede with a backslash.
  690. .Ip %digit 8
  691. The digits 1 through 9 interpolate the string matched by the nth bracket
  692. in the last pattern match that had brackets.
  693. If the last pattern had alternatives, you may not know the number of the
  694. bracket you want\*(--%0 will give you the last bracket matched.
  695. .PP
  696. Modifiers: to capitalize the first letter, insert \*(L'^\*(R':
  697. \*(L"%^C\*(R" produces something like \*(L"Net.jokes\*(R".
  698. Inserting \*(L'_\*(R' causes the first letter following the last
  699. \&\*(L'/\*(R' to be capitalized: \*(L"%_c\*(R" produces \*(L"net/Jokes\*(R".
  700. .SH ENVIRONMENT
  701. The following environment variables are paid attention to by
  702. .IR trn .
  703. In general the default values assumed for these variables by
  704. .I trn
  705. are reasonable, so if you are using
  706. .I trn
  707. for the first time, you can safely ignore this section.
  708. Note that the defaults below may not correspond precisely to the defaults
  709. on your system.
  710. To find the actual defaults you would need to look in config.h and common.h
  711. in the trn source directory, and the file INIT in the trn library.
  712. .PP
  713. Those variables marked (%) are subject to % interpolation, and those marked
  714. (~) are subject to both % interpolation and ~ interpretation.
  715. .Ip "ATTRIBUTION (%)" 8
  716. Gives the format of the attribution line in front of the quoted article
  717. included by an F command.
  718. .Sp
  719. Default: In article %i %f writes:
  720. .Ip "CANCEL (~)" 8
  721. The shell command used to cancel an article.
  722. .Sp
  723. Default: inews \-h < %h
  724. .Ip "CANCELHEADER (%)" 8 13v
  725. The format of the file to pass to the CANCEL command in order to cancel
  726. an article.
  727. .Sp
  728. Default:
  729. .br
  730. Newsgroups: %n
  731. .br
  732. Subject: cmsg cancel %i
  733. .br
  734. References: %R
  735. .br
  736. Reply-To: %L@%H (%N)
  737. .br
  738. Distribution: %D
  739. .br
  740. Organization: %o
  741. .sp 1
  742. %i cancelled from rn.
  743. .Ip DOTDIR 8
  744. Where to find your dot files, if they aren't in your home directory.
  745. Can be interpolated using \*(L"%.\*(R".
  746. .Sp
  747. Default: $HOME
  748. .Ip "EDITOR (~)" 8
  749. The name of your editor, if VISUAL is undefined.
  750. .Sp
  751. Default: whatever your news administrator compiled in, usually vi.
  752. .Ip "EXSAVER (%)" 8
  753. The shell command to execute in order to extract data to either /bin/sh
  754. or a user-specified command.
  755. .Sp
  756. Default: tail +%Bc %A | %e
  757. .Ip "FIRSTLINE (%)" 8
  758. Controls the format of the line displayed at the top of an article.
  759. Warning: this may go away.
  760. .Sp
  761. The default in an unthreaded group is approximately:
  762. .Sp
  763. Article %a %(%U%M!=^00$?(%U more%(%M!=^0$? + %M Marked to return)\e) )in %C:
  764. .Sp
  765. While the default in a threaded group is almost:
  766. .Sp
  767. %C #%a%(%Z=^0$?%(%U!=^0$? (%U more\e)): (%U + %E more\e))
  768. .Ip HIDELINE 8
  769. If defined, contains a regular expression which matches article lines to
  770. be hidden, in order, for instance, to suppress quoted material.
  771. A recommended string for this purpose is \*(L"^>...\*(R", which \fIdoesn't\fR
  772. hide lines with only \*(L'>\*(R', to give some indication that quoted
  773. material is being skipped.
  774. If you want to hide more than one pattern, you can use \*(L"\||\|\*(R" to
  775. separate the alternatives.
  776. You can view the hidden lines by restarting the article with the \*(L'v\*(R'
  777. command.
  778. .Sp
  779. There is some overhead involved in matching each line of the article against
  780. a regular expression.
  781. You might wish to use a baud-rate modifier to enable this feature only at
  782. low baud rates.
  783. .Sp
  784. Default: undefined
  785. .Ip HOME 8
  786. Your home directory.
  787. Affects ~ interpretation, and the location of your
  788. dot files if DOTDIR is not defined.
  789. .Sp
  790. Default: $LOGDIR
  791. .Ip "KILLGLOBAL (~)" 8
  792. Where to find the KILL file to apply to every newsgroup.
  793. See the \*(L'^K\*(R' command at the newsgroup selection level.
  794. .Sp
  795. Default: %p/KILL
  796. .Ip "KILLLOCAL (~)" 8
  797. Where to find the KILL file for the current newsgroup.
  798. See the commands \*(L'K\*(R' and \*(L'^K\*(R' at the article selection level,
  799. and the search modifier \*(L'K\*(R'.
  800. .Sp
  801. Default: %p/%c/KILL
  802. .Ip LOGDIR 8
  803. Your home directory if HOME is undefined.
  804. Affects ~ interpretation, and the location of your
  805. dot files if DOTDIR is not defined.
  806. .Sp
  807. Default: none.
  808. .Sp
  809. Explanation: you must have either $HOME or $LOGDIR.
  810. .Ip LOGNAME 8
  811. Your login name, if USER is undefined.
  812. May be interpolated using \*(L"%L\*(R".
  813. .Sp
  814. Default: value of getlogin().
  815. .Ip "MAILCALL (~)" 8
  816. What to say when there is new mail.
  817. .Sp
  818. Default: (Mail)
  819. .Ip "MAILFILE (~)" 8
  820. Where to check for mail.
  821. .Sp
  822. Default: /usr/spool/mail/%L
  823. .Ip "MAILHEADER (%)" 8
  824. The format of the header file for replies.
  825. See also MAILPOSTER.
  826. .Sp
  827. Default:
  828. .Sp
  829. To: %T
  830. .br
  831. Subject: %(%i=^$?:Re: %S
  832. .br
  833. Newsgroups: %n
  834. .br
  835. In-Reply-To: %i)
  836. .br
  837. %(%[references]!=^$?References\\: %[references]
  838. .br
  839. )Organization: %o
  840. .br
  841. Cc: 
  842. .br
  843. Bcc: \en\en
  844. .Ip "MAILPOSTER (~)" 8
  845. The shell command to be used by the reply commands (r and R)
  846. in order to allow you to enter and deliver the response.
  847. .I trn
  848. will not itself call upon an editor for replies\*(--this
  849. is a function of the program called by
  850. .IR trn .
  851. See also MAILHEADER.
  852. .Sp
  853. Default: Rnmail \-h %h
  854. .Ip "MBOXSAVER (~)" 8
  855. The shell command to save an article in mailbox format.
  856. .Sp
  857. Default: %X/mbox.saver %A %P %c %a %B %C "%b" \e
  858. .br
  859. "From: %T %`date`"
  860. .Sp
  861. Explanation: the first seven arguments are the same as for NORMSAVER.
  862. The eighth argument to the shell script is the new From: line
  863. for the article, including the posting date,
  864. derived either directly from the Posted: line, or not-so-directly from
  865. the Date: line.
  866. Header munging at its finest.
  867. .Ip MODSTRING 8
  868. The string to insert in the group summary line, which heads each article,
  869. for a moderated group.  See also NOPOSTRING.
  870. .Sp
  871. Default: " (moderated)"
  872. .Ip NAME 8
  873. Your full name.
  874. May be interpolated using \*(L"%N\*(R".
  875. .Sp
  876. Default: name from /etc/passwd, or ~/.fullname.
  877. .Ip "NEWSHEADER (%)" 8 16v
  878. The format of the header file for followups.
  879. See also NEWSPOSTER.
  880. .Sp
  881. Default:
  882. .Sp
  883. Newsgroups: %(%F=^$?%C:%F)
  884. .br
  885. Subject: %(%S=^$?%"\en\enSubject: ":Re: %S)
  886. .br
  887. Summary:
  888. .br
  889. Expires: 
  890. .br
  891. %(%R=^$?:References: %R
  892. .br
  893. )Sender: 
  894. .br
  895. Reply-To: %L@%H (%N)
  896. .br
  897. Followup-To: 
  898. .br
  899. Distribution: %(%i=^$?%"\enDistribution: ":%D)
  900. .br
  901. Organization: %o
  902. .br
  903. Keywords: \en\en
  904. .Ip "NEWSPOSTER (~)" 8
  905. The shell command to be used by the followup commands (f and F)
  906. in order to allow you to enter and post a followup news article.
  907. .I trn
  908. will not itself call upon an editor for followups\*(--this
  909. is a function of the program called by
  910. .IR trn .
  911. See also NEWSHEADER.
  912. .Sp
  913. Default: Pnews \-h %h
  914. .Ip NEWSRC 8
  915. Your newsgroup subscription list.
  916. .Sp
  917. Default: $HOME/.newsrc
  918. .Ip NNTPSERVER 8
  919. The hostname of your NNTPSERVER. [This does not apply unless you are running
  920. the NNTP version of rn.]
  921. .Sp
  922. Default: the hostname listed in the server file, usually
  923. /usr/local/lib/rn/server.
  924. .Ip NOPOSTRING 8
  925. The string to insert in the group summary line, which heads each article,
  926. for a group to which local posting is not allowed.  See also MODSTRING.
  927. .Sp
  928. Default: " (no posting)"
  929. .Ip "NORMSAVER (~)" 8
  930. The shell command to save an article in the normal (non-mailbox) format.
  931. .Sp
  932. Default: %X/norm.saver %A %P %c %a %B %C "%b"
  933. .Ip ORGANIZATION 8
  934. Either the name of your organization, or the name of a file containing the
  935. name of your organization.
  936. May be interpolated using \*(L"%o\*(R".
  937. .Sp
  938. Default: whatever your news administrator compiled in.
  939. .Ip PAGESTOP 8
  940. If defined, contains a regular expression which matches article lines to
  941. be treated as form-feeds.
  942. There are at least two things you might want to do with this.
  943. To cause page breaks between articles in a digest, you might define it
  944. as \*(L"^--------\*(R".
  945. To force a page break before a signature, you could define it
  946. as \*(L"^-- $\*(R".
  947. (Then, when you see \*(L"--\*(R" at the bottom of the page, you can skip
  948. the signature if you so desire by typing \*(L'n\*(R' instead of space.)
  949. To do both, you could use \*(L"^--\*(R".
  950. If you want to break on more than one pattern, you can use \*(L"\||\|\*(R" to
  951. separate the alternatives.
  952. .Sp
  953. There is some overhead involved in matching each line of the article against
  954. a regular expression.
  955. You might wish to use a baud-rate modifier to enable this feature only at
  956. low baud rates.
  957. .Sp
  958. Default: undefined
  959. .Ip "PIPESAVER (%)" 8
  960. The shell command to execute in order to accomplish a save to a pipe
  961. (\*(L"s\ |\ command\*(R" or \*(L"w\ |\ command\*(R").
  962. The command typed by the user is substituted in as %b.
  963. .Sp
  964. Default: %(%B=^0$?<%A:tail +%Bc %A |) %b
  965. .Sp
  966. Explanation: if %B is 0, the command is \*(L"<%A %b\*(R", otherwise
  967. the command is \*(L"tail +%Bc %A | %b\*(R".
  968. .Ip RNINIT 8
  969. Default values for switches may be passed to
  970. .I trn
  971. by placing them in RNINIT.
  972. Any switch that is set in RNINIT may be overruled 
  973. on the command line, or via the \*(L'&\*(R' command from within
  974. .IR trn .
  975. Binary-valued switches that are set with \*(L"\-switch\*(R" may be unset
  976. using \*(L"+switch\*(R".
  977. .Sp
  978. If RNINIT begins with a \*(L'/\*(R' it is assumed to be the name of a file
  979. containing switches.
  980. If you want to set many environment variables but don't want to keep
  981. them all in your environment, or if the use of any of these variables
  982. conflicts with other programs, you can use this feature along with the
  983. .B \-E
  984. switch to set the environment variables upon startup.
  985. .Sp
  986. Default: \*(L" \*(R".
  987. .Ip "RNMACRO (~)" 8
  988. The name of the file containing macros and key mappings.
  989. See the MACROS section.
  990. .Sp
  991. Default: %./.rnmac
  992. .Ip "SAVEDIR (~)" 8
  993. The name of the directory to save to, if the save command does not specify
  994. a directory name.
  995. .Sp
  996. Default:
  997. .br
  998.    If
  999. .B \-/
  1000. is set: %p/%c
  1001. .br
  1002.    If
  1003. .B +/
  1004. is set: %p
  1005. .Ip "SAVENAME (%)" 8
  1006. The name of the file to save to, if the save command contains only a
  1007. directory name.
  1008. .Sp
  1009. Default:
  1010. .br
  1011.    If
  1012. .B \-/
  1013. is set: %a
  1014. .br
  1015.    If
  1016. .B +/
  1017. is set: %^C
  1018. .Ip "SELECTCHARS" 8
  1019. The characters used by the thread selector to select the associated thread
  1020. of discussion.
  1021. You can specify up to 64 visible characters, including upper- and lower-case
  1022. letters, numbers, and many punctuation characters.
  1023. Selection characters override command characters in the selector, but are
  1024. not excluded from macro expansion, so be careful.
  1025. .br
  1026. Default: abcdefgijlorstuvwxz1234567890
  1027.  that can be typed
  1028. .Ip SHELL 8
  1029. The name of your preferred shell.
  1030. It will be used by the \*(L'!\*(R', \*(L'S\*(R' and \*(L'W\*(R' commands.
  1031. .Sp
  1032. Default: whatever your news administrator compiled in.
  1033. .Ip "SUBJLINE (%)" 8
  1034. Controls the format of the lines displayed by the \*(L'=\*(R' command at
  1035. the article selection level.
  1036. .Sp
  1037. Default: %s
  1038. .Ip TERM 8
  1039. Determines which termcap entry to use, unless TERMCAP contains the entry.
  1040. .Ip TERMCAP 8
  1041. Holds either the name of your termcap file, or a termcap entry.
  1042. .Sp
  1043. Default: /etc/termcap, normally.
  1044. .Ip "UNSHAR (~)" 8
  1045. The shell command to execute in order to accomplish the unshar'ing of a
  1046. shell archive.
  1047. .Sp
  1048. Default: /bin/sh
  1049. .Ip USER 8
  1050. Your login name.
  1051. May be interpolated using \*(L"%L\*(R".
  1052. .Sp
  1053. Default: $LOGNAME
  1054. .Ip "VISUAL (~)" 8
  1055. The name of your editor.
  1056. .Sp
  1057. Default: $EDITOR
  1058. .Ip "YOUSAID (%)" 8
  1059. Gives the format of the attribution line in front of the quoted article
  1060. included by an R command.
  1061. .Sp
  1062. Default: In article %i you write:
  1063. .SH MACROS
  1064. When
  1065. .I trn
  1066. starts up, it looks for a file containing macro definitions (see environment
  1067. variable RNMACRO).
  1068. Any sequence of commands may be bound to any sequence of keys, so you
  1069. could remap your entire keyboard if you desire.
  1070. Blank lines or lines beginning with # in the macro file are considered
  1071. comments; otherwise
  1072. .I trn
  1073. looks for two fields separated by white space.
  1074. The first field gives the sequence of keystrokes that trigger the macro,
  1075. and the second field gives the sequence of commands to execute.
  1076. Both fields are subject to % interpolation, which will also translate
  1077. backslash and uparrow sequences.
  1078. (The keystroke field is interpreted at startup time, but the command field
  1079. is interpreted at macro execution time so that you may refer to % values
  1080. in a macro.)
  1081. For example, if you want to reverse the roles of carriage return and
  1082. space in
  1083. .I trn
  1084. .Sp
  1085. ^J    \e040
  1086. .br
  1087. ^M    \e040
  1088. .br
  1089. \e040    ^J
  1090. .Sp
  1091. will do just that.
  1092. By default, all characters in the command field are interpreted as the
  1093. canonical
  1094. .I trn
  1095. characters, i.e. no macro expansion is done.
  1096. Otherwise the above pair of macros would cause an infinite loop.
  1097. To force macro expansion in the command field, enclose the
  1098. macro call with ^( ... ^) thusly:
  1099. .Sp
  1100. @s    |mysavescript
  1101. .br
  1102. @w    w^(@s^)
  1103. .Sp
  1104. You can use the %() conditional construct to construct macros that work
  1105. differently under different circumstances.
  1106. In particular, the current mode (%m) of
  1107. .I trn
  1108. could be used to make a command that only works at a particular level.
  1109. This is particularly vital for the thread selector, which uses most of
  1110. the lower-case letters to select the associated thread of discussion.
  1111. For example,
  1112. .Sp
  1113. a    %(%m=t?a:s art.hold\en)
  1114. .Sp
  1115. will return the original letter (a) in the thread selector, and the command
  1116. \*(L"s art.hold\en\*(R" everywhere else.
  1117. .Sp
  1118. %(%{TERM}=vt100?^[[O)    /^J
  1119. .Sp
  1120. will do the binding only if the terminal type is vt100,
  1121. though if you have many of these it would be better to have separate
  1122. files for each terminal.
  1123. .Sp
  1124. If you want to bind a macro to a function key that puts a common garbage character
  1125. after the sequence (such as the carriage return on the end of Televideo 920
  1126. function sequences), DO NOT put the carriage return
  1127. into all the sequences or you will waste a CONSIDERABLE amount of internal
  1128. storage.
  1129. Instead of \*(L"^AF^M\*(R", put \*(L"^AF+1\*(R", which indicates to
  1130. .I trn
  1131. that it should gobble up one character after the F.
  1132. .SH "WHAT'S NEW?"
  1133. Here's a quick run-down of
  1134. .IR trn 's
  1135. new features and commands aimed at the knowledgeable
  1136. .I rn
  1137. user.
  1138. .Sp
  1139. One of the biggest improvements is the Thread Selector, which is bound
  1140. to the \*(L'+\*(R' key.
  1141. The selector displays a list of subject threads and (by default) authors
  1142. to allow you to select the topics that interest you by typing their
  1143. associated letter.
  1144. The thread selector can also be used to browse articles that have already
  1145. been read, to selectively re-read discussions (use the \*(L'U\*(R' command).
  1146. .Sp
  1147. Another big improvement is the thread-ordered display of articles.
  1148. While reading each topic,
  1149. .I trn
  1150. displays each article and its replies in the order of their parent/child
  1151. relationship.
  1152. This lets you follow the flow of the discussion better, instead of jumping
  1153. around from idea to idea or even reading a reply before the original article.
  1154. .Sp
  1155. Along this same line is the addition of the article-tree display in the
  1156. upper-right corner of the header.
  1157. Glancing at the tree gives you a better feel for how the articles you are
  1158. reading relate to each other.
  1159. .Sp
  1160. The header has also been modified to hide a few more header-lines by default
  1161. (e.g. References), but, as always, you can override these with \-h.
  1162. There is also some new \*(L"magic\*(R" in the header: the From header is
  1163. trimmed to be just the comment portion (if available), and the Date header
  1164. is displayed in local time (in threaded groups).
  1165. Override these defaults with +H.
  1166. .Sp
  1167. Once you begin reading articles, use the regular movement commands (n, N,
  1168. p, P, etc.) as you normally would.
  1169. Then, check out the [, ], {, and } commands to move around in the article
  1170. tree a bit more directly.
  1171. For example, the \*(L'[\*(R' command takes you to your parent article,
  1172. even if it was already read, whichp is very useful for tracking down the
  1173. cited portion of the article in its original context.
  1174. .Sp
  1175. There are additional kill commands for the entire thread (J) and the
  1176. current article and all its replies (,).
  1177. The KILL files have been extended to allow killing by thread (T), which will
  1178. kill a topic even if people fine-tune the subject along the way.
  1179. .Sp
  1180. There is also an easy way to skip around in the various threads with
  1181. the < and > commands.
  1182. .Sp
  1183. There is a new command, \*(L"e dir\*(R", that extracts a shell archive or
  1184. uuencoded file into the specified directory.
  1185. It is even possible to extract other data formats if you specify the
  1186. appropriate filter command (e.g. \*(L"e dir|cmd\*(R".
  1187. .Sp
  1188. Also, if you plan to use macro definitions, it is good to keep in mind
  1189. that the thread selector uses most of the lower-case letters for thread
  1190. selection, and thus it is a good idea to explicitly set the mode(s) in
  1191. which a macro applies.
  1192. For example, if you want to press 'f' from the article pager/selector to
  1193. forward the current article to the user \*(L"smith\*(R", you could define:
  1194. .Sp
  1195. .nf
  1196.     f    %(%m=[pa]?|mail smith\en:f)
  1197. .fi
  1198. .Sp
  1199. This checks the current mode (%m) and if it is \*(L'p\*(R' or \*(L'a\*(R'
  1200. it expands it to the string \*(L"|mail smith\en\*(R", otherwise it returns
  1201. the letter \*(L'f\*(R'.
  1202. In some cases, you may simply wish to exclude the thread selector from a
  1203. macro with the conditional \*(L"%m!=t\*(R".
  1204. .Sp
  1205. Finally, you'll probably want to use the new options,
  1206. .B \-x
  1207. and
  1208. .B \-X
  1209. to ensure that all the newest features are available for use.
  1210. These options might be on by default, depending on how your administrator
  1211. decided to install
  1212. .IR trn .
  1213. .SH AUTHORS
  1214. Rn was created by Larry Wall <lwall@jpl-devvax.jpl.nasa.gov>
  1215. .br
  1216. and is now under the direction of Stan Barber <sob@bcm.tmc.edu>.
  1217. .br
  1218. Threaded version by Wayne Davison <davison@borland.com>
  1219. .br
  1220. (Mail all bug reports for trn to Wayne.)
  1221. .br
  1222. Regular expression routines are borrowed from emacs, by James Gosling.
  1223. .SH FILES
  1224. .Ip "%./.newsrc" 1.25i
  1225. status of your news reading
  1226. .Ip "%./.oldnewsrc" 1.25i
  1227. backup copy of your
  1228. .I .newsrc
  1229. from start of session
  1230. .Ip "%./.rnlock" 1.25i
  1231. lock file so you don't screw up your
  1232. .I .newsrc
  1233. .Ip "%./.rnlast" 1.25i
  1234. info from last run of rn
  1235. .Ip "%./.rnsoft" 1.25i
  1236. soft pointers into /usr/lib/news/active to speed startup, synchronous with
  1237. .I .newsrc
  1238. .Ip "%./.rnhead" 1.25i
  1239. temporary header file to pass to a mailer or news poster
  1240. .Ip "%./.rnmac" 1.25i
  1241. macro and keymap definitions
  1242. .Ip "%p" 1.25i
  1243. your news save directory, usually ~/News
  1244. .Ip "%x/active" 1.25i
  1245. the list of active newsgroups, usually /usr/lib/news/active on systems that don't use NNTP
  1246. .Ip "%X/active2" 1.25i
  1247. the list of active newsgroups when running in threaded mode.
  1248. .Ip "%P" 1.25i
  1249. the public news spool directory, usually /usr/spool/news on systems that don't use NNTP
  1250. .Ip "%X/INIT" 1.25i
  1251. system-wide default switches
  1252. .SH SEE ALSO
  1253. newsrc(5), more(1), readnews(1), Pnews(1), Rnmail(1)
  1254. .SH DIAGNOSTICS
  1255. Generally self-documenting, as they say.
  1256. .SH BUGS
  1257. The
  1258. .B \-h
  1259. switch can only hide header lines that
  1260. .I trn
  1261. knows about.
  1262. .PP
  1263. The \*(L'\-\*(R' command doesn't cross newsgroup boundaries, and only undoes
  1264. the last article selection.
  1265. .PP
  1266. If you edit your
  1267. .I .newsrc
  1268. while
  1269. .I trn
  1270. is running,
  1271. .I trn
  1272. will happily wipe out your changes when it decides to
  1273. write out the
  1274. .I .newsrc
  1275. file.
  1276. .PP
  1277. Marking of duplicate articles as read in cross-referenced newsgroups will
  1278. not work unless the Xref patch is installed in inews.
  1279. .PP
  1280. If you get carried away with % or escape substitutions, you can overflow
  1281. buffers.
  1282. .PP
  1283. There should be no fixed limit on the number of newsgroups.
  1284. .PP
  1285. Some of the more esoteric features may be missing on machines with limited
  1286. address space.
  1287.