home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume31 / tin / part01 next >
Text File  |  1992-07-08  |  57KB  |  1,711 lines

  1. Newsgroups: comp.sources.misc
  2. From: iain%anl433.uucp@Germany.EU.net (Iain Lea)
  3. Subject:  v31i001:  tin - threaded full screen newsreader v1.1 PL4, Part01/15
  4. Message-ID: <csm-v31i001=tin.130555@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: bf9ed2c6ee032265a4d6188f2810c09c
  6. Date: Tue, 7 Jul 1992 18:06:44 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: iain%anl433.uucp@Germany.EU.net (Iain Lea)
  10. Posting-number: Volume 31, Issue 1
  11. Archive-name: tin/part01
  12. Environment: BSD, SCO, ISC, SUNOS, SYSVR3, SYSVR4, ULTRIX, XENIX
  13. Supersedes: tin: Volume 30, Issue 1-14
  14.  
  15. o  Based more on Notes and tass than rn type newreaders.
  16. o  Full screen, easy to use with on-line help at all levels.
  17. o  Reads news locally (ie. /usr/spool/news) and/or via NNTP/INN/CD-ROM.
  18. o  Threads on Subject: and/or Archive-name: mail headers.
  19. o  Five different operating levels:
  20.    -  Spooldir selection level (CD-ROM only)
  21.    -  Group selection level
  22.    -  Thread selection level
  23.    -  Article selection level
  24.    -  Article viewer
  25. o  Same interface to mail, pipe, print and save articles.
  26. o  Reposting of articles from one newsgroup to another.
  27. o  Auto unpacking of multi-part shar & uuencoded articles.
  28. o  Batch mode to mail/save new news when user is on holiday.
  29. o  Builtin NNTP mini-inews & clientlib.c
  30. o  NNTP extensions XUSER & XINDEX allow central index files.
  31.  
  32.  ------------------------------------------------------------------------------- 
  33. Major improvements over tin 1.1 PL3 are the following:
  34.  
  35. o  Added support for SGI Irix machines.
  36. o  Added support for Pyramid machines.
  37. o  Added support for NeXT machines (again).
  38. o  Added 'i' command to group index level (again).
  39. o  Added 'X' '+' '=' '*' '~' ';' '@' '.' thread commands to group index level.
  40. o  Added '*' '~' ';' '@' thread commands to article viewing level.
  41. o  Added '^F' & '^B' commands to all levels for vi users.
  42. o  Added display of newsgroups file info. next to groupnames.
  43. o  Added keypad support for HP type terminals.
  44. o  Added sample kill/hot file to auto-select interesting(?) people.
  45. o  Added highlighting of hot articles for easier recognition (thanx Jim).
  46. o  Changed Makefile to centralize compile options.
  47. o  Fixed memory errors that were causing SIGSEGV on some machines.
  48. o  Fixed process handling of child processes to stop zombies.
  49. o  Fixed up a line with no arts at group level that caused SIGSEGV.
  50. o  Fixed group unthreading at startup that caused SIGSEGV.
  51. o  Fixed group indexing that was causing hanging.
  52. o  Fixed End & Home keys with no arts at group level that caused SIGSEGV.
  53. o  Fixed tind index daemon to check if its already running.
  54. o  Fixed rename_file() to handle cross-device filenames.
  55. o  Fixed window resizing to work on SVR4.
  56. o  Fixed signal return type for SVR4.
  57. o  Fixed -c option that broke in PL3.
  58. o  Fixed Makefile so that .c.o rule was correct.
  59. o  Fixed buitltin inews to compile on IBM RS6000.
  60. o  Fixed man page to format correctly.
  61. o  Fixed so username is correct when running under screen.
  62. o  Fixed default mailer for DG Aviion.
  63. o  Fixed cleanup code to delete temp index files /tmp if a crash occurs.
  64. o  Fixed bug report address to add user defined add_addr.
  65. o  Fixed saving, mailing etc. of an expired article that caused SIGSEGV.
  66.  
  67. Enjoy
  68.         Iain
  69. ---
  70. #! /bin/sh
  71. # This is a shell archive.  Remove anything before this line, then feed it
  72. # into a shell via "sh file" or similar.  To overwrite existing files,
  73. # type "sh file -c".
  74. # The tool that generated this appeared in the comp.sources.unix newsgroup;
  75. # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
  76. # Contents:  README README.NNTP debug.c tin.1
  77. # Wrapped by kent@sparky on Mon Jun 29 23:35:08 1992
  78. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  79. echo If this archive is complete, you will see the following message:
  80. echo '          "shar: End of archive 1 (of 15)."'
  81. if test -f 'README' -a "${1}" != "-c" ; then 
  82.   echo shar: Will not clobber existing file \"'README'\"
  83. else
  84.   echo shar: Extracting \"'README'\" \(3338 characters\)
  85.   sed "s/^X//" >'README' <<'END_OF_FILE'
  86. XThis is version 1.1 PL4 (patchlevel 4) of the tin newsreader.
  87. X
  88. Xo  Based more on Notes and tass than rn type newreaders.
  89. Xo  Full screen, easy to use with on-line help at all levels.
  90. Xo  Reads news locally (ie. /usr/spool/news) and/or via NNTP/INN/CD-ROM.
  91. Xo  Threads on Subject: and/or Archive-name: mail headers.
  92. Xo  Five different operating levels:
  93. X   -  Spooldir selection level (CD-ROM only)
  94. X   -  Group selection level
  95. X   -  Thread selection level
  96. X   -  Article selection level
  97. X   -  Article viewer
  98. Xo  Same interface to mail, pipe, print and save articles.
  99. Xo  Reposting of articles from one newsgroup to another.
  100. Xo  Auto unpacking of multi-part shar & uuencoded articles.
  101. Xo  Batch mode to mail/save new news when user is on holiday.
  102. Xo  Builtin NNTP mini-inews & clientlib.c
  103. Xo  NNTP extensions XUSER & XINDEX allow central index files. 
  104. X
  105. X-------------------------------------------------------------------------------
  106. X
  107. XMajor improvements over tin 1.1 PL3 are the following:
  108. X
  109. Xo  Added support for SGI Irix machines.
  110. Xo  Added support for Pyramid machines.
  111. Xo  Added support for NeXT machines (again).
  112. Xo  Added 'i' command to group index level (again).
  113. Xo  Added 'X' '+' '=' '*' '~' ';' '@' '.' thread commands to group index level.
  114. Xo  Added '*' '~' ';' '@' thread commands to article viewing level.
  115. Xo  Added '^F' & '^B' commands to all levels for vi users.
  116. Xo  Added display of newsgroups file info. next to groupnames.
  117. Xo  Added keypad support for HP type terminals.
  118. Xo  Added sample kill/hot file to auto-select interesting(?) people.
  119. Xo  Added highlighting of hot articles for easier recognition (thanx Jim).
  120. Xo  Changed Makefile to centralize compile options.
  121. Xo  Fixed memory errors that were causing SIGSEGV on some machines.
  122. Xo  Fixed process handling of child processes to stop zombies.
  123. Xo  Fixed up a line with no arts at group level that caused SIGSEGV.
  124. Xo  Fixed group unthreading at startup that caused SIGSEGV.
  125. Xo  Fixed group indexing that was causing hanging.
  126. Xo  Fixed End & Home keys with no arts at group level that caused SIGSEGV.
  127. Xo  Fixed tind index daemon to check if its already running.
  128. Xo  Fixed rename_file() to handle cross-device filenames.
  129. Xo  Fixed window resizing to work on SVR4.
  130. Xo  Fixed signal return type for SVR4.
  131. Xo  Fixed -c option that broke in PL3.
  132. Xo  Fixed Makefile so that .c.o rule was correct.
  133. Xo  Fixed buitltin inews to compile on IBM RS6000.
  134. Xo  Fixed man page to format correctly.
  135. Xo  Fixed so username is correct when running under screen.
  136. Xo  Fixed default mailer for DG Aviion.
  137. Xo  Fixed cleanup code to delete temp index files /tmp if a crash occurs.
  138. Xo  Fixed bug report address to add user defined add_addr.
  139. Xo  Fixed saving, mailing etc. of an expired article that caused SIGSEGV.
  140. X
  141. X-------------------------------------------------------------------------------
  142. X
  143. XFor more bug fixes, changes & additions read the CHANGES & TODO files.
  144. X
  145. XFor compilation and installation information read the INSTALL file.
  146. X
  147. XFor ftp & non-ftp source & binary availability read the FTP file.
  148. X
  149. X-------------------------------------------------------------------------------
  150. X
  151. XI wish to thank all the people that sent me bug fixes and comments
  152. X(especially Jim Robinson) . I still want to hear of any bug reports,
  153. Xgripes and comments but *PLEASE* read the INSTALL, TODO and tin.1 
  154. Xmanual page before doing anything :-)!.
  155. X
  156. XEnjoy
  157. X    Iain.
  158. END_OF_FILE
  159.   if test 3338 -ne `wc -c <'README'`; then
  160.     echo shar: \"'README'\" unpacked with wrong size!
  161.   fi
  162.   # end of 'README'
  163. fi
  164. if test -f 'README.NNTP' -a "${1}" != "-c" ; then 
  165.   echo shar: Will not clobber existing file \"'README.NNTP'\"
  166. else
  167.   echo shar: Extracting \"'README.NNTP'\" \(934 characters\)
  168.   sed "s/^X//" >'README.NNTP' <<'END_OF_FILE'
  169. XThis patch enables the TIN newsreader index files to be fetched from a
  170. XNNTP server. The patch adds the following to the NNTP server nntpd:
  171. X
  172. X  o  XINDEX command to retrieve tin group index file from server.
  173. X     Syntax:  XINDEX alt.sources
  174. X
  175. X  o  XUSER command to log tin clients username to nntp logfile.
  176. X     Syntax:  XUSER Iain Lea
  177. X
  178. X  o  LIST SUBSCRIPTIONS command to retrieve list of newsgroups
  179. X     that first time user will be automatically subscribed to.
  180. X     Our users are auto subscribed to 120 groups from the 450
  181. X     that we take. Groups are written 1 group per line in the
  182. X     file /usr/lib/news/subscriptions.
  183. X     Syntax: LIST SUBSCRIPTIONS
  184. X
  185. X  o  HELP command changed to list XINDEX & XUSER as extensions.
  186. X
  187. X  o  Added comments /* */ around '#endif /* text */' to stop some
  188. X     compilers producing warnings about text after '#endif text'.
  189. X
  190. XFor compile & install instructions read the file INSTALL.NNTP
  191. X
  192. XEnjoy 
  193. X
  194. X  Iain
  195. END_OF_FILE
  196.   if test 934 -ne `wc -c <'README.NNTP'`; then
  197.     echo shar: \"'README.NNTP'\" unpacked with wrong size!
  198.   fi
  199.   # end of 'README.NNTP'
  200. fi
  201. if test -f 'debug.c' -a "${1}" != "-c" ; then 
  202.   echo shar: Will not clobber existing file \"'debug.c'\"
  203. else
  204.   echo shar: Extracting \"'debug.c'\" \(4317 characters\)
  205.   sed "s/^X//" >'debug.c' <<'END_OF_FILE'
  206. X/*
  207. X *  Project   : tin - a threaded Netnews reader
  208. X *  Module    : debug.c
  209. X *  Author    : I.Lea
  210. X *  Created   : 01-04-91
  211. X *  Updated   : 03-06-92
  212. X *  Notes     : debug routines
  213. X *  Copyright : (c) Copyright 1991-92 by Iain Lea
  214. X *              You may  freely  copy or  redistribute  this software,
  215. X *              so  long as there is no profit made from its use, sale
  216. X *              trade or  reproduction.  You may not change this copy-
  217. X *              right notice, and it must be included in any copy made
  218. X */
  219. X
  220. X#include "tin.h"
  221. X
  222. Xint debug;
  223. X
  224. X/*
  225. X *  nntp specific debug routines
  226. X */
  227. Xvoid debug_nntp (func, line)
  228. X    char *func;    
  229. X    char *line;    
  230. X{
  231. X#ifdef DEBUG
  232. X    FILE *fp;
  233. X
  234. X    if (debug != 1)
  235. X        return;
  236. X
  237. X    if ((fp = fopen ("/tmp/NNTP","a+")) != NULL) {
  238. X        fprintf (fp,"%s: %s\n", func, line);
  239. X        fclose (fp);
  240. X        chmod ("/tmp/NNTP", 0666);
  241. X    }
  242. X#endif
  243. X}
  244. X
  245. X
  246. Xvoid debug_nntp_respcode (respcode)
  247. X    int respcode;
  248. X{
  249. X#ifdef DEBUG
  250. X    debug_nntp ("get_respcode", nntp_respcode (respcode));
  251. X#endif
  252. X}    
  253. X
  254. X/*
  255. X *  tin specific debug routines
  256. X */
  257. Xvoid debug_print_arts ()
  258. X{
  259. X#ifdef DEBUG
  260. X    int i;
  261. X
  262. X    if (debug != 2)
  263. X        return;
  264. X
  265. X    for (i = 0; i < top; i++) {    /* for each group */
  266. X        debug_print_header (&arts[i]);
  267. X    }
  268. X#endif
  269. X}
  270. X
  271. X
  272. Xvoid debug_print_header (s)
  273. X    struct article_t *s;
  274. X{
  275. X#ifdef DEBUG
  276. X    FILE *fp;
  277. X
  278. X    if (debug != 2)
  279. X        return;
  280. X
  281. X    if ((fp = fopen ("/tmp/ARTS","a+")) != NULL) {
  282. X        fprintf (fp,"art=[%5ld] tag=[%s] kill=[%s] hot=[%s]\n", s->artnum,
  283. X            (s->tagged ? "TRUE" : "FALSE"),
  284. X            (s->killed ? "TRUE" : "FALSE"),
  285. X            (s->hot ? "TRUE" : "FALSE"));
  286. X        fprintf (fp,"subj=[%-38s]\n", s->subject);
  287. X        fprintf (fp,"date=[%s]  from=[%s]  name=[%s]\n", s->date, s->from, s->name);
  288. X         if (s->archive) {
  289. X             fprintf (fp, "arch=[%-38s]  ", s->archive);
  290. X         } else {
  291. X             fprintf (fp, "arch=[]  ");
  292. X         }
  293. X         if (s->part) {
  294. X             fprintf (fp, "part=[%s]  ", s->part);
  295. X         } else {
  296. X             fprintf (fp, "part=[]  ");
  297. X         }
  298. X         if (s->patch) {
  299. X             fprintf (fp, "patch=[%s]\n", s->patch);
  300. X        } else {
  301. X             fprintf (fp, "patch=[]\n");
  302. X         }
  303. X        fprintf (fp,"thread=[%d]  inthread=[%d]  unread=[%d]\n\n",
  304. X            s->thread, s->inthread, s->unread);
  305. X/*        fprintf (fp,"thread=[%s]  inthread=[%s]  unread=[%s]\n",
  306. X            (s->thread == ART_NORMAL ? "ART_NORMAL" : "ART_EXPIRED"),
  307. X            (s->inthread ? "TRUE" : "FALSE"),
  308. X            (s->unread ? "TRUE" : "FALSE"));
  309. X*/
  310. X        fflush (fp);
  311. X        fclose (fp);
  312. X        chmod ("/tmp/DUMP", 0666);
  313. X    }
  314. X#endif
  315. X}
  316. X
  317. X
  318. Xvoid debug_print_comment (comment)
  319. X    char *comment;
  320. X{
  321. X#ifdef DEBUG
  322. X    FILE *fp;
  323. X
  324. X    if (debug != 2)
  325. X        return;
  326. X
  327. X    if ((fp = fopen ("/tmp/BASE","a+")) != NULL) {
  328. X        fprintf (fp,"\n%s\n\n", comment);
  329. X        fflush (fp);
  330. X        fclose (fp);
  331. X        chmod ("/tmp/BASE", 0666);
  332. X    }
  333. X#endif
  334. X}
  335. X
  336. X
  337. Xvoid debug_print_base ()
  338. X{
  339. X#ifdef DEBUG
  340. X    FILE *fp;
  341. X    int i;
  342. X
  343. X    if (debug != 2)
  344. X        return;
  345. X
  346. X    if ((fp = fopen ("/tmp/BASE","a+")) != NULL) {
  347. X        for (i = 0; i < top_base; i++) {
  348. X            fprintf (fp, "base[%3d]=[%5ld]\n",i,base[i]);
  349. X        }
  350. X        fflush (fp);
  351. X        fclose (fp);
  352. X        chmod ("/tmp/BASE", 0666);
  353. X    }
  354. X#endif
  355. X}
  356. X
  357. X
  358. Xvoid debug_print_active ()
  359. X{
  360. X#ifdef DEBUG
  361. X    FILE *fp;
  362. X    int i;
  363. X
  364. X    if (debug != 2)
  365. X        return;
  366. X
  367. X    if ((fp = fopen ("/tmp/ACTIVE","w")) != NULL) {
  368. X        for (i = 0; i < num_active; i++) {    /* for each group */
  369. X            fprintf (fp, "[%4d]=[%-28s] max=[%4ld] min=[%4ld] mod=[%c] nxt=[%4d] flag=[%d]\n",
  370. X                i, active[i].name, active[i].max, active[i].min,
  371. X                active[i].moderated, active[i].next, active[i].flag);
  372. X            fprintf (fp, "hash=[%ld]  description=[%s]\n", hash_groupname (active[i].name), 
  373. X                (active[i].description ? active[i].description : ""));
  374. X            fprintf (fp, "read=[%d] show=[%d] thread=[%d] sort=[%d] author=[%d] auto=[%d] process=[%d]\n",
  375. X                active[i].attribute.read,    active[i].attribute.showall,
  376. X                active[i].attribute.thread,  active[i].attribute.sortby,
  377. X                active[i].attribute.author,  active[i].attribute.autosave,
  378. X                active[i].attribute.process);
  379. X            fprintf (fp, "server=[%s] ", (active[i].attribute.server  == (char *) 0 ? "" : active[i].attribute.server));
  380. X            fprintf (fp, "maildir=[%s] ",(active[i].attribute.maildir == (char *) 0 ? "" : active[i].attribute.maildir));            
  381. X            fprintf (fp, "savedir=[%s] ",(active[i].attribute.savedir == (char *) 0 ? "" : active[i].attribute.savedir));
  382. X            fprintf (fp, "sigfile=[%s]\n\n",(active[i].attribute.sigfile == (char *) 0 ? "" : active[i].attribute.sigfile));
  383. X        }
  384. X        fflush (fp);
  385. X        fclose (fp);
  386. X        chmod ("/tmp/ACTIVE", 0666);
  387. X    }
  388. X#endif
  389. X}
  390. END_OF_FILE
  391.   if test 4317 -ne `wc -c <'debug.c'`; then
  392.     echo shar: \"'debug.c'\" unpacked with wrong size!
  393.   fi
  394.   # end of 'debug.c'
  395. fi
  396. if test -f 'tin.1' -a "${1}" != "-c" ; then 
  397.   echo shar: Will not clobber existing file \"'tin.1'\"
  398. else
  399.   echo shar: Extracting \"'tin.1'\" \(40703 characters\)
  400.   sed "s/^X//" >'tin.1' <<'END_OF_FILE'
  401. X.ev 1
  402. X.if t .lt 6.85i
  403. X.if n .lt 7.2i
  404. X.ev
  405. X.if t .po .45i
  406. X.if t .ll 6.85i
  407. X.if n .ll 7.2i
  408. X.if \n(mo=1 .ds mo January
  409. X.if \n(mo=2 .ds mo Febraury
  410. X.if \n(mo=3 .ds mo March
  411. X.if \n(mo=4 .ds mo April
  412. X.if \n(mo=5 .ds mo May
  413. X.if \n(mo=6 .ds mo June
  414. X.if \n(mo=7 .ds mo July
  415. X.if \n(mo=8 .ds mo August
  416. X.if \n(mo=9 .ds mo September
  417. X.if \n(mo=10 .ds mo October
  418. X.if \n(mo=11 .ds mo November
  419. X.if \n(mo=12 .ds mo December
  420. X.TH TIN 1 "Version 1.1 PL4" "" "LOCAL"
  421. X.ds ]W \*(mo \n(dy, 19\n(yr
  422. X.nh
  423. X.SH NAME
  424. Xtin, rtin, cdtin, tind \- A threaded Netnews reader
  425. X.SH SYNOPSIS
  426. X.B tin/rtin/cdtin/tind
  427. X[
  428. X.I options
  429. X] [
  430. X.I newsgroups
  431. X]
  432. X.SH DESCRIPTION
  433. X.I Tin
  434. Xis a full-screen threaded Netnews reader.  It can read news locally
  435. X(i.e. \fI/usr/spool/news\fP) or remotely (rtin or tin -r option) via
  436. Xa NNTP (Network News Transport Protocol) server.  A special version
  437. Xof tin called cdtin can also read locally active news and news
  438. Xarchived on CD-ROM.
  439. X.PP
  440. XTin has four newsreading levels:
  441. Xthe newsgroup selection page, the group index page, the thread listing
  442. Xpage and the article viewer.
  443. XUse the 'h' (help) command to view a list of the commands available at a
  444. Xparticular level.
  445. X.PP
  446. XOn startup Tin will show a list of the newsgroups found in \fI$HOME/.newsrc\fP.
  447. XAn arrow '->' or highlighted bar will point to the first newsgroup.
  448. XMove to a group by using the terminal arrow keys (ansi/at386/vt100 only) or 'j'
  449. Xand 'k'.  Use PgUp/PgDn (ansi/at386/vt100 only) or Ctrl-U and Ctrl-D to
  450. Xpage up/down.  Enter a newsgroup by pressing RETURN.
  451. X.PP
  452. XThe TAB key may be used to advance to the next newsgroup with unread articles
  453. Xand enter it.
  454. X.SH OPTIONS
  455. X.TP 10
  456. X.B -c
  457. Xcreate/update index files for every group in \fI$HOME/.newsrc\fP or
  458. Xfile specified by -f option and mark all articles as read.
  459. X.TP
  460. X.BI -f " file"
  461. Xuse the specified file of subscribed to newsgroups in place of
  462. X\fI$HOME/.newsrc\fP.
  463. X.TP
  464. X.B -h
  465. Xhelp listing all command line options.
  466. X.TP
  467. X.B -H
  468. Xbrief introduction to tin that is also shown the first time it is started.
  469. X.TP
  470. X.BI -I " dir"
  471. Xdirectory to store newsgroup index files.  Default is \fI$HOME/.tin/.index\fP.
  472. X.TP
  473. X.BI -m " dir"
  474. Xmailbox directory to use.  Default is \fI$HOME/Mail\fP.
  475. X.TP
  476. X.BI -M " user"
  477. Xmail unread articles to specified user for later reading.  For more
  478. Xinformation read section Automatic Mailing and Saving New News. 
  479. X.TP
  480. X.B -n
  481. Xnotify the user of any newly created newsgroups since the last session.
  482. X.TP
  483. X.BI -p " file"
  484. Xprint program with options.\fP.
  485. X.TP
  486. X.B -r
  487. Xread news remotely from the default NNTP server specified in the
  488. Xenvironment variable NNTPSERVER or contained in the file
  489. X\fI/etc/nntpserver\fP.
  490. X.TP
  491. X.B -R
  492. Xread news saved by -S option (not yet implemented).
  493. X.TP
  494. X.BI -s " dir"
  495. Xsave articles to directory.  Default is \fI$HOME/News\fP.
  496. X.TP
  497. X.B -S
  498. Xsave unread articles for later reading by -R option.  For more information
  499. Xread section Automatic Mailing and Saving New News.
  500. X.TP
  501. X.B -u
  502. Xcreate/update index files for every group in \fI$HOME/.newsrc\fP or
  503. Xfile specified by -f option.  This option does not work if tin retrieves 
  504. Xits index files via a NNTP server. 
  505. X.TP
  506. X.B -U
  507. Xstart tin in the background to update index files while reading news 
  508. Xin the foreground.  This option does not work if tin retrieves its index
  509. Xfiles via a NNTP server.
  510. X.TP
  511. X.B -v
  512. Xverbose mode for -c -M -S -u and -Z options.
  513. X.TP
  514. X.B -z
  515. Xonly start tin if there is any new/unread news.  If there is news tin
  516. Xwill position cursor at first group with unread news.  Useful for putting
  517. Xin login file.
  518. X.TP
  519. X.B -Z
  520. Xcheck if there is any new/unread news and exit with appropiate status.
  521. XIf -v option is specified the number of unread articles in each group
  522. Xis printed.  An exit code 0 indicates no news, 1 that an error occurred
  523. Xand 2 that new/unread news exists.  Useful for writing scripts.
  524. X.PP
  525. XTin can also dynamically change its options by the 'M' menu command.
  526. XAny changes are written to \fI$HOME/.tin/tinrc\fP.
  527. X.PP
  528. XThe index daemon version, tind, only supports the -f, -h, and -v options.
  529. X.SH "INDEX FILES"
  530. XIn order to keep track of threads, Tin maintains an index for each newsgroup.
  531. XThere are a number of methods in which index files can be created and updated.
  532. X.PP
  533. XThe simplest method is that each user creates/updates there own index files
  534. Xthat are stored in $HOME/.tin/.index.  This has the advantage that any user
  535. Xcan compile and install tin, but the disadvantage is that each user is going
  536. Xto be creating duplicate files and using precious disk space.  A good way to 
  537. Xkeep index files updated is to start tin with the -U option that will update
  538. Xindex files in the background while you are reading news in the foreground.
  539. XYou can also update index files via the system batcher cron with the -u
  540. Xoption:
  541. X.RS
  542. X.nf
  543. X.ft CW
  544. X30 6 * * * /usr/local/bin/tin -u
  545. X.ft P
  546. X.fi
  547. X.RE
  548. X.PP
  549. XA slightly better method is to set tin setuid news and have all index files
  550. Xcreated and updated in the news spool directory (i.e. /usr/spool/news/.index).
  551. XThis has the advantage that there will only be one copy of the index files
  552. Xon each machine on your network, but the disadvantage is that you will have
  553. Xtin running setuid news and killing articles will change the central index
  554. Xfile for a group for all users (Needs fixing!).
  555. X.PP
  556. XA better method is to install the tind index file updating daemon and have
  557. Xit create and update index files for all groups in your active file at
  558. Xregular intervals in the news spool directory (i.e. /usr/spool/news/.index).
  559. XThis has the advantage that there will only be one copy of the index files on
  560. Xeach machine on your network and tin must not be setuid news, but the
  561. Xdisadvantage is that you will have to have news permissions to install tind
  562. Xand root permissions to install an entry in the cron batcher system to have
  563. Xtind regularly update index files.
  564. X.PP
  565. XThe best method is to install the tind index file updating daemon on your
  566. XNNTP server and have it create and update index files for all groups in your
  567. Xactive file at regular intervals in the news spool directory (i.e. /usr/spool/news/.index).
  568. XThis has the advantage that there will only be one copy of the index files on
  569. Xthe NNTP server for the whole of your network and tin clients must not be
  570. Xsetuid news, but the disadvantage is that you will have to install my NNTP
  571. Xserver patches to allow tin to retreive index file from your NNTP server and 
  572. Xand you must install an entry in the cron batcher system to have tind 
  573. Xregularly update index files (Note that this is the method we use on our
  574. Xnetwork of 40-50 machines and have not had any problems).
  575. X.PP
  576. XEntering a group the first time tends to be slow because the index file must
  577. Xbe built from scratch unless the tind update daemon is being used.  Subsequent
  578. Xreadings of a group will cause incremental updating of the index file.
  579. X.PP
  580. XIf reading news remotely and locally updating index files operation will be
  581. Xsomewhat slower because the articles must be retrieved from the NNTP server.
  582. X.SH "NEWS ADMINISTRATION"
  583. XMaintaining Netnews on large networks of machines can be a pretty time 
  584. Xconsuming job as I recently discovered when I was given the job of
  585. Xmaintaining our news system and news users.
  586. X.PP
  587. XTin is a News User Agent and so most of the users were always asking
  588. Xquestions or doing things that could be frowned upon by there departments.
  589. XTo relieve news admins (and especially me) of this features have been added
  590. Xto Tin to make life easier.
  591. X.PP
  592. XIf my NNTP XUSER patch has been applied to your NNTP server you will be
  593. Xable to log the username and machine to your NNTP logfile for usage
  594. Xstatistics.
  595. X.PP
  596. XA user starting tin for the first time can be automatically subscribed to a
  597. Xlist of newsgroups that are deemed appropiate by the news administrator.  At
  598. Xour site the subscriptions file has 125 groups (our active file conatains
  599. Xover 400 groups with many only being marginally interesting to most people).
  600. XThe subscriptions file should be created in your news lib directory (i.e.
  601. X/usr/lib/news/subscriptions) and should have file permissions set to 0644.
  602. XIf reading news via NNTP my NNTP LIST SUBSCRIPTIONS patch will have to have 
  603. Xbeen applied to your NNTP server.
  604. X.SH "SCREEN FORMAT"
  605. XTin has five separate levels of operation: Group selection level, Spooldir
  606. Xselection level, Group level, Thread level and Article level.
  607. X.PP
  608. XAt the Group Selection level the title displays the number of subscribed
  609. Xgroups.  The newsgroups are displayed on the left of the screen with the
  610. Xnumber of unread articles displayed on the same line in the middle of
  611. Xthe screen.
  612. X.RS
  613. X.nf
  614. X.ft CW
  615. X.in +.5i
  616. X.ta +\w'1  'u +\w'news.software.readers  'u
  617. X<Selection Num> <Newsgroup> <Num of unread articles>
  618. X.ti -.5i
  619. X.ft P
  620. Xi.e.,
  621. X.ft CW
  622. X1    alt.sources            10
  623. X2    comp.sources.misc        3
  624. X3    news.software.readers        12
  625. X.in -.5i
  626. X.ft P
  627. X.fi
  628. X.RE
  629. X.PP
  630. XAt the Group level the title contains the name of the group, the number
  631. Xof conversation threads and total number of articles i.e., alt.sources (7 23).
  632. XIf the group has been setup not to thread articles (i.e., alt.sources
  633. Xis in \fI$(HOME)/.tin/unthread\fP) the title will be alt.sources (U 23).
  634. XThere are two possible display formats as shown below:
  635. X.RS
  636. X.nf
  637. X.ft CW
  638. X.in +.5i
  639. X.ta +\w'1   'u +\w'+   'u +\w'3   'u +\w'This question has   'u
  640. X<Selection Num> <Unread> <Responses> <Subject> <Author>
  641. X.ti -.5i
  642. X.ft P
  643. Xi.e.,
  644. X.ft CW
  645. X1    +    3    Bnews sources?        iain@estevax.uucp
  646. X2        1    This question has    ether@net
  647. X.ti -.5i
  648. X.ft P
  649. Xor
  650. X.ft CW
  651. X.ta +\w'1   'u +\w'+   'u +\w'3   'u +\w'This question has a long subject line   'u
  652. X<Selection Num> <Unread> <Responses> <Subject (longer)>
  653. X.ti -.5i
  654. X.ft P
  655. Xi.e.,
  656. X.ft CW
  657. X1    +    3    Bnews sources?
  658. X2        1    This question has a longer subject line
  659. X.in -.5i
  660. X.ft P
  661. X.fi
  662. X.RE
  663. X.PP
  664. XAt the Article level the page header has the following format:
  665. X.RS
  666. X.nf
  667. X.ft CW
  668. X.in +.5i
  669. X.ta \w'<Date posted> <Newsgroup>    'u
  670. X<Date posted> <Newsgroup>    <Thread 1 of n>
  671. X<Article Num> <Subject>    <Num of responses in thread>
  672. X<Author>    <Organization>
  673. X
  674. X<Article body>
  675. X.ti -.5i
  676. X.ft P
  677. Xi.e.,
  678. X.ft CW
  679. X.ta \w'24 Jul 15:20:03 GMT   'u +\w'Bnews sources?   'u
  680. X24 Jul 15:20:03 GMT    alt.sources    Thread 1 of 2
  681. XArticle 452    Bnews sources?    3 responses
  682. Xiain@anl433.uucp        Organization name
  683. X
  684. X<Article boby>
  685. X.in -.5i
  686. X.ft P
  687. X.fi
  688. X.RE
  689. X.SH "COMMON MOVING KEYS"
  690. XThis table shows the common keys/commands for moving at all three levels
  691. Xwithin Tin.
  692. X.RS
  693. X.nf
  694. X.ta \w'Beginning of list/article  'u +\w'ansi/at386/vt100  'u
  695. X    ansi/at386/vt100    Other Terminals
  696. XBeginning of list/article    \fBHome\fP    \fB1\fP (\fB^R\fP or \fBg\fP at article level)
  697. XEnd of list/article    \fBEnd\fP    \fB$\fP (also \fBG\fP at article level)
  698. XPage Up    \fBPgUp\fP    \fB^U\fP or \fB^B\fP or \fBb\fP 
  699. XPage Down    \fBPgDn\fP    \fB^D\fP or \fB^F\fP or \fB<SPACE>\fP
  700. XLine Up    \fBUp arrow\fP    \fBk\fP (not at article level)
  701. XLine Down    \fBDown arrow\fP    \fBj\fP (not at article level)
  702. X.fi
  703. X.RE
  704. X.SH "COMMON EDITING COMMANDS"
  705. XAn emacs style editing package allows the easy editing of input strings.
  706. XAn history list allows the easy re-use of previously entered strings.
  707. XThe following commands are available when editing a string:
  708. X.PP
  709. X.TP 10
  710. X\fB^A,^E\fP
  711. Xmove to beginnning or end of line, respectively.
  712. X.TP
  713. X\fB^F,^B\fP
  714. Xnondestructive move forward or back one location, respectively.
  715. X.TP
  716. X\fB^D\fP
  717. Xdelete the character currently under the cursor, or send EOF if no
  718. Xcharacters in the buffer.
  719. X.TP
  720. X\fB^H,<DEL>\fP
  721. Xdelete character left of the cursor.
  722. X.TP
  723. X\fB^K\fP
  724. Xdelete from cursor to end of line.
  725. X.TP
  726. X\fB^P,^N\fP
  727. Xmove through history, previous and next, respectively.
  728. X.TP
  729. X\fB^L,^R\fP
  730. Xredraw the current line.
  731. X.TP
  732. X\fB<CR>\fP
  733. Xplaces line on history list if nonblank, appends newline and returns
  734. Xto the caller.
  735. X.TP
  736. X\fB<ESC>\fP
  737. Xaborts the present editing operation.
  738. X.SH "NEWSGROUP SELECTION COMMANDS"
  739. X.TP 10
  740. X\fB4\fP
  741. XSelect group 4.
  742. X.TP
  743. X\fB^K\fP
  744. XDelete current group from \fI$HOME/.newsrc\fP file.
  745. X.TP
  746. X\fB^L\fP
  747. XRedraw page.
  748. X.TP
  749. X\fB^R\fP
  750. XReset \fI$HOME/.newsrc\fP file.
  751. X.TP
  752. X\fB<CR>\fP
  753. XRead current group.
  754. X.TP
  755. X\fB<TAB>\fP
  756. XView next unread group.
  757. X.TP
  758. X\fBB\fP
  759. XMail a bug report or comment to the author.  This is the best way of
  760. Xgetting bugs fixed and features added/changed.
  761. X.TP
  762. X\fBc\fP
  763. XMark current group as all read with confirmation and goto next group
  764. Xin group selection list.
  765. X.TP
  766. X\fBC\fP
  767. XMark current group as all read and goto next unread group in group
  768. Xselection list.
  769. X.TP
  770. X\fBg\fP
  771. XChoose a new group by name.  The position of the group within the group
  772. Xlist will also be asked for.  By entering '1' the new group will be the
  773. Xfirst group in the displayed list, by entering '8' the group will be
  774. Xthe eighth group in the list etc.  By entering '$' the group will be the
  775. Xlast group displayed.
  776. X.TP
  777. X\fBh\fP
  778. Xhelp screen of newsgroup selection commands.
  779. X.TP
  780. X\fBI\fP
  781. XToggle inverse video.
  782. X.TP
  783. X\fBl\fP
  784. XList and allow selection of the available spool directories.  This feature
  785. Xrequires a special library to be linked with tin to create cdtin which can then
  786. Xread news from an active news feed and also from multiple CD-ROMs.
  787. X.TP
  788. X\fBm\fP
  789. XMove the current group within the group selection list.
  790. XBy entering '1' the group will become the first displayed group in
  791. Xthe list, by entering '8' the eighth group in the list etc.  By
  792. Xentering '$' the group will be the last group displayed.
  793. X.TP
  794. X\fBM\fP
  795. XUser configurable options menu (for more information see section Options Menu).
  796. X.TP
  797. X\fBq\fP
  798. XQuit tin.
  799. X.TP
  800. X\fBQ\fP
  801. XQuit tin.
  802. X.TP
  803. X\fBs\fP
  804. XSubscribe to current group.
  805. X.TP
  806. X\fBS\fP
  807. XSubscribe to groups matching user specified pattern.
  808. X.TP
  809. X\fBu\fP
  810. XUnsubscribe to current group.
  811. X.TP
  812. X\fBU\fP
  813. XUnsubscribe to groups matching user specified pattern.
  814. X.TP
  815. X\fBv\fP
  816. XPrint tin version information.
  817. X.TP
  818. X\fBw\fP
  819. XPost an article to current group.
  820. X.TP
  821. X\fBW\fP
  822. XList articles posted by user.  The date posted, the newsgroup and the
  823. Xsubject are listed.
  824. X.TP
  825. X\fBy\fP
  826. XThe first time this command is called it will yank in all groups from
  827. X\fI$LIBDIR/active\fP that are not in \fI$HOME/.newsrc\fP.
  828. XAfter any groups have been subscribed/unsubscribed to, this command
  829. Xif pressed again will reread \fI$HOME/.newsrc\fP and display only
  830. Xthe subscribed groups.
  831. X.TP
  832. X\fBY\fP
  833. XReread the active file to see if any new news has arrived since
  834. Xstarting tin.
  835. X.TP
  836. X\fBz\fP
  837. XMark all articles in the current group as unread.
  838. X.TP
  839. X\fBZ\fP
  840. XUndelete previously deleted group by ^K command from \fI$HOME/.newsrc\fP.
  841. X.TP
  842. X\fB/\fP
  843. XGroup forward search.
  844. X.TP
  845. X\fB?\fP
  846. XGroup backward search.
  847. X.SH "SPOOL DIRECTORY SELECTION COMMANDS"
  848. X.TP 10
  849. X\fB4\fP
  850. XSelect spool directory 4.
  851. X.TP
  852. X\fB^L\fP
  853. XRedraw page.
  854. X.TP
  855. X\fB<CR>\fP
  856. XRead news from selected spool directory.
  857. X.TP
  858. X\fBB\fP
  859. XMail a bug report or comment to the author.  This is the best way of
  860. Xgetting bugs fixed and features added/changed.
  861. X.TP
  862. X\fBh\fP
  863. Xhelp screen of spool directory selection commands.
  864. X.TP
  865. X\fBI\fP
  866. XToggle inverse video.
  867. X\fBq\fP
  868. XReturn to previous level.
  869. X.TP
  870. X\fBQ\fP
  871. XQuit tin.
  872. X.TP
  873. X\fBv\fP
  874. XPrint tin version information.
  875. X.SH "GROUP INDEX COMMANDS"
  876. X.TP 10
  877. X\fB4\fP
  878. XSelect article 4.
  879. X.TP
  880. X\fB^K\fP
  881. XKill current article (for more information read section Kill Article Menu).
  882. X.TP
  883. X\fB^L\fP
  884. XRedraw page.
  885. X.TP
  886. X\fB<CR>\fP
  887. XRead current article.
  888. X.TP
  889. X\fB<TAB>\fP
  890. XView next unread article or group.
  891. X.TP
  892. X\fBa\fP
  893. XAuthor forward search.
  894. X.TP
  895. X\fBA\fP
  896. XAuthor backward search.
  897. X.TP
  898. X\fBB\fP
  899. XMail a bug report or comment to the author.  This is the best way of
  900. Xgetting bugs fixed and features added/changed.
  901. X.TP
  902. X\fBc\fP
  903. XMark all articles as read with confirmation.
  904. X.TP
  905. X\fBC\fP
  906. XCancel current article.  It must have been posted by the same user.  The
  907. Xcancel message can be seen in the newsgroup 'control'.
  908. X.TP
  909. X\fBd\fP
  910. XToggle display to show just the subject or the subject and author.
  911. X.TP
  912. X\fBg\fP
  913. XChoose a new group by name.
  914. X.TP
  915. X\fBh\fP
  916. Xhelp screen of group index commands.
  917. X.TP
  918. X\fBI\fP
  919. XToggle inverse video.
  920. X.TP
  921. X\fBK\fP
  922. XMark article/thread as read and advance to next unread article/thread.
  923. X.TP
  924. X\fBl\fP
  925. XList the author of each response in current thread and enter thread
  926. Xselection level.
  927. X.TP
  928. X\fBm\fP
  929. XMail current article / thread / auto selected (hot) articles / 
  930. Xarticles matching pattern / tagged articles
  931. Xto someone.
  932. X.TP
  933. X\fBM\fP
  934. XUser configurable options menu (for more information see section Options Menu).
  935. X.TP
  936. X\fBn\fP
  937. XGo to next group.
  938. X.TP
  939. X\fBN\fP
  940. XGo to next unread article.
  941. X.TP
  942. X\fBo\fP
  943. XOutput current article / thread / auto selected (hot) articles / 
  944. Xarticles matching pattern / tagged articles
  945. Xto printer.
  946. X.TP
  947. X\fBp\fP
  948. XGo to previous group.
  949. X.TP
  950. X\fBP\fP
  951. XGo to previous unread article.
  952. X.TP
  953. X\fBq\fP
  954. XReturn to previous level.
  955. X.TP
  956. X\fBQ\fP
  957. XQuit tin.
  958. X.TP
  959. X\fBs\fP
  960. XSave current article / thread / auto selected (hot) articles / 
  961. Xarticles matching pattern / tagged articles to file / files / 
  962. Xmailbox.  To save to a mailbox enter '=' or '=mailbox' when asked
  963. Xfor filename to save to.  To save in <newsgroup name>/<filename>
  964. Xformat enter '+filename'.  Environment variables are allowed within
  965. Xa filename (i.e. $SOURCES/dir/filename).
  966. X.TP
  967. X\fBT\fP
  968. XTag current article for mailing ('m') / piping ('|') / printing ('o') /
  969. Xsaving ('s') / crossposting ('x').
  970. X.TP
  971. X\fBu\fP
  972. XToggle display to show all articles as unthreaded or threaded.
  973. X.TP
  974. X\fBU\fP
  975. XUntag all articles that were tagged.
  976. X.TP
  977. X\fBv\fP
  978. XPrint tin version information.
  979. X.TP
  980. X\fBw\fP
  981. XPost an article to current group.
  982. X.TP
  983. X\fBW\fP
  984. XList articles posted by user.  The date posted, the newsgroup and the
  985. Xsubject are listed.
  986. X.TP
  987. X\fBx\fP
  988. XCrosspost already posted current article / thread / 
  989. Xauto selected (hot) articles / articles matching pattern / 
  990. Xtagged articles to another newsgroup(s).  Useful for reposting
  991. Xfrom global to local newsgroups.
  992. X.TP
  993. X\fBX\fP
  994. XMark all unread articles that have not been selected as read,
  995. Xredo screen to reflect changes and put index at the first
  996. Xthread to begin reading. Pressing 'X' again will toggle back 
  997. Xto the way it was before. See '~' command for clearing the 
  998. Xtoggle effect.
  999. X.TP
  1000. X\fBz\fP
  1001. XMark current article as unread.
  1002. X.TP
  1003. X\fBZ\fP
  1004. XMark current thread as unread.
  1005. X.TP
  1006. X\fB/\fP
  1007. XSearch forward for specified subject.
  1008. X.TP
  1009. X\fB?\fP
  1010. XSearch backward for specified subject.
  1011. X.TP
  1012. X\fB-\fP
  1013. XShow last message.
  1014. X.TP
  1015. X\fB|\fP
  1016. XPipe current article / thread / auto selected (hot) articles / 
  1017. Xarticles matching pattern / tagged articles into command.
  1018. X.TP
  1019. X\fB*\fP
  1020. XSelect current thread for later processing.
  1021. X.TP
  1022. X\fB.\fP
  1023. XToggle selection of current thread. If at least one unread art,
  1024. Xbut not all unread arts, in thread is selected, then all unread
  1025. Xarts become selected.
  1026. X.TP
  1027. X\fB@\fP
  1028. XReverse all selections on all articles.
  1029. X.TP
  1030. X\fB~\fP
  1031. XUndo all selections on all articles. It clears the toggle effect 
  1032. Xof 'X' command. Thus after first doing a 'X', one can then do '~'
  1033. Xto reset articles. Thus, one can iteratively whittle down 
  1034. Xuninteresting threads.
  1035. X.TP
  1036. X\fB+\fP
  1037. XPerform auto-selection on current group.
  1038. X.TP
  1039. X\fB;\fP
  1040. XFor each thread in current group, if it at least one unread 
  1041. Xart is selected, all unread arts become selected. This is
  1042. Xuseful for auto-selection on author where reader wants to
  1043. Xsee entire thread.
  1044. X.TP
  1045. X\fB=\fP
  1046. XPrompts for a pattern with which to match on. All threads 
  1047. Xwhose subjects match the pattern will be selected. A pattern
  1048. Xof "*" will match all subjects. Entering just <CR> will cause
  1049. Xthe previous pattern to be used. 
  1050. X.SH "THREAD LISTING COMMANDS"
  1051. X.TP 10
  1052. X\fB4\fP
  1053. XSelect article 4 within thread.
  1054. X.TP
  1055. X\fB^L\fP
  1056. XRedraw page.
  1057. X.TP
  1058. X\fB<CR>\fP
  1059. XRead current article within thread.
  1060. X.TP
  1061. X\fB<TAB>\fP
  1062. XView next unread article within thread.
  1063. X.TP
  1064. X\fBB\fP
  1065. XMail a bug report or comment to the author.  This is the best way of
  1066. Xgetting bugs fixed and features added/changed.
  1067. X.TP
  1068. X\fBc\fP
  1069. XMark thread as read after confirmation and return to previous level.
  1070. X.TP
  1071. X\fBd\fP
  1072. XToggle display to show just the subject or the subject and author.
  1073. X.TP
  1074. X\fBh\fP
  1075. Xhelp screen of thread listing commands.
  1076. X.TP
  1077. X\fBI\fP
  1078. XToggle inverse video.
  1079. X.TP
  1080. X\fBK\fP
  1081. XMark thread as read and return to previous level.
  1082. X.TP
  1083. X\fBq\fP
  1084. XReturn to previous level.
  1085. X.TP
  1086. X\fBQ\fP
  1087. XQuit tin.
  1088. X.TP
  1089. X\fBr\fP
  1090. XToggle display to show all articles or only unread articles.
  1091. X.TP
  1092. X\fBt\fP
  1093. XReturn to group index level.
  1094. X.TP
  1095. X\fBT\fP
  1096. XTag current article for mailing ('m') / piping ('|') / printing ('o') /
  1097. Xsaving ('s') / crossposting ('x').
  1098. X.TP
  1099. X\fBv\fP
  1100. XPrint tin version information.
  1101. X.TP
  1102. X\fBz\fP
  1103. XMark current article in thread as unread.
  1104. X.TP
  1105. X\fBZ\fP
  1106. XMark all articles in thread as unread.
  1107. X.SH "ARTICLE VIEWER COMMANDS"
  1108. X.TP 10
  1109. X\fB0\fP
  1110. XRead the base article in this thread.
  1111. X.TP
  1112. X\fB4\fP
  1113. XRead response 4 in this thread.
  1114. X.TP
  1115. X\fB^H\fP
  1116. XShow all of the articles mail header.
  1117. X.TP
  1118. X\fB^K\fP
  1119. XKill current article (for more information read section Kill Article Menu).
  1120. X.TP
  1121. X\fB^L\fP
  1122. XRedraw page.
  1123. X.TP
  1124. X\fB<CR>\fP
  1125. XGoto next base article.
  1126. X.TP
  1127. X\fB<TAB>\fP
  1128. XGoto next unread article.
  1129. X.TP
  1130. X\fBa\fP
  1131. XAuthor forward search.
  1132. X.TP
  1133. X\fBA\fP
  1134. XAuthor backward search.
  1135. X.TP
  1136. X\fBB\fP
  1137. XMail a bug report or comment to the author.  This is the best way of
  1138. Xgetting bugs fixed and features added/changed.
  1139. X.TP
  1140. X\fBc\fP
  1141. XMark all articles as read with confirmation.
  1142. X.TP
  1143. X\fBd\fP
  1144. XToggle rot-13 decoding for this article.
  1145. X.TP
  1146. X\fBf\fP
  1147. XPost a followup to current article.
  1148. X.TP
  1149. X\fBF\fP
  1150. XPost a followup with a copy of the current article included.
  1151. X.TP
  1152. X\fBh\fP
  1153. XHelp screen of article page commands.
  1154. X.TP
  1155. X\fBI\fP
  1156. XToggle inverse video.
  1157. X.TP
  1158. X\fBk\fP
  1159. XMark article as read and advance to next unread article.
  1160. X.TP
  1161. X\fBK\fP
  1162. XMark thread as read and advance to next unread thread.
  1163. X.TP
  1164. X\fBm\fP
  1165. XMail current article / thread / auto selected (hot) articles / 
  1166. Xarticles matching pattern / tagged articles
  1167. Xto someone.
  1168. X.TP
  1169. X\fBM\fP
  1170. XUser configurable options menu (for more information see section Options Menu).
  1171. X.TP
  1172. X\fBn\fP
  1173. XGo to the next article.
  1174. X.TP
  1175. X\fBN\fP
  1176. XGo to the next unread article.
  1177. X.TP
  1178. X\fBo\fP
  1179. XOutput current article / thread / auto selected (hot) articles / 
  1180. Xarticles matching pattern / tagged articles to printer.
  1181. X.TP
  1182. X\fBo\fP
  1183. XOutput article/thread/tagged articles to printer.
  1184. X.TP
  1185. X\fBp\fP
  1186. XGo to the previous article.
  1187. X.TP
  1188. X\fBP\fP
  1189. XGo to the previous unread article.
  1190. X.TP
  1191. X\fBq\fP
  1192. XReturn to previous level.
  1193. X.TP
  1194. X\fBQ\fP
  1195. XQuit tin.
  1196. X.TP
  1197. X\fBr\fP
  1198. XReply through mail to author.
  1199. X.TP
  1200. X\fBR\fP
  1201. XReply through mail to author with a copy of the current article included.
  1202. X.TP
  1203. X\fBs\fP
  1204. XSave current article / thread / auto selected (hot) articles / 
  1205. Xarticles matching pattern / tagged articles to file / files / mailbox.
  1206. XTo save to a mailbox enter '=' or '=mailbox' when asked for filename
  1207. Xto save to.  To save in <newsgroup name>/<filename> format enter 
  1208. X'+filename'.  Environment variables are allowed within a filename
  1209. X(i.e. $SOURCES/dir/filename).
  1210. X.TP
  1211. X\fBt\fP
  1212. XReturn to group selection level.
  1213. X.TP
  1214. X\fBT\fP
  1215. XTag current article for mailing ('m') / piping ('|') / printing ('o') /
  1216. Xsaving ('s') / crossposting ('x').
  1217. X.TP
  1218. X\fBv\fP
  1219. XPrint tin version information.
  1220. X.TP
  1221. X\fBw\fP
  1222. XPost an article to current group.
  1223. X.TP
  1224. X\fBW\fP
  1225. XList articles posted by user.  The date posted, the newsgroup and the
  1226. Xsubject are listed.
  1227. X.TP
  1228. X\fBx\fP
  1229. XCrosspost already posted current article / thread / 
  1230. Xauto selected (hot) articles / articles matching pattern / 
  1231. Xtagged articles to another newsgroup(s).  Useful for reposting
  1232. Xfrom global to local newsgroups.
  1233. X.TP
  1234. X\fBz\fP
  1235. XMark article as unread.
  1236. X.TP
  1237. X\fB/\fP
  1238. XArticle forward search.
  1239. X.TP
  1240. X\fB?\fP
  1241. XArticle backward search
  1242. X.TP
  1243. X\fB|\fP
  1244. XPipe current article / thread / auto selected (hot) articles / 
  1245. Xarticles matching pattern / tagged articles into command.
  1246. X.TP
  1247. X\fB<\fP
  1248. XGoto the first article in the current thread.
  1249. X.TP
  1250. X\fB>\fP
  1251. XGoto the last article in the current thread.
  1252. X.TP
  1253. X\fB*\fP
  1254. XSelect current thread for later processing.
  1255. X.TP
  1256. X\fB.\fP
  1257. XToggle selection of current article.
  1258. X.TP
  1259. X\fB@\fP
  1260. XReverse article selections.
  1261. X.TP
  1262. X\fB~\fP
  1263. XUndo all selections on current thread.
  1264. X.SH "OPTIONS MENU"
  1265. XThis menu is accessed by pressing 'M' at all levels.  It allows the user
  1266. Xto customize the behaviour of tin.  The options are saved to the file
  1267. X\fI$HOME/.tin/tinrc\fP.  Use <SPACE> to toggle the required option and
  1268. X<CR> to set.
  1269. X.TP 4
  1270. X\fBAuto save\fP
  1271. XAutomatically save articles/threads by ``Archive-name:'' line in article
  1272. Xheader and post process them if process type is not set to None.
  1273. X.TP
  1274. X\fBEditor offset\fP
  1275. XSet ON if the editor used for posting, follow-ups and bug reports has
  1276. Xthe capability of starting and positioning the cursor at a specified line
  1277. Xwithin a file.
  1278. X.TP
  1279. X\fBMark saved read\fP
  1280. XAllows saved articles/threads to be automatically marked as read. 
  1281. X.TP
  1282. X\fBConfirm Command\fP
  1283. XAllows certain commands (i.e. 'c' catchup) that require user confirmation
  1284. Xto be executed immediately if set OFF.
  1285. X.TP
  1286. X\fBDraw arrow\fP
  1287. XAllows groups/articles to be selected by an arrow '->' if set ON or
  1288. Xby an highlighted bar if set OFF.
  1289. X.TP
  1290. X\fBPrint header\fP
  1291. XThis allows the complete mail header or only the ``Subject:'' and ``From:''
  1292. Xfields to be output when printing articles.
  1293. X.TP
  1294. X\fBGoto 1st unread\fP
  1295. XThis allows the cursor to be placed at the first / last unread article
  1296. Xupon entering a newsgroup with unread news.
  1297. X.TP
  1298. X\fBScroll full page\fP
  1299. XIf set ON scrolling of groups/articles will be a full page at a time,
  1300. Xotherwise half a page at a time.
  1301. X.TP
  1302. X\fBCatchup on quit\fP
  1303. XIf set ON the user is asked when quitting if all groups read during the
  1304. Xcurrent session should be marked read.
  1305. X.TP
  1306. X\fBThread articles\fP
  1307. XIf set ON articles will be threaded in all groups (default), otherwise
  1308. Xarticles will be shown unthreaded.  If set ON but certain user specified
  1309. Xgroups are in \fI$HOME/.tin/unthread\fP, the specified groups will be
  1310. Xunthreaded and the rest will be threaded.
  1311. X.TP
  1312. X\fBShow only unread\fP
  1313. XIf set ON show only new/unread articles, otherwise show all articles.
  1314. X.TP
  1315. X\fBShow description\fP
  1316. XIf set ON show a short descriptive text for each displayed newsgroup.
  1317. XThe text used is taken from the $LIBDIR/newsgroups file.
  1318. X.TP
  1319. X\fBShow Author\fP
  1320. XIf set 'None' only the ``Subject:'' line will be displayed.  If set 'Addr'
  1321. X``Subject:'' line & the address part of the ``From:'' line are displayed.  If
  1322. Xset 'Name' ``Subject:'' line & the authors full name part of the ``From:''
  1323. Xline are displayed.  If set 'Both' ``Subject:'' line & all of the ``From:'' line
  1324. Xare displayed.
  1325. X.TP
  1326. X\fBProcess type\fP
  1327. XThis specifies the default type of post processing to perform on saved
  1328. Xarticles.  The following types of processing are allowed:
  1329. X.in +.5i
  1330. X.ti -\w'\(em'u
  1331. X\(emnone.
  1332. X.ti -\w'\(em'u
  1333. X\(emunpacking of multi-part shell archives.
  1334. X.ti -\w'\(em'u
  1335. X\(emunpacking of multi-part uuencoded files.
  1336. X.ti -\w'\(em'u
  1337. X\(emunpacking of multi-part uuencoded files that produce a *.zoo archive
  1338. Xwhose contents is listed.
  1339. X.ti -\w'\(em'u
  1340. X\(emunpacking of multi-part uuencoded files that produce a *.zoo archive
  1341. Xwhose contents is extracted.
  1342. X.in -.5i
  1343. X.TP
  1344. X\fBSort articles by\fP
  1345. XThis specifies how articles should be sorted.  The following sort
  1346. Xtypes are allowed:
  1347. X.in +.5i
  1348. X.ti -\w'\(em'u
  1349. X\(emdon't sort articles (default).
  1350. X.ti -\w'\(em'u
  1351. X\(emsort articles by ``Subject:'' field (ascending & descending).
  1352. X.ti -\w'\(em'u
  1353. X\(emsort articles by ``From:'' field (ascending & descending).
  1354. X.ti -\w'\(em'u
  1355. X\(emsort articles by ``Date:'' field (ascending & descending).
  1356. X.in -.5i
  1357. X.TP
  1358. X\fBSave directory\fP
  1359. XThe directory where articles/threads are to be saved.  Default is
  1360. X\fI$HOME/News\fP.
  1361. X.TP
  1362. X\fBMail directory\fP
  1363. XThe directory where articles/threads are to be saved in mailbox format.
  1364. XThis feature is mainly for use with the Elm mail program.  It allows
  1365. Xthe user to save articles/threads/groups simply by giving '=' as
  1366. Xthe filename to save to.
  1367. X.TP
  1368. X\fBPrinter\fP
  1369. XThe printer program with options that is to be used to print
  1370. Xarticles.  Default is lpr for BSD machines and lp for SysV machines.
  1371. X.SH "KILL ARTICLE MENU"
  1372. XThis menu is accessed by pressing '^K' at the group and page levels.  It
  1373. Xallows the user to kill an article that matches the current ``Subject:''
  1374. Xline, ``From:'' line or a string entered by the user.  The user entered string
  1375. Xcan be applied to the ``Subject:'' or ``From:'' lines of an article.  The kill
  1376. Xdescription can be limited to the current newsgroup or it can apply to all newsgroups.
  1377. XOnce entered the user can abort the command and not save the kill
  1378. Xdescription, edit the kill file or save the kill description.
  1379. X.PP
  1380. XOn starting tin the users killfile \fI$HOME/.tin/kill\fP is read and
  1381. Xon entering a newsgroup any kill descriptions are applied.  Articles
  1382. Xthat match a kill description are marked killed and are not displayed.
  1383. X.SH "POSTING ARTICLES"
  1384. XTin allows posting of articles, follow-up to already posted articles
  1385. Xand replying direct through mail to the author of an article.
  1386. X.PP
  1387. XUse the 'w' command to post an article to a newsgroup.  After entering
  1388. Xthe post subject the default editor (i.e. vi) or the editor specified
  1389. Xby the $VISUAL environment variable will be started and the article can
  1390. Xbe entered.  To crosspost articles simply add a comma and the name of
  1391. Xthe newsgroup(s) to the end of the ``Newsgroups:'' line at the beginning of
  1392. Xthe article.  After saving and exiting the editor you are asked if you
  1393. Xwish to a)bort posting the article, e)dit the article again or p)ost
  1394. Xthe article to the specified newsgroup(s).
  1395. X.PP
  1396. XUse the 'W' command to display a history of the articles you have posted.
  1397. XThe date the article was posted, which newsgroups the article was
  1398. Xposted to and the articles subject line are displayed.
  1399. X.PP
  1400. XUse the 'f' / 'F' command to post a follow-up article to an already
  1401. Xposted article.  The 'F' command will copy the text of the original
  1402. Xarticle into the editor.  The editing procedure is the same as when
  1403. Xposting an article with the 'w' command.
  1404. X.PP
  1405. XUse the 'r' / 'R' command to reply direct through mail to the author
  1406. Xof an already posted article.  The 'R' command will copy the text of
  1407. Xthe original article into the editor.  The editing procedure is the
  1408. Xsame as when posting an article with the 'w' command.  After saving
  1409. Xand exiting the editor you are asked if you wish to a)bort sending
  1410. Xthe article, e)dit the article again or s)end the article to the
  1411. Xauthor.
  1412. X.SH "MAILING PIPING PRINTING REPOSTING AND SAVING ARTICLES"
  1413. XThe command interface to mail ('m'), pipe ('|'), print ('o'),
  1414. Xcrosspost ('x') and save ('s') articles is the same for ease of use.
  1415. X.PP
  1416. XThe initial command will ask you to select which a)rticle, t)hread,
  1417. Xh)ot (auto selected) r)egex pattern, t)agged articles you wish to
  1418. Xmail, pipe etc.
  1419. X.PP
  1420. XTagged articles must have already been tagged with the 'T' command.
  1421. XAll tagged articles can be untagged by the 'U' untag command.
  1422. X.PP
  1423. XIf regex pattern matching is selected you are asked to enter a regular
  1424. Xexpression (i.e. to match all articles subject lines containing 'net News'
  1425. Xyou must enter '*net News*').  Any articles that match the
  1426. Xentered expression will be mailed, piped etc.
  1427. X.PP
  1428. XTo save articles to a mailbox with the name of the current newsgroup
  1429. X(i.e. Alt.sources) enter '=' or '=<mailbox name>' when asked for the
  1430. Xsave filename.
  1431. X.PP
  1432. XTo save articles in <newsgroup name>/<filename> format enter '+<filename>'.
  1433. X.PP
  1434. XWhen saving articles you can specify whether the saved files should be
  1435. Xpost processed (i.e. unshar shell archive, uudecode multiple parts etc).
  1436. XA default process type can be set by the 'Process type:' in the 'M'
  1437. Xoptions menu.
  1438. X.SH "AUTOMATIC MAILING AND SAVING NEW NEWS"
  1439. XTin allows new/unread news articles to be mailed (-M option)/saved
  1440. X(-S option) in batch mode for later reading.  Useful when going on
  1441. Xholiday and you don't want to return and find that expire has removed a
  1442. Xwhole load of unread articles.  Best to run from crontab everyday while away,
  1443. Xafter which you will be mailed a report of which articles were mailed/saved
  1444. Xfrom which newsgroups and the total number of articles mailed/saved.
  1445. XArticles are saved in a private news structure under your <savedir> directory
  1446. X(default is \fI$HOME/News\fP).  Be careful of using this option if you read a
  1447. Xlot of groups because you could overflow your filesystem.  If you only want to
  1448. Xsave a few groups it would be best to backup your full \fI$HOME/.newsrc\fP and
  1449. Xcreate a new one that only contains the newsgroups you want to mail/save.
  1450. XSaved news can be read later by starting tin with the -R option.
  1451. X.PP
  1452. Xtin -M iain -f newsrc.mail (mail any unread articles in newgroups specified
  1453. Xin file newsrc.mail)
  1454. X.PP
  1455. Xtin -S -f newsrc.save (save any unread articles in newgroups specified
  1456. Xin file newsrc.save)
  1457. X.PP
  1458. Xtin -R (read any unread articles saved by tin -S option)
  1459. X.SH SIGNATURES
  1460. XTin will recognize a signature in either \fI$HOME/.signature\fP or
  1461. X\fI$HOME/.Sig\fP.  If \fI$HOME/.signature\fP exists, then the signature
  1462. Xwill be pulled into the editor for Tin mail commands.  A signature in
  1463. X\fI$HOME/.signature\fP will not be pulled into the editor for posting
  1464. Xcommands since the inews program will append the signature itself.
  1465. X.PP
  1466. XA signature in \fI$HOME/.Sig\fP will be pulled into the editor for both
  1467. Xposting and mailing commands.
  1468. X.PP
  1469. XThe following is an example of a \fI$HOME/.Sig\fP file:
  1470. X.RS
  1471. X.nf
  1472. X.ft CW
  1473. XNAME   Iain Lea
  1474. XEMAIL  iain%anl433.uucp@Germany.EU.net
  1475. XSNAIL  Bruecken Strasse 12, 8500 Nuernberg 90, Germany
  1476. XPHONE  +49-911-331963 (home)  +49-911-3089-407 (work)
  1477. X.ft P
  1478. X.fi
  1479. X.RE
  1480. X.SH "ENVIROMENT VARIABLES"
  1481. X.TP
  1482. X\fBTINDIR\fP
  1483. XDefine this variable if you do not want tin's .tin directory in $HOME/.tin.
  1484. X(i.e. if you want all tin's private files in /tmp/.tin you would set
  1485. XTINDIR to contain /tmp.
  1486. X.TP
  1487. X\fBNNTPSERVER\fP
  1488. XThe default NNTP server to remotely read news from.  This variable only
  1489. Xneeds to be set if the -r command line option is specified and the file
  1490. X\fI/etc/nntpserver\fP does not exist.
  1491. X.TP
  1492. X\fBDISTRIBUTION\fP
  1493. XSet the article header field ``Distribution:'' to the contents of the
  1494. Xvariable instead of the system default.
  1495. X.TP
  1496. X\fBORGANIZATION\fP
  1497. XSet the article header field ``Organization:'' to the contents of the
  1498. Xvariable instead of the system default.  This variable has precedence
  1499. Xover the file \fI$HOME/.tin/organization\fP that may also contain an
  1500. Xorganization string.  If reading news on an Apollo DomainOS machine
  1501. Xthe environment variable NEWSORG has to be used instead of ORGANIZATION.
  1502. X.TP
  1503. X\fBREPLYTO\fP
  1504. XSet the article header field ``Reply-To:'' to the return address specified
  1505. Xby the variable.
  1506. XThis is useful if the machine is not registered in the UUCP mail maps
  1507. Xor if you wish to recieve replies at a different machine.
  1508. XThis variable has precedence over the file \fI$HOME/.tin/replyto\fP
  1509. Xthat may also contain a return address.
  1510. X.TP
  1511. X\fBADD_ADDRESS\fP
  1512. XThis can contain an address to append to the return address when replying
  1513. Xdirectly through mail to somebody whose mail address is not directly
  1514. Xrecognized by the local host.  For example say the return address is
  1515. X\fIuser@bigvax\fP, but \fIbigvax\fP is not recognized by your host, so
  1516. Xtherfore the mail will not reach \fIuser\fP.  But the host \fIlittevax\fP
  1517. Xis known to recognize your host and \fIbigvax\fP, so if ADD_ADDRESS is set
  1518. X(i.e. 'setenv ADD_ADDRESS @littevax' for csh or 'set ADD_ADDRESS @littevax'
  1519. Xand 'export ADD_ADDRESS' for sh) the address \fIuser@bigvax@littlevax\fP will
  1520. Xbe used and the mail will reach \fIuser@bigvax\fP.
  1521. XThis variable has precedence over the file \fI$HOME/.tin/add_address\fP
  1522. Xthat may also contain an address.
  1523. X.TP
  1524. X\fBBUG_ADDRESS\fP
  1525. XIf the 'B' command bug report mail address is not correct this variable should be
  1526. Xset to the correct mail address.  This variable has precedence over the file
  1527. X\fI$HOME/.tin/bug_address\fP that may also contain a mail address.
  1528. X.TP
  1529. X\fBMAILER\fP
  1530. XThis variable has precedence over the default mailer that is used in all
  1531. Xmailing operations within tin (i.e. replying 'rR', and bug reports 'B').
  1532. X.TP
  1533. X\fBVISUAL\fP
  1534. XThis variable has precedence over the default editor (i.e. vi) that is
  1535. Xused in all editing operations within tin (i.e. posting 'w', replying 'rR',
  1536. Xfollow-ups 'fF' and bug reports 'B').
  1537. X.SH "TIPS AND TRICKS"
  1538. XThe following newsgroups provide useful information concerning news software:
  1539. X.in +.5i
  1540. X.ti -\w'\(em'u
  1541. X\(emnews.software.readers (info. about news user agents tin,rn,nn,vn etc.)
  1542. X.ti -\w'\(em'u
  1543. X\(emnews.software.nntp (info. about NNTP)
  1544. X.ti -\w'\(em'u
  1545. X\(emnews.software.b (info. about news transport agents Bnews & Cnews)
  1546. X.ti -\w'\(em'u
  1547. X\(emnews.answers (Frequently Asked Questions (FAQ) about many different themes)
  1548. X.PP
  1549. XMany prompts (i.e. 'Mark everything as read? (y/n): y') within tin 
  1550. Xoffer a default choice that the cursor is positioned on.  By pressing
  1551. X<CR> the default value is taken.
  1552. X.PP
  1553. XWhen tin is run in an xterm window it will resize itself each time the xterm
  1554. Xis resized.
  1555. X.PP
  1556. XTin will reread the active file at set intervals to show any new news.
  1557. X.SH FILES
  1558. X.TP 2i
  1559. X$HOME/.newsrc
  1560. Xsubscribed to newgroups.
  1561. X.TP 2i
  1562. X$HOME/.tin/tinrc
  1563. Xoptions.
  1564. X.TP 2i
  1565. X$HOME/.tin/.index
  1566. Xnewsgroup index files directory.
  1567. X.TP 2i
  1568. X$HOME/.tin/add_address
  1569. Xaddress to add to when replying through mail.
  1570. X.TP 2i
  1571. X$HOME/.tin/active
  1572. Xused by -n option for notifying user of new groups.
  1573. X.TP 2i
  1574. X$HOME/.tin/bug_address
  1575. Xaddress to send bug reports to.
  1576. X.TP 2i
  1577. X$HOME/.tin/kill
  1578. Xkill file.
  1579. X.TP 2i
  1580. X$HOME/.tin/organization
  1581. Xstring to replace default organization.
  1582. X.TP 2i
  1583. X$HOME/.tin/posted
  1584. Xhistory of articles posted by user.
  1585. X.TP 2i
  1586. X$HOME/.tin/replyto
  1587. Xhost address to use in ``Reply-To:'' mail header.
  1588. X.TP 2i
  1589. X$HOME/.tin/unthread
  1590. Xcontains groups that are not to be threaded.
  1591. X.TP 2i
  1592. X$HOME/.signature
  1593. Xsignature.
  1594. X.TP 2i
  1595. X$HOME/.Sig
  1596. Xsignature.
  1597. X.SH BUGS
  1598. XThere are bugs somewhere among the creeping featurism.  Any bugs found
  1599. Xshould be reported by the 'B' (bug report) command.
  1600. X.PP
  1601. XWill not uudecode some of the images in alt.binaries.pictures because
  1602. Xmore than one image is in the multi-part file to uudecode.  Only the
  1603. Xfirst image will be uudecoded.
  1604. X.PP
  1605. XDoes not yet handle ``Xref:'' headers for cross-posted articles.
  1606. X.SH HISTORY
  1607. XBased on the tass newsreader that was developed by Rich Skrenta and posted
  1608. Xto alt.sources in March 1991.  Tass was itself heavily infleuenced by NOTES
  1609. Xwhich was developed at the University of Illinois by Ray Essick and
  1610. XRob Kolstad in 1982.
  1611. X.PP
  1612. XTin v1.00 (full distribution) was posted in 8 parts to alt.sources on 23 Aug 1991.
  1613. X.br
  1614. XTin v1.0 PL1 (full distribution) was posted in 8 parts to alt.sources on 03 Sep 1991.
  1615. X.br
  1616. XTin v1.0 PL2 (full distribution) was posted in 9 parts to alt.sources on 24 Sep 1991.
  1617. X.br
  1618. XTin v1.0 PL3 (patch) was posted in 4 parts to alt.sources on 30 Sep 1991.
  1619. X.br
  1620. XTin v1.0 PL4 (patch) was posted in 2 parts to alt.sources on 02 Oct 1991.
  1621. X.br
  1622. XTin v1.0 PL5 (patch) was posted in 4 parts to alt.sources on 17 Oct 1991.
  1623. X.br
  1624. XTin v1.0 PL6 (patch) was posted in 5 parts to alt.sources on 27 Nov 1991.
  1625. X.br
  1626. XTin v1.0 PL7 (patch) was posted in 2 parts to alt.sources on 27 Nov 1991.
  1627. X.br
  1628. XTin v1.1 PL0 (full distribution) was posted in 11 parts to alt.sources on 13 Feb 1992.
  1629. X.br
  1630. XTin v1.1 PL1 (full distribution) was posted in 12 parts to alt.sources on 24 Mar 1992.
  1631. X.br
  1632. XTin v1.1 PL2 (patch) was posted in 4 parts to alt.sources on 30 Mar 1992.
  1633. X.br
  1634. XTin v1.1 PL3 (full distribution) was posted in 15 parts to alt.sources on 13 May 1992.
  1635. X.br
  1636. XTin v1.1 PL4 (full distribution) was posted in 15 parts to alt.sources on 22 Jun 1992.
  1637. X.SH CREDITS
  1638. X.TP
  1639. XRich Skrenta
  1640. Xauthor of tass v3.2 which this newsreader used as its base.
  1641. X.TP
  1642. XDave Taylor
  1643. Xauthor of curses.c from the elm mailreader.
  1644. X.TP
  1645. XRich Salz
  1646. Xauthor of wildmat.c pattern matching routine.
  1647. X.TP
  1648. XChris Thewalt
  1649. Xauthor of getline.c emacs style editing routine.
  1650. X.TP
  1651. XDieter Becker
  1652. Xfor generously posting certain versions and patches for me when my net
  1653. Xconnection was removed by a group of very short sighted people.
  1654. X.PP
  1655. XI wish to thank the following people for supplying patchs:
  1656. X.PP
  1657. XAnton Aylward, Paul Bauwens, Dieter Becker, Dan Berry, Marc Boucher, Leila Burrell-Davis, 
  1658. XRobert Claeson, Steven Cogswell, Ned Danieley, Chris Davies, Brent Ermlick,
  1659. XCallum Gibson, Carl Hage, Paul Halsema, Ed Hanway, Daniel Hermans, Tom Hite, Torsten Homeyer,
  1660. XNelson Kading, Fritz Kleeman, Karl-Koenig Koenigsson, Kris Kugel, Hakan Lennestal,
  1661. XClifford Luke, Michael Faurot, David MacKenzie, James Nugen, Jeb Palmer, Tom Parry,
  1662. XBill Poitras, Wolfgang Prediger, Jim Robinson, Stephen Roseman, Nickolay Saukh,
  1663. XRich Salz, John Sauter, Bart Sears, Karl-Olav Serrander, Doug Sewell, Cliff Stanford,
  1664. XSteve Starck, Michael Traub, Adri Verhoef, Paul Vickers, Cary Whitney, Greg Woods, 
  1665. XLloyd Wright
  1666. X.PP
  1667. XI wish to thank the following people for bug reports/comments:
  1668. X.PP
  1669. XKlaus Arzig, Scott Babb, Reiner Balling, Preston Bannister, Bill de Beabien,
  1670. XVolker Beyer, Etienne Bido, Roger Binns, Georg Biehler, Jean-Marc Bonnaudet,
  1671. XSean Brady, Ian Brown, Andreas Brosig, Tom Czarnik, David Donovan, Peter Dressler, 
  1672. XGerhard Ermer, Hugh Fader, Joachim Feld, Paul Fox, Bernhard Gmelch, Viet Hoang,
  1673. XAndy Jackson, Joe Johnson, Cyrill Jung, Kuo-Chein Kai, Hans-Juergen Knopp,
  1674. XBernhard Kroenung, Murray Laing, Marty Leisner, Per Lindqvist, Bob Lukas,
  1675. XKazushi Marukawa, Phillip Molloy, Toni Metz, Greg Miller, Klaus Neuberger, 
  1676. XOtto Niesser, Reiner Oelhaf, Alex Pakter, John Palkovic, Wolf Paul, Andrew Phillips,
  1677. XStefan Rathmann, Ted Richards, David Ross, Jonas Rwgmyr, Daemon Schaefer, John Schmitz,
  1678. XDean Schrimpf, Klamer Schutte, Fredy Schwatz, Bernd Schwerin, Chris Smith, 
  1679. XDaniel Smith, Steve Spearman, Hironobu Takahashi, Ken Taylor, Tony Travis, 
  1680. XSven Werner, G. Woodbury, Orest Zboroski
  1681. X.SH AUTHOR
  1682. X.TP
  1683. XIain Lea
  1684. X(iain%anl433.uucp@Germany.EU.net)
  1685. END_OF_FILE
  1686.   if test 40703 -ne `wc -c <'tin.1'`; then
  1687.     echo shar: \"'tin.1'\" unpacked with wrong size!
  1688.   fi
  1689.   # end of 'tin.1'
  1690. fi
  1691. echo shar: End of archive 1 \(of 15\).
  1692. cp /dev/null ark1isdone
  1693. MISSING=""
  1694. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ; do
  1695.     if test ! -f ark${I}isdone ; then
  1696.     MISSING="${MISSING} ${I}"
  1697.     fi
  1698. done
  1699. if test "${MISSING}" = "" ; then
  1700.     echo You have unpacked all 15 archives.
  1701.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1702. else
  1703.     echo You still must unpack the following archives:
  1704.     echo "        " ${MISSING}
  1705. fi
  1706. exit 0
  1707. exit 0 # Just in case...
  1708.