home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume31 / tin / patch05g < prev    next >
Encoding:
Text File  |  1992-08-16  |  33.3 KB  |  1,006 lines

  1. Newsgroups: comp.sources.misc
  2. From: iain%anl433.uucp@Germany.EU.net (Iain Lea)
  3. Subject:  v31i086:  tin - threaded full screen newsreader v1.1, Patch05g/7
  4. Message-ID: <1992Aug16.012805.12948@sparky.imd.sterling.com>
  5. X-Md4-Signature: e0a9b0028c19b33b58ea50d40e560f06
  6. Date: Sun, 16 Aug 1992 01:28:05 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 86
  11. Archive-name: tin/patch05g
  12. Environment: BSD, SCO, ISC, SUNOS, SYSVR3, SYSVR4, ULTRIX, XENIX
  13. Patch-To: tin: Volume 31, Issue 1-15
  14.  
  15. #!/bin/sh
  16. # this is patch-1.15.shar.07 (part 7 of tin-1.15)
  17. # do not concatenate these parts, unpack them in order with /bin/sh
  18. # file tin-1.15.patch continued
  19. #
  20. if test ! -r _shar_seq_.tmp; then
  21.     echo 'Please unpack part 1 first!'
  22.     exit 1
  23. fi
  24. (read Scheck
  25.  if test "$Scheck" != 7; then
  26.     echo Please unpack part "$Scheck" next!
  27.     exit 1
  28.  else
  29.     exit 0
  30.  fi
  31. ) < _shar_seq_.tmp || exit 1
  32. if test ! -f _shar_wnt_.tmp; then
  33.     echo 'x - still skipping tin-1.15.patch'
  34. else
  35. echo 'x - continuing file tin-1.15.patch'
  36. sed 's/^X//' << 'SHAR_EOF' >> 'tin-1.15.patch' &&
  37. X  .ds ]W \*(mo \n(dy, 19\n(yr
  38. X  .nh
  39. X  .SH NAME
  40. --- 17,23 ----
  41. X  .if \n(mo=10 .ds mo October
  42. X  .if \n(mo=11 .ds mo November
  43. X  .if \n(mo=12 .ds mo December
  44. ! .TH TIN 1 "Version 1.1 PL5" "" "LOCAL"
  45. X  .ds ]W \*(mo \n(dy, 19\n(yr
  46. X  .nh
  47. X  .SH NAME
  48. ***************
  49. *** 77,87 ****
  50. X  mail unread articles to specified user for later reading.  For more
  51. X  information read section Automatic Mailing and Saving New News. 
  52. X  .TP
  53. - .B -n
  54. - notify the user of any newly created newsgroups since the last session.
  55. - .TP
  56. X  .BI -p " file"
  57. ! print program with options.\fP.
  58. X  .TP
  59. X  .B -r
  60. X  read news remotely from the default NNTP server specified in the
  61. --- 77,87 ----
  62. X  mail unread articles to specified user for later reading.  For more
  63. X  information read section Automatic Mailing and Saving New News. 
  64. X  .TP
  65. X  .BI -p " file"
  66. ! print program with options.
  67. ! .TP
  68. ! .BI -q
  69. ! quick start without checking for new newsgroups.
  70. X  .TP
  71. X  .B -r
  72. X  read news remotely from the default NNTP server specified in the
  73. ***************
  74. *** 117,123 ****
  75. X  in login file.
  76. X  .TP
  77. X  .B -Z
  78. ! check if there is any new/unread news and exit with appropiate status.
  79. X  If -v option is specified the number of unread articles in each group
  80. X  is printed.  An exit code 0 indicates no news, 1 that an error occurred
  81. X  and 2 that new/unread news exists.  Useful for writing scripts.
  82. --- 117,123 ----
  83. X  in login file.
  84. X  .TP
  85. X  .B -Z
  86. ! check if there is any new/unread news and exit with appropriate status.
  87. X  If -v option is specified the number of unread articles in each group
  88. X  is printed.  An exit code 0 indicates no news, 1 that an error occurred
  89. X  and 2 that new/unread news exists.  Useful for writing scripts.
  90. ***************
  91. *** 168,174 ****
  92. X  This has the advantage that there will only be one copy of the index files on
  93. X  the NNTP server for the whole of your network and tin clients must not be
  94. X  setuid news, but the disadvantage is that you will have to install my NNTP
  95. ! server patches to allow tin to retreive index file from your NNTP server and 
  96. X  and you must install an entry in the cron batcher system to have tind 
  97. X  regularly update index files (Note that this is the method we use on our
  98. X  network of 40-50 machines and have not had any problems).
  99. --- 168,174 ----
  100. X  This has the advantage that there will only be one copy of the index files on
  101. X  the NNTP server for the whole of your network and tin clients must not be
  102. X  setuid news, but the disadvantage is that you will have to install my NNTP
  103. ! server patches to allow tin to retrieve index file from your NNTP server and 
  104. X  and you must install an entry in the cron batcher system to have tind 
  105. X  regularly update index files (Note that this is the method we use on our
  106. X  network of 40-50 machines and have not had any problems).
  107. ***************
  108. *** 194,201 ****
  109. X  statistics.
  110. X  .PP
  111. X  A user starting tin for the first time can be automatically subscribed to a
  112. ! list of newsgroups that are deemed appropiate by the news administrator.  At
  113. ! our site the subscriptions file has 125 groups (our active file conatains
  114. X  over 400 groups with many only being marginally interesting to most people).
  115. X  The subscriptions file should be created in your news lib directory (i.e.
  116. X  /usr/lib/news/subscriptions) and should have file permissions set to 0644.
  117. --- 194,201 ----
  118. X  statistics.
  119. X  .PP
  120. X  A user starting tin for the first time can be automatically subscribed to a
  121. ! list of newsgroups that are deemed appropriate by the news administrator.  At
  122. ! our site the subscriptions file has 125 groups (our active file contains
  123. X  over 400 groups with many only being marginally interesting to most people).
  124. X  The subscriptions file should be created in your news lib directory (i.e.
  125. X  /usr/lib/news/subscriptions) and should have file permissions set to 0644.
  126. ***************
  127. *** 308,314 ****
  128. X  .PP
  129. X  .TP 10
  130. X  \fB^A,^E\fP
  131. ! move to beginnning or end of line, respectively.
  132. X  .TP
  133. X  \fB^F,^B\fP
  134. X  nondestructive move forward or back one location, respectively.
  135. --- 308,314 ----
  136. X  .PP
  137. X  .TP 10
  138. X  \fB^A,^E\fP
  139. ! move to beginning or end of line, respectively.
  140. X  .TP
  141. X  \fB^F,^B\fP
  142. X  nondestructive move forward or back one location, respectively.
  143. ***************
  144. *** 353,359 ****
  145. X  Read current group.
  146. X  .TP
  147. X  \fB<TAB>\fP
  148. ! View next unread group.
  149. X  .TP
  150. X  \fBB\fP
  151. X  Mail a bug report or comment to the author.  This is the best way of
  152. --- 353,360 ----
  153. X  Read current group.
  154. X  .TP
  155. X  \fB<TAB>\fP
  156. ! View next group withg unread news. Will wrap around to the beginning of the
  157. ! group selection list looking for unread groups.
  158. X  .TP
  159. X  \fBB\fP
  160. X  Mail a bug report or comment to the author.  This is the best way of
  161. ***************
  162. *** 400,405 ****
  163. --- 401,410 ----
  164. X  \fBQ\fP
  165. X  Quit tin.
  166. X  .TP
  167. + \fBr\fP
  168. + Toggle display of all subscribed to groups and just the subscribed to groups 
  169. + containing unread articles.
  170. + .TP
  171. X  \fBs\fP
  172. X  Subscribe to current group.
  173. X  .TP
  174. ***************
  175. *** 503,510 ****
  176. X  Mark all articles as read with confirmation.
  177. X  .TP
  178. X  \fBC\fP
  179. ! Cancel current article.  It must have been posted by the same user.  The
  180. ! cancel message can be seen in the newsgroup 'control'.
  181. X  .TP
  182. X  \fBd\fP
  183. X  Toggle display to show just the subject or the subject and author.
  184. --- 508,514 ----
  185. X  Mark all articles as read with confirmation.
  186. X  .TP
  187. X  \fBC\fP
  188. ! Mark all articles as read and goto next group with unread news.
  189. X  .TP
  190. X  \fBd\fP
  191. X  Toggle display to show just the subject or the subject and author.
  192. ***************
  193. *** 619,625 ****
  194. X  \fB*\fP
  195. X  Select current thread for later processing.
  196. X  .TP
  197. ! \fB.\fP
  198. X  Toggle selection of current thread. If at least one unread art,
  199. X  but not all unread arts, in thread is selected, then all unread
  200. X  arts become selected.
  201. --- 623,629 ----
  202. X  \fB*\fP
  203. X  Select current thread for later processing.
  204. X  .TP
  205. ! \fB\.\fP
  206. X  Toggle selection of current thread. If at least one unread art,
  207. X  but not all unread arts, in thread is selected, then all unread
  208. X  arts become selected.
  209. ***************
  210. *** 668,673 ****
  211. --- 672,681 ----
  212. X  \fBc\fP
  213. X  Mark thread as read after confirmation and return to previous level.
  214. X  .TP
  215. + \fBC\fP
  216. + Cancel current article.  It must have been posted by the same user.  The
  217. + cancel message can be seen in the newsgroup 'control'.
  218. + .TP
  219. X  \fBd\fP
  220. X  Toggle display to show just the subject or the subject and author.
  221. X  .TP
  222. ***************
  223. *** 853,859 ****
  224. X  \fB*\fP
  225. X  Select current thread for later processing.
  226. X  .TP
  227. ! \fB.\fP
  228. X  Toggle selection of current article.
  229. X  .TP
  230. X  \fB@\fP
  231. --- 861,867 ----
  232. X  \fB*\fP
  233. X  Select current thread for later processing.
  234. X  .TP
  235. ! \fB\.\fP
  236. X  Toggle selection of current article.
  237. X  .TP
  238. X  \fB@\fP
  239. ***************
  240. *** 861,867 ****
  241. X  .TP
  242. X  \fB~\fP
  243. X  Undo all selections on current thread.
  244. ! .SH "OPTIONS MENU"
  245. X  This menu is accessed by pressing 'M' at all levels.  It allows the user
  246. X  to customize the behaviour of tin.  The options are saved to the file
  247. X  \fI$HOME/.tin/tinrc\fP.  Use <SPACE> to toggle the required option and
  248. --- 869,875 ----
  249. X  .TP
  250. X  \fB~\fP
  251. X  Undo all selections on current thread.
  252. ! .SH "GLOBAL OPTIONS MENU"
  253. X  This menu is accessed by pressing 'M' at all levels.  It allows the user
  254. X  to customize the behaviour of tin.  The options are saved to the file
  255. X  \fI$HOME/.tin/tinrc\fP.  Use <SPACE> to toggle the required option and
  256. ***************
  257. *** 968,985 ****
  258. X  \fBPrinter\fP
  259. X  The printer program with options that is to be used to print
  260. X  articles.  Default is lpr for BSD machines and lp for SysV machines.
  261. ! .SH "KILL ARTICLE MENU"
  262. X  This menu is accessed by pressing '^K' at the group and page levels.  It
  263. ! allows the user to kill an article that matches the current ``Subject:''
  264. ! line, ``From:'' line or a string entered by the user.  The user entered string
  265. ! can be applied to the ``Subject:'' or ``From:'' lines of an article.  The kill
  266. ! description can be limited to the current newsgroup or it can apply to all newsgroups.
  267. ! Once entered the user can abort the command and not save the kill
  268. ! description, edit the kill file or save the kill description.
  269. X  .PP
  270. X  On starting tin the users killfile \fI$HOME/.tin/kill\fP is read and
  271. ! on entering a newsgroup any kill descriptions are applied.  Articles
  272. ! that match a kill description are marked killed and are not displayed.
  273. X  .SH "POSTING ARTICLES"
  274. X  Tin allows posting of articles, follow-up to already posted articles
  275. X  and replying direct through mail to the author of an article.
  276. --- 976,1047 ----
  277. X  \fBPrinter\fP
  278. X  The printer program with options that is to be used to print
  279. X  articles.  Default is lpr for BSD machines and lp for SysV machines.
  280. ! .SH "GROUP ATTRIBUTES"
  281. ! Tin allows certain attributes to be set on a per group basis. These
  282. ! group attributes are read from the file \fI$HOME/.tin/attributes\fP.
  283. ! A later version of Tin will provide a menu interface to set all the
  284. ! attributes. At present you will have to edit the file with your 
  285. ! editor :-(. The following group attributes are available:
  286. ! .RS
  287. ! .nf
  288. ! .ft CW
  289. ! newsgroup=alt.sources
  290. ! maildir=/usr/iain/Mail/sources
  291. ! savedir=/usr/iain/News/alt.sources
  292. ! sigfile=/usr/iain/.funny_sig
  293. ! followup_to=alt.sources.d
  294. ! auto_save=ON
  295. ! batch_save=ON
  296. ! show_only_unread=ON
  297. ! thread_arts=ON
  298. ! show_author=1
  299. ! sort_art_type=5
  300. ! post_proc_type=1
  301. ! .ft P
  302. ! .fi
  303. ! .RE
  304. ! Note that the ''newsgroup=<groupname>'' line has to be specified 
  305. ! before the attributes are specified for that group.
  306. ! .PP
  307. ! All attributes are set to a reasonable default so you only have to
  308. ! specify the attribute that you want to change (ie. savedir).
  309. ! .PP
  310. ! All toggle attributes are set by specifying ON/OFF. 
  311. ! .PP
  312. ! The show_author attribute is specified by a number from the following 
  313. ! range: 0=none, 1=username, 2=network address, 3=both.
  314. ! .PP
  315. ! The sort_art_type attribute is specified by a number from the following 
  316. ! range: 0=none, 1=subject descending, 2=subject ascending, 3=from descending, 
  317. ! 4=from ascending, 5=date descending, 6=date ascending.
  318. ! .PP
  319. ! The post_proc_type attribute is specified by a number from the following 
  320. ! range: 0=none, 1=shar, 2=uudecode, 3=uudecode & list zoo, 4=uudecode & 
  321. ! extract zoo.
  322. ! .SH "AUTOMATIC KILL AND SELECTION"
  323. ! When there is a subject or an author which you are either very
  324. ! interested in, or find completely uninteresting, you can easily
  325. ! instruct \fITin\fP to \fIauto-select\fP or \fIauto-kill\fP articles
  326. ! with specific subjects or from specific authors.  These instructions
  327. ! are stored in a \fIkill file\fP.
  328. ! .PP
  329. X  This menu is accessed by pressing '^K' at the group and page levels.  It
  330. ! allows the user to kill or select an article that matches the current 
  331. ! ``Subject:'' line, ``From:'' line or a string entered by the user.  
  332. ! The user entered string can be applied to the ``Subject:'' or ``From:'' 
  333. ! lines of an article.  The kill description can be limited to the current 
  334. ! newsgroup or it can apply to all newsgroups. Once entered the user can 
  335. ! abort the command and not save the kill description, edit the kill file 
  336. ! or save the kill description.
  337. X  .PP
  338. X  On starting tin the users killfile \fI$HOME/.tin/kill\fP is read and
  339. ! on entering a newsgroup any kill or select descriptions are applied.  
  340. ! .PP
  341. ! Articles that match a kill description are marked killed and are not 
  342. ! displayed. Articles that match an auto-select description are marked 
  343. ! with a ''*'' when displayed.
  344. X  .SH "POSTING ARTICLES"
  345. X  Tin allows posting of articles, follow-up to already posted articles
  346. X  and replying direct through mail to the author of an article.
  347. ***************
  348. *** 1055,1061 ****
  349. X  tin -S -f newsrc.save (save any unread articles in newgroups specified
  350. X  in file newsrc.save)
  351. X  .PP
  352. ! tin -R (read any unread articles saved by tin -S option)
  353. X  .SH SIGNATURES
  354. X  Tin will recognize a signature in either \fI$HOME/.signature\fP or
  355. X  \fI$HOME/.Sig\fP.  If \fI$HOME/.signature\fP exists, then the signature
  356. --- 1117,1123 ----
  357. X  tin -S -f newsrc.save (save any unread articles in newgroups specified
  358. X  in file newsrc.save)
  359. X  .PP
  360. ! tin -R (read any articles saved by tin -S option)
  361. X  .SH SIGNATURES
  362. X  Tin will recognize a signature in either \fI$HOME/.signature\fP or
  363. X  \fI$HOME/.Sig\fP.  If \fI$HOME/.signature\fP exists, then the signature
  364. ***************
  365. *** 1104,1110 ****
  366. X  Set the article header field ``Reply-To:'' to the return address specified
  367. X  by the variable.
  368. X  This is useful if the machine is not registered in the UUCP mail maps
  369. ! or if you wish to recieve replies at a different machine.
  370. X  This variable has precedence over the file \fI$HOME/.tin/replyto\fP
  371. X  that may also contain a return address.
  372. X  .TP
  373. --- 1166,1172 ----
  374. X  Set the article header field ``Reply-To:'' to the return address specified
  375. X  by the variable.
  376. X  This is useful if the machine is not registered in the UUCP mail maps
  377. ! or if you wish to receive replies at a different machine.
  378. X  This variable has precedence over the file \fI$HOME/.tin/replyto\fP
  379. X  that may also contain a return address.
  380. X  .TP
  381. ***************
  382. *** 1113,1119 ****
  383. X  directly through mail to somebody whose mail address is not directly
  384. X  recognized by the local host.  For example say the return address is
  385. X  \fIuser@bigvax\fP, but \fIbigvax\fP is not recognized by your host, so
  386. ! therfore the mail will not reach \fIuser\fP.  But the host \fIlittevax\fP
  387. X  is known to recognize your host and \fIbigvax\fP, so if ADD_ADDRESS is set
  388. X  (i.e. 'setenv ADD_ADDRESS @littevax' for csh or 'set ADD_ADDRESS @littevax'
  389. X  and 'export ADD_ADDRESS' for sh) the address \fIuser@bigvax@littlevax\fP will
  390. --- 1175,1181 ----
  391. X  directly through mail to somebody whose mail address is not directly
  392. X  recognized by the local host.  For example say the return address is
  393. X  \fIuser@bigvax\fP, but \fIbigvax\fP is not recognized by your host, so
  394. ! therefore the mail will not reach \fIuser\fP.  But the host \fIlittevax\fP
  395. X  is known to recognize your host and \fIbigvax\fP, so if ADD_ADDRESS is set
  396. X  (i.e. 'setenv ADD_ADDRESS @littevax' for csh or 'set ADD_ADDRESS @littevax'
  397. X  and 'export ADD_ADDRESS' for sh) the address \fIuser@bigvax@littlevax\fP will
  398. ***************
  399. *** 1162,1167 ****
  400. --- 1224,1232 ----
  401. X  $HOME/.tin/tinrc
  402. X  options.
  403. X  .TP 2i
  404. + $HOME/.tin/attributes
  405. + contains user specified group attributes.
  406. + .TP 2i
  407. X  $HOME/.tin/.index
  408. X  newsgroup index files directory.
  409. X  .TP 2i
  410. ***************
  411. *** 1168,1176 ****
  412. X  $HOME/.tin/add_address
  413. X  address to add to when replying through mail.
  414. X  .TP 2i
  415. - $HOME/.tin/active
  416. - used by -n option for notifying user of new groups.
  417. - .TP 2i
  418. X  $HOME/.tin/bug_address
  419. X  address to send bug reports to.
  420. X  .TP 2i
  421. --- 1233,1238 ----
  422. ***************
  423. *** 1186,1194 ****
  424. X  $HOME/.tin/replyto
  425. X  host address to use in ``Reply-To:'' mail header.
  426. X  .TP 2i
  427. - $HOME/.tin/unthread
  428. - contains groups that are not to be threaded.
  429. - .TP 2i
  430. X  $HOME/.signature
  431. X  signature.
  432. X  .TP 2i
  433. --- 1248,1253 ----
  434. ***************
  435. *** 1205,1211 ****
  436. X  Does not yet handle ``Xref:'' headers for cross-posted articles.
  437. X  .SH HISTORY
  438. X  Based on the tass newsreader that was developed by Rich Skrenta and posted
  439. ! to alt.sources in March 1991.  Tass was itself heavily infleuenced by NOTES
  440. X  which was developed at the University of Illinois by Ray Essick and
  441. X  Rob Kolstad in 1982.
  442. X  .PP
  443. --- 1264,1270 ----
  444. X  Does not yet handle ``Xref:'' headers for cross-posted articles.
  445. X  .SH HISTORY
  446. X  Based on the tass newsreader that was developed by Rich Skrenta and posted
  447. ! to alt.sources in March 1991.  Tass was itself heavily influenced by NOTES
  448. X  which was developed at the University of Illinois by Ray Essick and
  449. X  Rob Kolstad in 1982.
  450. X  .PP
  451. ***************
  452. *** 1234,1239 ****
  453. --- 1293,1300 ----
  454. X  Tin v1.1 PL3 (full distribution) was posted in 15 parts to alt.sources on 13 May 1992.
  455. X  .br
  456. X  Tin v1.1 PL4 (full distribution) was posted in 15 parts to alt.sources on 22 Jun 1992.
  457. + .br
  458. + Tin v1.1 PL5 (patch) was posted in 7 parts to alt.sources on 11 Aug 1992.
  459. X  .SH CREDITS
  460. X  .TP
  461. X  Rich Skrenta
  462. ***************
  463. *** 1254,1267 ****
  464. X  .PP
  465. X  I wish to thank the following people for supplying patchs:
  466. X  .PP
  467. ! Anton Aylward, Paul Bauwens, Dieter Becker, Dan Berry, Marc Boucher, Leila Burrell-Davis, 
  468. ! Robert Claeson, Steven Cogswell, Ned Danieley, Chris Davies, Brent Ermlick,
  469. ! Callum Gibson, Carl Hage, Paul Halsema, Ed Hanway, Daniel Hermans, Tom Hite, Torsten Homeyer,
  470. ! Nelson Kading, Fritz Kleeman, Karl-Koenig Koenigsson, Kris Kugel, Hakan Lennestal,
  471. ! Clifford Luke, Michael Faurot, David MacKenzie, James Nugen, Jeb Palmer, Tom Parry,
  472. ! Bill Poitras, Wolfgang Prediger, Jim Robinson, Stephen Roseman, Nickolay Saukh,
  473. ! Rich Salz, John Sauter, Bart Sears, Karl-Olav Serrander, Doug Sewell, Cliff Stanford,
  474. ! Steve Starck, Michael Traub, Adri Verhoef, Paul Vickers, Cary Whitney, Greg Woods, 
  475. X  Lloyd Wright
  476. X  .PP
  477. X  I wish to thank the following people for bug reports/comments:
  478. --- 1315,1331 ----
  479. X  .PP
  480. X  I wish to thank the following people for supplying patchs:
  481. X  .PP
  482. ! Anton Aylward, Paul Bauwens, Dieter Becker, Dan Berry, Marc Boucher, 
  483. ! Leila Burrell-Davis, Peter Castro, Robert Claeson, Steven Cogswell, 
  484. ! Don Costello, Ned Danieley, Chris Davies, Craig Durland, Kirk Edson, Rob Engle, 
  485. ! Brent Ermlick, Callum Gibson, Carl Hage, Paul Halsema, Ed Hanway, Scott Hauck,
  486. ! Daniel Hermans, Tom Hite, Torsten Homeyer, Nelson Kading, Fritz Kleeman, 
  487. ! Karl-Koenig Koenigsson, Kris Kugel, Alex Lange, Hakan Lennestal, Clifford Luke,
  488. ! Michael Faurot, David MacKenzie, James Nugen, Jeb Palmer, Tom Parry, 
  489. ! Bill Poitras, Wolfgang Prediger, Jim Robinson, Stephen Roseman, 
  490. ! Nickolay Saukh, Rich Salz, John Sauter, Bart Sears, Karl-Olav Serrander, 
  491. ! Doug Sewell, Steve Spearman, Cliff Stanford, Steve Starck, Mark Tomlin,
  492. ! Michael Traub, Adri Verhoef, Paul Vickers, Cary Whitney, Greg Woods, 
  493. X  Lloyd Wright
  494. X  .PP
  495. X  I wish to thank the following people for bug reports/comments:
  496. ***************
  497. *** 1268,1283 ****
  498. X  .PP
  499. X  Klaus Arzig, Scott Babb, Reiner Balling, Preston Bannister, Bill de Beabien,
  500. X  Volker Beyer, Etienne Bido, Roger Binns, Georg Biehler, Jean-Marc Bonnaudet,
  501. ! Sean Brady, Ian Brown, Andreas Brosig, Tom Czarnik, David Donovan, Peter Dressler, 
  502. ! Gerhard Ermer, Hugh Fader, Joachim Feld, Paul Fox, Bernhard Gmelch, Viet Hoang,
  503. ! Andy Jackson, Joe Johnson, Cyrill Jung, Kuo-Chein Kai, Hans-Juergen Knopp,
  504. ! Bernhard Kroenung, Murray Laing, Marty Leisner, Per Lindqvist, Bob Lukas,
  505. ! Kazushi Marukawa, Phillip Molloy, Toni Metz, Greg Miller, Klaus Neuberger, 
  506. ! Otto Niesser, Reiner Oelhaf, Alex Pakter, John Palkovic, Wolf Paul, Andrew Phillips,
  507. ! Stefan Rathmann, Ted Richards, David Ross, Jonas Rwgmyr, Daemon Schaefer, John Schmitz,
  508. ! Dean Schrimpf, Klamer Schutte, Fredy Schwatz, Bernd Schwerin, Chris Smith, 
  509. ! Daniel Smith, Steve Spearman, Hironobu Takahashi, Ken Taylor, Tony Travis, 
  510. ! Sven Werner, G. Woodbury, Orest Zboroski
  511. X  .SH AUTHOR
  512. X  .TP
  513. X  Iain Lea
  514. --- 1332,1348 ----
  515. X  .PP
  516. X  Klaus Arzig, Scott Babb, Reiner Balling, Preston Bannister, Bill de Beabien,
  517. X  Volker Beyer, Etienne Bido, Roger Binns, Georg Biehler, Jean-Marc Bonnaudet,
  518. ! Sean Brady, Ian Brown, Andreas Brosig, Craig Bruce, Tom Czarnik, David Donovan,
  519. ! Peter Dressler, Gerhard Ermer, Hugh Fader, Joachim Feld, Paul Fox, Jay Geertsen,
  520. ! Bernhard Gmelch, Viet Hoang, Andy Jackson, Joe Johnson, Cyrill Jung, Kuo-Chein Kai,
  521. ! Hans-Juergen Knopp, Tom Kovar, Bernhard Kroenung, Murray Laing, Marty Leisner,
  522. ! Per Lindqvist, Eric Litman, Bob Lukas, Michael Marshall, Kazushi Marukawa, 
  523. ! Phillip Molloy, Toni Metz, Greg Miller, Deeptendu Majumder, Klaus Neuberger, 
  524. ! Otto Niesser, Reiner Oelhaf, Alex Pakter, John Palkovic, Wolf Paul, Andrew Phillips, 
  525. ! Stefan Rathmann, Ted Richards, David Ross, Jonas Rwgmyr, Daemon Schaefer, 
  526. ! John Schmitz, Dean Schrimpf, Klamer Schutte, Fredy Schwatz, Dave Schweisguth, 
  527. ! Bernd Schwerin, Chris Smith, Daniel Smith, Hironobu Takahashi, Ken Taylor, 
  528. ! Tony Travis, Paul Verket, Sven Werner, Paul Wood, Gregory Woodbury, Orest Zboroski
  529. X  .SH AUTHOR
  530. X  .TP
  531. X  Iain Lea
  532. diff -rcs ../1.14/tin.h ./tin.h
  533. *** ../1.14/tin.h    Tue Aug 11 21:23:27 1992
  534. --- ./tin.h    Sat Aug  8 15:42:36 1992
  535. ***************
  536. *** 3,9 ****
  537. X   *  Module    : tin.h
  538. X   *  Author    : I.Lea & R.Skrenta
  539. X   *  Created   : 01-04-91
  540. !  *  Updated   : 22-06-92
  541. X   *  Notes     : #include files, #defines & struct's
  542. X   *  Copyright : (c) Copyright 1991-92 by Iain Lea & Rich Skrenta
  543. X   *              You may  freely  copy or  redistribute  this software,
  544. --- 3,9 ----
  545. X   *  Module    : tin.h
  546. X   *  Author    : I.Lea & R.Skrenta
  547. X   *  Created   : 01-04-91
  548. !  *  Updated   : 08-08-92
  549. X   *  Notes     : #include files, #defines & struct's
  550. X   *  Copyright : (c) Copyright 1991-92 by Iain Lea & Rich Skrenta
  551. X   *              You may  freely  copy or  redistribute  this software,
  552. ***************
  553. *** 17,30 ****
  554. X  #include    <errno.h>
  555. X  #ifdef apollo
  556. X  #    include </bsd4.3/usr/include/sys/types.h>
  557. X  #else
  558. X  #    include <sys/types.h>
  559. X  #endif
  560. - #include    <sys/stat.h>
  561. X  #include    <pwd.h>
  562. X  #include    <ctype.h>
  563. X  #include    <time.h>
  564. ! #if !defined(apollo) && !defined(__NeXT__)
  565. X  #    include    <unistd.h>
  566. X  #endif
  567. X  
  568. --- 17,33 ----
  569. X  #include    <errno.h>
  570. X  #ifdef apollo
  571. X  #    include </bsd4.3/usr/include/sys/types.h>
  572. + #    include </bsd4.3/usr/include/sys/stat.h>
  573. + #    include </bsd4.3/usr/include/time.h>
  574. X  #else
  575. X  #    include <sys/types.h>
  576. + #    include    <sys/stat.h>
  577. + #    include    <time.h>
  578. X  #endif
  579. X  #include    <pwd.h>
  580. X  #include    <ctype.h>
  581. X  #include    <time.h>
  582. ! #if !defined(__NeXT__) && !defined(apollo) && !defined(gould) && !defined(mips)
  583. X  #    include    <unistd.h>
  584. X  #endif
  585. X  
  586. ***************
  587. *** 32,38 ****
  588. X  #    include    <strings.h>
  589. X  #    include    <fcntl.h>
  590. X  #else
  591. ! #    ifndef apollo
  592. X  #        include    <stdlib.h>
  593. X  #    endif
  594. X  #    include    <string.h>
  595. --- 35,41 ----
  596. X  #    include    <strings.h>
  597. X  #    include    <fcntl.h>
  598. X  #else
  599. ! #    if !defined(apollo) && !defined(sysV68) && !defined(UTS)
  600. X  #        include    <stdlib.h>
  601. X  #    endif
  602. X  #    include    <string.h>
  603. ***************
  604. *** 58,64 ****
  605. X   * Needed for catching child processes
  606. X   */
  607. X  
  608. ! #ifdef SIGCHLD
  609. X  #    include    <sys/wait.h>
  610. X  #endif
  611. X  
  612. --- 61,67 ----
  613. X   * Needed for catching child processes
  614. X   */
  615. X  
  616. ! #if defined(SIGCHLD) && !defined(apollo)
  617. X  #    include    <sys/wait.h>
  618. X  #endif
  619. X  
  620. ***************
  621. *** 66,73 ****
  622. X   * Needed for resizing under an xterm
  623. X   */
  624. X  
  625. ! #if defined(SIGWINCH)
  626. ! #    ifndef SCO_UNIX
  627. X  #        include <termios.h>
  628. X  #    endif
  629. X  #    if !defined(TIOCGWINSZ) && !defined(TIOCGSIZE)
  630. --- 69,76 ----
  631. X   * Needed for resizing under an xterm
  632. X   */
  633. X  
  634. ! #if defined(SIGWINCH) && !defined(__NeXT__)
  635. ! #    ifdef SVR4
  636. X  #        include <termios.h>
  637. X  #    endif
  638. X  #    if !defined(TIOCGWINSZ) && !defined(TIOCGSIZE)
  639. ***************
  640. *** 144,151 ****
  641. X  #    if defined(sony)
  642. X  typedef int sigtype_t;
  643. X  #    else
  644. ! #        if __STDC__ || defined(SVR4) || defined(sinix) || defined(sun) || \
  645. !            defined(ultrix) || defined(atthcx) || defined(PTX) || defined(sgi)
  646. X  typedef void sigtype_t;
  647. X  #        else
  648. X  typedef int sigtype_t;
  649. --- 147,156 ----
  650. X  #    if defined(sony)
  651. X  typedef int sigtype_t;
  652. X  #    else
  653. ! #        if __STDC__ || defined(atthcx) || defined(PTX) || \
  654. !            defined(RS6000) || defined(sgi) || defined(sinix) || \
  655. !            defined(sysV68) || defined(sun) || defined(SVR4) || \
  656. !            defined(ultrix)
  657. X  typedef void sigtype_t;
  658. X  #        else
  659. X  typedef int sigtype_t;
  660. ***************
  661. *** 172,178 ****
  662. X   */
  663. X  
  664. X  #ifdef BSD
  665. ! #    if defined(_SEQUENT_) || defined(pyr)
  666. X  #        define        memcmp(s1, s2, n)    bcmp(s2, s1, n)
  667. X  #    endif
  668. X  #    define        strchr(str, ch)    index(str, ch)
  669. --- 177,183 ----
  670. X   */
  671. X  
  672. X  #ifdef BSD
  673. ! #    if defined(sequent) || defined(pyr)
  674. X  #        define        memcmp(s1, s2, n)    bcmp(s2, s1, n)
  675. X  #    endif
  676. X  #    define        strchr(str, ch)    index(str, ch)
  677. ***************
  678. *** 181,196 ****
  679. X  #    define        DEFAULT_PRINTER    "/usr/ucb/lpr"
  680. X  #    define        DEFAULT_SUM    "sum"
  681. X  #    ifdef DGUX
  682. - #        define        DEFAULT_MAILER    "/bin/mail"
  683. X  #        define        DEFAULT_MAILBOX    "/usr/mail"
  684. X  #        define        POSIX_JOB_CONTROL
  685. X  #        define        USE_INVERSE_HACK
  686. X  #    endif
  687. X  #    ifdef pyr
  688. ! #        define        DEFAULT_MAILER    "/usr/.attbin/mailx"
  689. X  #    endif
  690. X  #    ifndef DEFAULT_MAILER
  691. ! #        define        DEFAULT_MAILER    "/usr/ucb/Mail"
  692. X  #    endif
  693. X  #    ifndef DEFAULT_MAILBOX
  694. X  #        define        DEFAULT_MAILBOX    "/usr/spool/mail"
  695. --- 186,200 ----
  696. X  #    define        DEFAULT_PRINTER    "/usr/ucb/lpr"
  697. X  #    define        DEFAULT_SUM    "sum"
  698. X  #    ifdef DGUX
  699. X  #        define        DEFAULT_MAILBOX    "/usr/mail"
  700. X  #        define        POSIX_JOB_CONTROL
  701. X  #        define        USE_INVERSE_HACK
  702. X  #    endif
  703. X  #    ifdef pyr
  704. ! #        define        DEFAULT_MAILER    "/usr/.ucbbin/mail"
  705. X  #    endif
  706. X  #    ifndef DEFAULT_MAILER
  707. ! #        define        DEFAULT_MAILER    "/usr/lib/sendmail"
  708. X  #    endif
  709. X  #    ifndef DEFAULT_MAILBOX
  710. X  #        define        DEFAULT_MAILBOX    "/usr/spool/mail"
  711. ***************
  712. *** 199,234 ****
  713. X  #        define USE_LONG_FILENAMES
  714. X  #    endif
  715. X  #else
  716. ! #    ifdef M_XENIX
  717. ! #        define        DEFAULT_EDITOR    "/bin/vi"
  718. ! #        define        DEFAULT_MAILER    "/usr/bin/mail"
  719. ! #        define        DEFAULT_MAILBOX    "/usr/spool/mail"
  720. ! #    endif
  721. ! #    if defined(NCR) || defined(atthcx) || defined(HPUX)
  722. X  #        define        DEFAULT_MAILER    "/usr/bin/mailx"
  723. X  #    endif
  724. ! #    ifdef PTX
  725. ! #        define        DEFAULT_MAILER    "/usr/bin/mailx"
  726. X  #        ifndef USE_LONG_FILENAMES
  727. X  #            define    USE_LONG_FILENAMES
  728. X  #        endif
  729. X  #    endif
  730. X  #    ifdef RS6000
  731. X  #        define        DEFAULT_MAILER    "/usr/bin/mail"
  732. X  #        define        DEFAULT_PRINTER    "/bin/lp"
  733. X  #    endif
  734. X  #    ifdef sinix
  735. - #        define        DEFAULT_MAILER    "/bin/rmail"
  736. X  #        define        DEFAULT_PRINTER    "/bin/lpr"
  737. ! #        ifndef USE_LONG_FILENAMES
  738. ! #            define USE_LONG_FILENAMES
  739. ! #        endif
  740. X  #    endif
  741. X  #    ifdef SVR4
  742. X  #        define        POSIX_JOB_CONTROL
  743. - #        ifndef USE_LONG_FILENAMES
  744. - #            define    USE_LONG_FILENAMES
  745. - #        endif
  746. X  #    endif
  747. X  #    ifdef UNIXPC
  748. X  #        define        DEFAULT_MAILER    "/bin/rmail"
  749. --- 203,235 ----
  750. X  #        define USE_LONG_FILENAMES
  751. X  #    endif
  752. X  #else
  753. ! #    if defined(NCR) || defined(atthcx) || defined(HPUX) || defined(PTX) || \
  754. !        defined(sinix)
  755. X  #        define        DEFAULT_MAILER    "/usr/bin/mailx"
  756. X  #    endif
  757. ! #    if defined(PTX) || defined(RS6000) || defined(SVR4) || defined(sinix) || \
  758. !        defined(AUX)
  759. X  #        ifndef USE_LONG_FILENAMES
  760. X  #            define    USE_LONG_FILENAMES
  761. X  #        endif
  762. X  #    endif
  763. + #    ifdef M_XENIX
  764. + #        define        DEFAULT_EDITOR    "/bin/vi"
  765. + #        define        DEFAULT_MAILER    "/usr/bin/mail"
  766. + #        define        DEFAULT_MAILBOX    "/usr/spool/mail"
  767. + #    endif
  768. X  #    ifdef RS6000
  769. X  #        define        DEFAULT_MAILER    "/usr/bin/mail"
  770. X  #        define        DEFAULT_PRINTER    "/bin/lp"
  771. X  #    endif
  772. X  #    ifdef sinix
  773. X  #        define        DEFAULT_PRINTER    "/bin/lpr"
  774. ! #    endif
  775. ! #    ifdef sysV68
  776. ! #        define        DEFAULT_MAILER    "/bin/rmail"
  777. X  #    endif
  778. X  #    ifdef SVR4
  779. X  #        define        POSIX_JOB_CONTROL
  780. X  #    endif
  781. X  #    ifdef UNIXPC
  782. X  #        define        DEFAULT_MAILER    "/bin/rmail"
  783. ***************
  784. *** 268,279 ****
  785. X  #endif
  786. X  
  787. X  /*
  788. !  * Should active file be rereaf for new news & if so how often
  789. X   */
  790. X   
  791. ! #ifndef NO_RESYNC_ACTIVE_FILE
  792. ! #    ifndef RESYNC_ACTIVE_SECS
  793. ! #        define    RESYNC_ACTIVE_SECS    300    /* reread active every n secs */
  794. X  #    endif
  795. X  #endif
  796. X  
  797. --- 269,280 ----
  798. X  #endif
  799. X  
  800. X  /*
  801. !  * Should active file be reread for new news & if so how often
  802. X   */
  803. X   
  804. ! #ifndef NO_REREAD_ACTIVE_FILE
  805. ! #    ifndef REREAD_ACTIVE_FILE_SECS
  806. ! #        define    REREAD_ACTIVE_FILE_SECS    300    /* seconds */
  807. X  #    endif
  808. X  #endif
  809. X  
  810. ***************
  811. *** 286,301 ****
  812. --- 287,307 ----
  813. X  #    define        DEFAULT_ARTICLE_NUM    400    
  814. X  #    define        DEFAULT_KILL_NUM    10    
  815. X  #    define        DEFAULT_SAVE_NUM    10    
  816. + #    define        DEFAULT_SPOOLDIR_NUM    5    
  817. + #    define        DEFAULT_ACTIVE_SIZE_NUM    5    
  818. X  #else
  819. X  #    define        DEFAULT_ACTIVE_NUM    1800    
  820. X  #    define        DEFAULT_ARTICLE_NUM    1200    
  821. X  #    define        DEFAULT_KILL_NUM    30    
  822. X  #    define        DEFAULT_SAVE_NUM    30    
  823. + #    define        DEFAULT_SPOOLDIR_NUM    10    
  824. + #    define        DEFAULT_ACTIVE_SIZE_NUM    10    
  825. X  #endif
  826. X  
  827. X  #define        RCDIR            ".tin"
  828. X  #define        RCFILE            "tinrc"
  829. X  #define        INDEXDIR        ".index"
  830. + #define        ACTIVEDIR        ".active"
  831. X  #define        KILLFILE        "kill"
  832. X  #define        POSTFILE        "posted"
  833. X  #define        UNTHREADFILE    "unthread"
  834. ***************
  835. *** 390,400 ****
  836. X   */
  837. X   
  838. X  #define        SORT_BY_NOTHING            0        /* sort types on arts[] array */
  839. ! #define        SORT_BY_SUBJ_DESCEND    1
  840. X  #define        SORT_BY_SUBJ_ASCEND        2
  841. ! #define        SORT_BY_FROM_DESCEND    3
  842. X  #define        SORT_BY_FROM_ASCEND        4
  843. ! #define        SORT_BY_DATE_DESCEND    5
  844. X  #define        SORT_BY_DATE_ASCEND        6
  845. X  
  846. X  #define        SHOW_FROM_NONE            0
  847. --- 396,406 ----
  848. X   */
  849. X   
  850. X  #define        SORT_BY_NOTHING            0        /* sort types on arts[] array */
  851. ! #define        SORT_BY_SUBJ_DESCEND        1
  852. X  #define        SORT_BY_SUBJ_ASCEND        2
  853. ! #define        SORT_BY_FROM_DESCEND        3
  854. X  #define        SORT_BY_FROM_ASCEND        4
  855. ! #define        SORT_BY_DATE_DESCEND        5
  856. X  #define        SORT_BY_DATE_ASCEND        6
  857. X  
  858. X  #define        SHOW_FROM_NONE            0
  859. ***************
  860. *** 470,476 ****
  861. X  
  862. X  #define        ART_READ        0
  863. X  #define        ART_UNREAD        1
  864. ! #define        ART_WILL_RETURN    2
  865. X  
  866. X  /*
  867. X   * used by group_t & my_group[]
  868. --- 476,482 ----
  869. X  
  870. X  #define        ART_READ        0
  871. X  #define        ART_UNREAD        1
  872. ! #define        ART_WILL_RETURN        2
  873. X  
  874. X  /*
  875. X   * used by group_t & my_group[]
  876. ***************
  877. *** 477,483 ****
  878. X   */
  879. X   
  880. X  #define        UNSUBSCRIBED    0x01    /* haven't put in my_group[] yet */
  881. ! #define        SUBSCRIBED        0x02    /* subscribed to */
  882. X  
  883. X  /*
  884. X   * kill_type used in struct kill_t
  885. --- 483,489 ----
  886. X   */
  887. X   
  888. X  #define        UNSUBSCRIBED    0x01    /* haven't put in my_group[] yet */
  889. ! #define        SUBSCRIBED    0x02    /* subscribed to */
  890. X  
  891. X  /*
  892. X   * kill_type used in struct kill_t
  893. ***************
  894. *** 571,588 ****
  895. X   */
  896. X  
  897. X  struct attribute_t {
  898. !     char *server;            /* read group locally/via nntp server */
  899. !     char *maildir;            /* mail dir if other than ~/Mail */
  900. !     char *savedir;            /* save dir if other than ~/News */
  901. !     char *sigfile;            /* sig file if other than ~/.Sig */
  902. !     unsigned int read:1;        /* marked TRUE if group was entered during session */
  903. !     unsigned int showall:1;        /* 0 = only unread, 1 = all */
  904. !     unsigned int thread:1;        /* 0 = unthread, 1 = thread */
  905. !     unsigned int sortby:4;        /* 0 = none, 1 = , 2 = , 3 = , 4 = , */
  906. !     unsigned int author:4;        /* 0 = none, 1 = name, 2 = addr, 3 = both */
  907. !     unsigned int autosave:1;    /* 0 = none, 1 = save */
  908. !     unsigned int process:4;        /* 0 = none, 1 = shar, 2 = uudecode, 
  909. !                          3 = uud & list zoo, 4 = uud & ext zoo*/
  910. X  };
  911. X  
  912. X  /*
  913. --- 577,597 ----
  914. X   */
  915. X  
  916. X  struct attribute_t {
  917. !     char *maildir;                /* mail dir if other than ~/Mail */
  918. !     char *savedir;                /* save dir if other than ~/News */
  919. !     char *sigfile;                /* sig file if other than ~/.Sig */
  920. !     char *followup_to;            /* where posts should be redirected */
  921. !     unsigned int read_during_session:1;    /* marked TRUE if group entered during session */
  922. !     unsigned int auto_save:1;        /* 0=none, 1=save */
  923. !     unsigned int batch_save:1;        /* 0=none, 1=save -S/mail -M  */
  924. !     unsigned int show_only_unread:1;    /* 0=all, 1=only unread */
  925. !     unsigned int thread_arts:1;        /* 0=unthread, 1=thread */
  926. !     unsigned int show_author:4;        /* 0=none, 1=name, 2=addr, 3=both */
  927. !     unsigned int sort_art_type:4;        /* 0=none, 1=subj descend, 2=subj ascend, 
  928. !                            3=from descend, 4=from ascend,
  929. !                            5=date descend, 6=date ascend */
  930. !     unsigned int post_proc_type:4;        /* 0=none, 1=shar, 2=uudecode, 
  931. !                              3=uud & list zoo, 4=uud & ext zoo*/
  932. X  };
  933. X  
  934. X  /*
  935. ***************
  936. *** 596,602 ****
  937. X      long min;
  938. X      char moderated;
  939. X      int next;            /* next active entry in hash chain */
  940. !     int flag;
  941. X      struct attribute_t attribute;    /* per group attributes */ 
  942. X  };
  943. X  
  944. --- 605,612 ----
  945. X      long min;
  946. X      char moderated;
  947. X      int next;            /* next active entry in hash chain */
  948. !     int my_group;            /* subscribed/unsubscribed to group */
  949. !     int unread;            /* unread articles in group */
  950. X      struct attribute_t attribute;    /* per group attributes */ 
  951. X  };
  952. X  
  953. ***************
  954. *** 654,663 ****
  955. --- 664,686 ----
  956. X      char art_mark;    /* mark to use for this thread - not used for groups */
  957. X  };
  958. X  
  959. + /*
  960. +  * Used by spooldir command
  961. +  */
  962. +  
  963. X  struct spooldir_t {
  964. X      int state;
  965. X      char *name;
  966. X      char *comment;
  967. + };
  968. + /*
  969. +  * Used for auto-detecting changes in active file size on different news servers
  970. +  */
  971. +  
  972. + struct active_size_t {
  973. +     char *server;
  974. +     char *attribute;
  975. X  };
  976. X  
  977. X  /*
  978. Binary files ../1.14/tin.nrf and ./tin.nrf differ
  979. Only in .: tin.tar
  980. Files ../1.14/wildmat.3 and ./wildmat.3 are identical
  981. Files ../1.14/wildmat.c and ./wildmat.c are identical
  982. Files ../1.14/xindex.c and ./xindex.c are identical
  983. Files ../1.14/xuser.c and ./xuser.c are identical
  984. SHAR_EOF
  985. echo 'File tin-1.15.patch is complete' &&
  986. chmod 0644 tin-1.15.patch ||
  987. echo 'restore of tin-1.15.patch failed'
  988. Wc_c="`wc -c < 'tin-1.15.patch'`"
  989. test 386903 -eq "$Wc_c" ||
  990.     echo 'tin-1.15.patch: original size 386903, current size' "$Wc_c"
  991. rm -f _shar_wnt_.tmp
  992. fi
  993. rm -f _shar_seq_.tmp
  994. echo You have unpacked the last part
  995. exit 0
  996.  
  997. --
  998. NAME   Iain Lea 
  999. EMAIL  iain%anl433.uucp@Germany.EU.net
  1000. SNAIL  Siemens AG, ANL A433SZ, Gruendlacher Str. 248, 8510 Fuerth, Germany.
  1001. PHONE  +49-911-3089-407 (work) +49-911-331963 (home) +49-911-3089-290 (FAX)  
  1002. exit 0 # Just in case...
  1003.