home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume22 / nn6.4 / patch02 < prev    next >
Text File  |  1990-06-07  |  60KB  |  1,752 lines

  1. Subject:  v22i058:  NN newsreader, release 6.4, Patch2
  2. Newsgroups: comp.sources.unix
  3. Approved: rsalz@uunet.UU.NET
  4. X-Checksum-Snefru: ab5cc78b aeeb262b e087ae2f a4893924
  5.  
  6. Submitted-by: storm@texas.dk (Kim F. Storm)
  7. Posting-number: Volume 22, Issue 58
  8. Archive-name: nn6.4/patch2
  9.  
  10.  
  11.          This is an official patch to nn release 6.4
  12.          -------------------------------------------
  13.  
  14.                    PATCH #2
  15.  
  16.                 Priority: HIGH
  17.  
  18.  
  19. These patches fixes a number of bugs in the initial 6.4 release of nn
  20. as well as a problem introduced in patch #1 which caused 6.4.1 to dump
  21. core in some situations on some systems.  The changes are described in
  22. the updated RELEASE_NOTES file (read that for details about this patch).
  23. Thanks to all who reported bugs and provided fixes.
  24.  
  25. To apply this patch, use nn's :patch command, or run this command from
  26. the shell in the root of the nn source tree:
  27.     patch -p0 < this-article
  28.  
  29.  
  30. ++Kim Storm
  31.  
  32. *** ./LAST/Makefile    Wed May  2 19:14:00 1990
  33. --- Makefile    Tue May 15 16:58:37 1990
  34. ***************
  35. *** 66,72 ****
  36.       sed -e '1,/MAKE WILL CUT HERE/d' \
  37.           -e '/^#/d' \
  38.           -e '/^[ \f    ]$$/d' \
  39. !         -e '/^[ /]*[*]/d' | \
  40.       sed -n -e '/^..*$$/p' > ymakefile
  41.       rm -f MF.c
  42.   
  43. --- 66,72 ----
  44.       sed -e '1,/MAKE WILL CUT HERE/d' \
  45.           -e '/^#/d' \
  46.           -e '/^[ \f    ]$$/d' \
  47. !         -e '/^[ \/]*[*]/d' | \
  48.       sed -n -e '/^..*$$/p' > ymakefile
  49.       rm -f MF.c
  50.   
  51. *** ./LAST/answer.c    Tue May 15 13:31:00 1990
  52. --- answer.c    Mon May 14 15:32:46 1990
  53. ***************
  54. *** 730,736 ****
  55.       if (post_source_file) {
  56.       src = open_file(post_source_file, OPEN_READ);
  57.       if (src == NULL) {
  58. !         printf("File %s not found\n");
  59.           nn_exit(1);
  60.       }
  61.       }
  62. --- 730,736 ----
  63.       if (post_source_file) {
  64.       src = open_file(post_source_file, OPEN_READ);
  65.       if (src == NULL) {
  66. !         printf("File %s not found\n", post_source_file);
  67.           nn_exit(1);
  68.       }
  69.       }
  70. *** ./LAST/aux.sh    Tue May 15 13:31:01 1990
  71. --- aux.sh    Mon May 14 17:13:59 1990
  72. ***************
  73. *** 169,192 ****
  74.     esac
  75.   done
  76.   
  77. ! case "$OPERATION" in
  78. !   reply|forward|mail)
  79. !     if [ ${APPEND_SIG} = "true" -a -f $HOME/.signature ] ; then
  80. !       if ${QUERY_SIG} ; then
  81. !           ${AWK} 'END{printf "Append .signature? (y) "}' < /dev/null
  82. !           read ans
  83. !       else
  84. !           ans=y
  85. !       fi
  86. !       case $ans in
  87. !       ''|y*|Y*)
  88. !         echo "--" >> $WORK
  89. !         cat $HOME/.signature >> $WORK
  90. !         ;;
  91. !       esac
  92. !     fi
  93.       ;;
  94.     follow|post)
  95.       if ${NOVICE} ; then
  96.         echo "Be patient! Your new article will not show up immediately."
  97. --- 169,190 ----
  98.     esac
  99.   done
  100.   
  101. ! if [ ${APPEND_SIG} = "true" -a -f $HOME/.signature ] ; then
  102. !   if ${QUERY_SIG} ; then
  103. !     ${AWK} 'END{printf "Append .signature? (y) "}' < /dev/null
  104. !     read ans
  105. !   else
  106. !     ans=y
  107. !   fi
  108. !   case $ans in
  109. !   ''|y*|Y*)
  110. !     echo "--" >> $WORK
  111. !     cat $HOME/.signature >> $WORK
  112.       ;;
  113. +   esac
  114. + fi
  115. + case "$OPERATION" in
  116.     follow|post)
  117.       if ${NOVICE} ; then
  118.         echo "Be patient! Your new article will not show up immediately."
  119. *** ./LAST/conf/s-dynix3-0.h    Sat Mar 31 23:13:01 1990
  120. --- conf/s-dynix3-0.h    Mon May 14 15:32:47 1990
  121. ***************
  122. *** 2,7 ****
  123. --- 2,9 ----
  124.    *    This version is for Dynix 3.0 systems
  125.    */
  126.   
  127. + #define USE_STRINGS_H
  128.   #include "s-bsd4-2.h"
  129.   
  130.   #undef HAVE_MULTIGROUP
  131. + FILE *popen ();
  132. *** ./LAST/conf/s-sgi4D.h    Mon Apr 23 18:32:48 1990
  133. --- conf/s-sgi4D.h    Mon May 14 17:21:39 1990
  134. ***************
  135. *** 31,37 ****
  136.    */
  137.   
  138.   #undef    MAILX
  139. ! #define    MAILX        "/usr/bsd/Mail"
  140.   
  141.   /*
  142.    *    Define standard compiler flags here:
  143. --- 31,37 ----
  144.    */
  145.   
  146.   #undef    MAILX
  147. ! #define    MAILX        "/usr/sbin/Mail"
  148.   
  149.   /*
  150.    *    Define standard compiler flags here:
  151. *** ./LAST/config.h-dist    Sat May  5 18:48:13 1990
  152. --- config.h-dist    Mon May 14 17:13:57 1990
  153. ***************
  154. *** 61,66 ****
  155. --- 61,67 ----
  156.    *
  157.    *    If the file name does not start with a slash, it is relative to
  158.    *    LIB_DIRECTORY defined below.
  159. +  *    NOTE: If you plan to use the included inews, it MUST be a full pathname
  160.    */
  161.   
  162.   #define NNTP_SERVER    "/usr/lib/nntp_server"
  163. *** ./LAST/doc/RELEASE_NOTES    Tue May 15 13:31:02 1990
  164. --- doc/RELEASE_NOTES    Tue May 15 18:44:43 1990
  165. ***************
  166. *** 252,254 ****
  167. --- 252,465 ----
  168.       server, the incomplete active file is believed to be the complete
  169.       active file.  This causes nnmaster to remove the groups which didn't
  170.       get written to the active file.
  171. + Prog:    xmakefile
  172. + Title:    BSD make chokes on || form
  173. + From:    Paul Pomes <paul@uxc.cso.uiuc.edu>
  174. +     pete@eleazar.dartmouth.edu (Pete Schmitt)
  175. + Fixed:    Patch #2 [xmakefile]
  176. +     If man/nn.1 exists, then the [ ! -f man/nn.1 ] test exits non-zero.
  177. +     To prevent BSD make from choking on this, the test command should be
  178. +     prefixed with a '-' to have make ignore the non-zero status.
  179. + Prog:    inst
  180. + Title:    test -w cannot test directories
  181. + From:    Paul Pomes <paul@uxc.cso.uiuc.edu>
  182. +     Mark Nagel <nagel@wintermute.ICS.UCI.EDU>
  183. + Fixed:    Patch #2 [inst.sh -- omitted the check]
  184. +     In the inst.sh script, a check is made whether a directory is write-
  185. +     able by using test -w man/.  On BSD systems, this test applies only
  186. +     to files and not directories so it always fails.
  187. + Prog:    nnmaster
  188. + Title:    TERM signal not handled properly
  189. + From:    Paul Pomes <paul@uxc.cso.uiuc.edu>
  190. + Status:    I cannot reproduce this problem!
  191. +     
  192. +     When nnmaster is sent a TERM signal, it does not remove the MPID
  193. +     file.  The next invocation of nnmaster complains that nnmaster is
  194. +     already running, removes the MPID file, and then exits.  The next
  195. +     invocation will then succeed.
  196. + Prog:    nn
  197. + Title:    G to unknown group dumps core.
  198. + From:    dean@coplex.UUCP (Dean Brooks)
  199. + Fixed:    Patch #2 [group.c]
  200. +     NN 6.4.1 will dump core on our machine if you use the "G"
  201. +     command to go to a group that doesn't exist.
  202. + Prog:    nn
  203. + Title:    Start-up error messages disappears (xterm)
  204. + From:    jaap@sequent.uucp (Jaap Vermeulen)
  205. +     Error messages at startup time of 'nn' are unreadable (no time to
  206. +     read them :-) and in an xterm written in the alternate screen.
  207. + Prog:    nn - xterm
  208. + Title:    Mail command does not work well with xterm
  209. + From:    Jaap Vermeulen <jaap@sequent.uucp>
  210. +     I'm in menu mode, I 'M'ail an article, I do not edit it.
  211. +     When it mails nn reverts to the alternate screen (xterm) when done I
  212. +     lost the menu information, the only thing that gets redrawn is the
  213. +     status line (i.e. I end up with an emptry screen except for the
  214. +     status line). A ^L will fix this, of course.
  215. + Prog:    nn
  216. + Title:    Interrupt char doesn't work (CBREAK/DYNIX)
  217. + From:    Jaap Vermeulen <jaap@sequent.uucp>
  218. +     Interrupt (^C) does not work. ^G does work.
  219. +     'stty' tells me I'm really using interrupt (^C).
  220. +     (Problem is that SV_INTERRUPT is not defined on DYNIX, ++Kim)
  221. + Prog:    nn
  222. + Title:    y=YES n=NO is displayed to late
  223. + From:    Jaap Vermeulen <jaap@sequent.uucp>
  224. + Fixed:    Patch #2 [term.c]
  225. +     "y=YES n=NO" help is displayed too late on some systems (no flush).
  226. + Prog:    config.h
  227. + Title:    CLIENT_DIRECTORY overrides LIB_DIRECTORY
  228. + From:    Jaap Vermeulen <jaap@sequent.uucp>
  229. + Fixed:    Patch #2 [global.c]
  230. +     
  231. +     When I change CLIENT_DIRECTORY, LIB_DIRECTORY is also changed to
  232. +     CLIENT_DIRECTORY, which is, I assume, not the correct behavior.
  233. + Prog:    nn
  234. + Title:    G folder ... N dumps core
  235. + From:    Robert.Stockton@ELROND.GANDALF.CS.CMU.EDU + fix
  236. +     "Jason Molenda" <molenda@s1.msi.umn.edu>
  237. +     dean@coplex.uucp (Dean Brooks)
  238. +     olson%anchor.esd@sgi.com (Dave Olson)
  239. + Fixed:    Patch #2 [group.c]
  240. +     After installing patch 1 for 6.4 I get core dumps after reading
  241. +     folders.
  242. + Prog:    nn
  243. + Title:    First 'B' after startup will crash nn
  244. + From:    Jaap Vermeulen <jaap%sequent@relay.EU.net>
  245. + Fixed:    Patch #2 [group.c]
  246. +     Start nn, hit 'B', segmentation violation....
  247. + Prog:    nnmaster - expire
  248. + Title:    Expire may dump core if first group in active is empty. + fix
  249. + From:    olson%anchor.esd@sgi.com (Dave Olson)
  250. + Fixed:    Patch #2 [nntp.c]
  251. +     When using nntp, if the first group checked contains no articles, then
  252. +     art is still a null pointer, so the attempt to set *art = 0; causes a
  253. +     core dump on systems that don't allow de-referencing a null pointer.
  254. + Prog:    config.h
  255. + Title:    NNTP_SERVER must be full path is mini-inews is built + fix
  256. + From:    olson%anchor.esd@sgi.com (Dave Olson)
  257. + Fixed:    Patch #2 [config.h-dist]
  258. +     For config.h, when inews is going to built, one MUST use a full path
  259. +     for NNTP_SERVER define, or inews will not be able to find the file.
  260. + Prog:    nnmaster
  261. + Title:    Database gets corrupted
  262. + From:    olson%anchor.esd@sgi.com (Dave Olson)
  263. +     First, the database seems to be getting corrupted quite often.  I get
  264. +     errors like this in the Log.  (nntp is used)
  265. +       E: May 11 14:57 (olson): sgi.bugs.aspen: data inconsistency
  266. +     I am running nnmaster -r15 -C -e -E1 (and with -l on patch #1).
  267. + Prog:    nn
  268. + Title:    Group is marked read if database is corrupted
  269. + From:    olson%anchor.esd@sgi.com (Dave Olson)
  270. + Fixed:    Patch #2 [group.c]
  271. +     ... when this happens, nn marks the group as read, which would seem
  272. +     to me to be the wrong thing to do.
  273. + Prog:    nn
  274. + Title:    Missing printf args.
  275. + From:    olson%anchor.esd@sgi.com (Dave Olson) + fix
  276. + Fixed:    Patch #2 [answer.c newsrc.c]
  277. + Title:    new-group-action 4 dumps core
  278. + From:    Doug Walker <uunet!fdls!dougw>
  279. +     Peter Andersen <datpete@daimi.dk> + fix
  280. + Fixed:    Patch #2 [newsrc.c]
  281. +     
  282. + Prog:    nncheck
  283. + Title:    nncheck sometimes ignores the -Q option
  284. + From:    Jaap Vermeulen <jaap@sequent.uucp>
  285. +     Peter Andersen <datpete@daimi.dk> + fix
  286. +     Torben Lange <torbenl@aau.dk> + fix
  287. + Fixed:    Patch #2 [nn.c]
  288. +     'nncheck -Q' always says: Release 6.4.1 #8,  Kim F. Storm, 1990
  289. + Prog:    s-dynix3-0.h
  290. + Title:    Compiler warnings on dynix 3.0.17
  291. + From:    Jaap Vermeulen <jaap@sequent.uucp> + fix
  292. + Fixed:    Patch #2 [s-dynix3-0.h]
  293. + Prog:    manuals
  294. + Title:    Inconsistencies in manuals
  295. + From:    Peter Andersen <datpete@daimi.dk>
  296. + Fixed:    Patch #2 [man/*]
  297. +     nncheck manual still mentions .nn/rc
  298. +     nnquery is still mentioned in many manuals
  299. +     nnpost & nngrab is missing in most See Also sections
  300. + Prog:    aux
  301. + Title:    posting via Cnews' inews; output considered an error
  302. + From:    Mark Nagel <nagel@wintermute.ICS.UCI.EDU>
  303. +     Sometimes inews may produce valid output, e.g. when postings to a
  304. +     moderated group is converted to mail.  However, output from inews
  305. +     is always considered to imply failure to post.
  306. + Prog:    nn
  307. + Title:    append-signature-post not honoured
  308. + From:    leo@aai.uucp
  309. + Fixed:    Patch #2 [aux.sh]
  310. +     I have noticed some inconsistencies about when I am asked whether to
  311. +     include my .sig or not depending on whether I'm posting, following
  312. +     up, or mailing.
  313. + Prog:    manuals
  314. + Title:    Spelling mistakes
  315. + From:    olson%anchor.esd@sgi.com (Dave Olson)
  316. + Fixed:    Patch #2 [man/*]
  317. +     Dave provided a lot of corrections to the spelling.
  318. + Prog:    Makefile
  319. + Title:    The '/^[ /]*[*]/d' expression breaks on HPUX.
  320. + From:    Bill Gaines <bill%iccdev@relay.EU.net> + fix
  321. + Fixed:    Patch #2 [Makefile]
  322. + New features since initial 6.4.0 release
  323. + ----------------------------------------
  324. + Prog:    nn
  325. + Title:    New auto-select-subject variable
  326. + From:    Jeffrey (J.D.) Sparkes <JSPARKES@BNR.CA>
  327. + Added:    Patch #2 [menu.c variable.c nn.1]
  328. + Prog:    nn
  329. + Title:    New default-kill-select variable
  330. + From:    KFS (on request from Bill Petro)
  331. + Added:    Patch #2 [kill.c variable.c nn.1]
  332. + Prog:    mini-inews (nntp)
  333. + Title:    updated to nntp release 1.5.8 (very minor changes!)
  334. + From:    KFS (with patches provided by Stan Barber)
  335. + Added:    Patch #2 [inews/*]
  336. *** ./LAST/global.c    Sat May  5 16:18:41 1990
  337. --- global.c    Mon May 14 17:14:07 1990
  338. ***************
  339. *** 194,200 ****
  340.   #ifdef MASTER_DIRECTORY
  341.       master_directory = MASTER_DIRECTORY;
  342.   #else
  343. !     master_directory = lib_directory;
  344.   #endif
  345.   
  346.   #ifdef HELP_DIRECTORY
  347. --- 194,200 ----
  348.   #ifdef MASTER_DIRECTORY
  349.       master_directory = MASTER_DIRECTORY;
  350.   #else
  351. !     master_directory = LIB_DIRECTORY;
  352.   #endif
  353.   
  354.   #ifdef HELP_DIRECTORY
  355. ***************
  356. *** 206,212 ****
  357.   #ifdef LOG_FILE
  358.       log_file = LOG_FILE;
  359.   #else
  360. !     log_file = mk_file_name(lib_directory, "Log");
  361.   #endif
  362.   
  363.       if (who_am_i == I_AM_MASTER || who_am_i == I_AM_SPEW)
  364. --- 206,212 ----
  365.   #ifdef LOG_FILE
  366.       log_file = LOG_FILE;
  367.   #else
  368. !     log_file = mk_file_name(LIB_DIRECTORY, "Log");
  369.   #endif
  370.   
  371.       if (who_am_i == I_AM_MASTER || who_am_i == I_AM_SPEW)
  372. *** ./LAST/group.c    Tue May 15 13:31:03 1990
  373. --- group.c    Tue May 15 14:00:26 1990
  374. ***************
  375. *** 294,299 ****
  376. --- 294,300 ----
  377.   #endif
  378.           user_delay(5);
  379.           }
  380. +         gh->master_flag |= M_BLOCKED;
  381.           if (mg_head != NULL) continue;
  382.           menu_return( ME_NEXT );
  383.       }
  384. ***************
  385. *** 332,337 ****
  386. --- 333,339 ----
  387.   
  388.       do {
  389.       gh->current_first = 0;
  390. +     if (gh->master_flag & M_BLOCKED) continue;
  391.       if (mask != NULL) continue;
  392.       if (access_mode & ACC_ALSO_READ_ARTICLES || first_art >= 0) continue;
  393.       if (menu_cmd != ME_NO_ARTICLES) gh->group_flag &= ~G_NEW;
  394. ***************
  395. *** 684,690 ****
  396.    get_folder:
  397.       m_endinput();
  398.       if (strcmp(answer, "+") == 0)
  399. !     answer = (gh->save_file != NULL) ? gh->save_file : default_save_file;
  400.       if (!expand_file_name(buffer, answer, 1)) goto_return (ME_NO_REDRAW);
  401.       menu_cmd = folder_menu(buffer);
  402.       gh = NULL;
  403. --- 686,692 ----
  404.    get_folder:
  405.       m_endinput();
  406.       if (strcmp(answer, "+") == 0)
  407. !     answer = (gh && gh->save_file != NULL) ? gh->save_file : default_save_file;
  408.       if (!expand_file_name(buffer, answer, 1)) goto_return (ME_NO_REDRAW);
  409.       menu_cmd = folder_menu(buffer);
  410.       gh = NULL;
  411. ***************
  412. *** 739,747 ****
  413.       menu_cmd = group_menu(gh, first, access_mode, mask, menu);
  414.       release_memory(&mem_marker);
  415.   
  416. ! goto_exit:
  417.       if (gh != orig_group) {
  418. !     gh->current_first = 0;
  419.       if (orig_group) init_group(orig_group);
  420.       }
  421.   
  422. --- 741,749 ----
  423.       menu_cmd = group_menu(gh, first, access_mode, mask, menu);
  424.       release_memory(&mem_marker);
  425.   
  426. !  goto_exit:
  427.       if (gh != orig_group) {
  428. !     if (gh != NULL) gh->current_first = 0;
  429.       if (orig_group) init_group(orig_group);
  430.       }
  431.   
  432. *** ./LAST/inews/clientlib.c    Tue May  1 22:31:35 1990
  433. --- inews/clientlib.c    Tue May 15 15:54:00 1990
  434. ***************
  435. *** 31,36 ****
  436. --- 31,38 ----
  437.   #ifndef FOR_NN
  438.   #ifdef USG
  439.   # define    index    strchr
  440. + # define        bcopy(a,b,c)   memcpy(b,a,c)
  441. + # define        bzero(a,b)     memset(a,'\0',b)
  442.   #endif USG
  443.   #endif
  444.   
  445. ***************
  446. *** 525,536 ****
  447.       (void) fclose(ser_rd_fp);
  448.   }
  449.   
  450. - #ifdef USG
  451. - bzero(p, l)
  452. -     register char    *p;
  453. -     register int    l;
  454. - {
  455. -     while (l-- > 0)
  456. -         *p++ = 0;
  457. - }
  458. - #endif USG
  459. --- 527,529 ----
  460. *** ./LAST/inews/version.c    Sun Apr  1 00:34:21 1990
  461. --- inews/version.c    Tue May 15 15:54:00 1990
  462. ***************
  463. *** 2,5 ****
  464.    * Provide the version number of this release.
  465.    */
  466.   
  467. ! char    nntp_version[] = "1.5.7 (10 November 89)";
  468. --- 2,5 ----
  469.    * Provide the version number of this release.
  470.    */
  471.   
  472. ! char    nntp_version[] = "1.5.8 (11 March 90)";
  473. *** ./LAST/inst.sh    Sat May  5 16:05:04 1990
  474. --- inst.sh    Mon May 14 17:14:06 1990
  475. ***************
  476. *** 310,317 ****
  477.       } |
  478.       while read DIR SECT SRC
  479.       do
  480. !         if [ -d "$DIR"/. -a -w "$DIR"/. ]
  481.           then
  482.               for i in man/*$SRC
  483.               do
  484. --- 310,316 ----
  485.       } |
  486.       while read DIR SECT SRC
  487.       do
  488. !         if [ -d "$DIR"/. ]
  489.           then
  490.               for i in man/*$SRC
  491.               do
  492. *** ./LAST/kill.c    Thu Apr 26 16:16:39 1990
  493. --- kill.c    Tue May 15 11:56:43 1990
  494. ***************
  495. *** 9,14 ****
  496. --- 9,15 ----
  497.   #include "regexp.h"
  498.   
  499.   export int killed_articles;
  500. + export int dflt_kill_select = 30;
  501.   
  502.   char KILL_FILE[] =     "kill";
  503.   char COMPILED_KILL[] =    "KILL.COMP";
  504. ***************
  505. *** 381,387 ****
  506.       extern article_header *get_menu_article();
  507.       group_header *gh;
  508.   
  509. !     prompt("\1AUTO\1 (k)ill or (s)elect (CR => Kill subject 1 month) ");
  510.       switch (get_c()) {
  511.        case CR:
  512.        case NL:
  513. --- 382,392 ----
  514.       extern article_header *get_menu_article();
  515.       group_header *gh;
  516.   
  517. !     days = dflt_kill_select % 100;
  518. !     flag = (dflt_kill_select / 100) ? AUTO_SELECT : AUTO_KILL;
  519. !     prompt("\1AUTO\1 (k)ill or (s)elect (CR => %s subject %d days) ",
  520. !        flag == AUTO_KILL ? "Kill" : "Select", days);
  521.       switch (get_c()) {
  522.        case CR:
  523.        case NL:
  524. ***************
  525. *** 392,398 ****
  526.   
  527.       strcpy(buffer, ah->subject);
  528.       enter_kill_file(current_group, buffer,
  529. !             AUTO_KILL | ON_SUBJECT | KILL_CASE_MATCH, 30);
  530.       msg("DONE");
  531.       return 1;
  532.   
  533. --- 397,403 ----
  534.   
  535.       strcpy(buffer, ah->subject);
  536.       enter_kill_file(current_group, buffer,
  537. !             flag | ON_SUBJECT | KILL_CASE_MATCH, days);
  538.       msg("DONE");
  539.       return 1;
  540.   
  541. *** ./LAST/man/nn.1.A    Tue May 15 13:31:06 1990
  542. --- man/nn.1.A    Tue May 15 20:19:32 1990
  543. ***************
  544. *** 106,112 ****
  545.   \-\fBs\fP option!
  546.   .TP
  547.   \-\fBi\fP
  548. ! Normally searches with \-\fBn\fP and \-\fBs\fP are case indenpendent.
  549.   Using this option, the case becomes significant.
  550.   .TP
  551.   \-\fBm\fP
  552. --- 106,112 ----
  553.   \-\fBs\fP option!
  554.   .TP
  555.   \-\fBi\fP
  556. ! Normally searches with \-\fBn\fP and \-\fBs\fP are case independent.
  557.   Using this option, the case becomes significant.
  558.   .TP
  559.   \-\fBm\fP
  560. ***************
  561. *** 317,323 ****
  562.   .PP
  563.   Layout 4 is a hybrid between layout 1 and 3.  It will normally use
  564.   layout 1, but it will use layout 3 (with a little indentation) for
  565. ! menu lines where the subject is longer than the space avaiable with
  566.   layout 1.
  567.   .LP
  568.   Layout 1 is the default layout, and an alternative menu line layout is
  569. --- 317,323 ----
  570.   .PP
  571.   Layout 4 is a hybrid between layout 1 and 3.  It will normally use
  572.   layout 1, but it will use layout 3 (with a little indentation) for
  573. ! menu lines where the subject is longer than the space available with
  574.   layout 1.
  575.   .LP
  576.   Layout 1 is the default layout, and an alternative menu line layout is
  577. ***************
  578. *** 341,347 ****
  579.   and replaced by a single \&`>' character (see the \fBre-layout\fP
  580.   variable).
  581.   .PP
  582. ! Since articles are sorted accoring to the subject, two or more
  583.   adjacent articles may share the same subject (ignoring any `>'s).  In
  584.   this case, only the first article will show the subject of the
  585.   article; the rest will only show the `>' character in the subject
  586. --- 341,347 ----
  587.   and replaced by a single \&`>' character (see the \fBre-layout\fP
  588.   variable).
  589.   .PP
  590. ! Since articles are sorted according to the subject, two or more
  591.   adjacent articles may share the same subject (ignoring any `>'s).  In
  592.   this case, only the first article will show the subject of the
  593.   article; the rest will only show the `>' character in the subject
  594. ***************
  595. *** 359,365 ****
  596.   an \fIattribute\fP with each
  597.   article on your system.  These attributes are used to differentiate
  598.   between read and unread articles, selected articles, articles marked
  599. ! for later treatment, etc.  Depending on how \fInn\fP is configurated,
  600.   these attributes can be saved between invocations of \fInn\fP, or some
  601.   of them may only be used while \fInn\fP is running.
  602.   .LP
  603. --- 359,365 ----
  604.   an \fIattribute\fP with each
  605.   article on your system.  These attributes are used to differentiate
  606.   between read and unread articles, selected articles, articles marked
  607. ! for later treatment, etc.  Depending on how \fInn\fP is configured,
  608.   these attributes can be saved between invocations of \fInn\fP, or some
  609.   of them may only be used while \fInn\fP is running.
  610.   .LP
  611. ***************
  612. *** 378,384 ****
  613.   attributes will only mention the most important commands that may set
  614.   (or preserve) the attribute.
  615.   .LP
  616. ! The following attributes may be assoicated with an article:
  617.   .TP
  618.   .B read
  619.   Menu attribute "." - indicates that the article has been read or saved.
  620. --- 378,384 ----
  621.   attributes will only mention the most important commands that may set
  622.   (or preserve) the attribute.
  623.   .LP
  624. ! The following attributes may be associated with an article:
  625.   .TP
  626.   .B read
  627.   Menu attribute "." - indicates that the article has been read or saved.
  628. ***************
  629. *** 414,420 ****
  630.   \fIread\fP.
  631.   .TP
  632.   .B auto-selected
  633. ! These articles have the same appearence as \fIselected\fP articles on
  634.   the menu, and the only difference is that these articles have been
  635.   selected automatically via the auto-selection facility rather than
  636.   manually by you.  Very few commands differentiate between these
  637. --- 414,420 ----
  638.   \fIread\fP.
  639.   .TP
  640.   .B auto-selected
  641. ! These articles have the same appearance as \fIselected\fP articles on
  642.   the menu, and the only difference is that these articles have been
  643.   selected automatically via the auto-selection facility rather than
  644.   manually by you.  Very few commands differentiate between these
  645. ***************
  646. *** 422,428 ****
  647.   The main difference is that these articles are only marked as
  648.   \fIunread\fP when you leave the group (supposing they will also be
  649.   auto-selected the next the group is entered).  This simplifies the
  650. ! house-keeping between invokations of \fInn\fP.
  651.   .TP
  652.   .B leave
  653.   Menu attribute "+" - indicates that the article is marked for later
  654. --- 422,428 ----
  655.   The main difference is that these articles are only marked as
  656.   \fIunread\fP when you leave the group (supposing they will also be
  657.   auto-selected the next the group is entered).  This simplifies the
  658. ! house-keeping between invocations of \fInn\fP.
  659.   .TP
  660.   .B leave
  661.   Menu attribute "+" - indicates that the article is marked for later
  662. ***************
  663. *** 491,497 ****
  664.   \&\fBabc...z 01..9\fP  {\fIarticle N\fP}
  665.   The article with the given identification letter or digit is
  666.   selected or deselected.  The following article becomes the current
  667. ! article.
  668.   .TP
  669.   \&\fB.\fP    {\fBselect\fP}
  670.   Select or deselect the current article and move the cursor to the next
  671. --- 491,498 ----
  672.   \&\fBabc...z 01..9\fP  {\fIarticle N\fP}
  673.   The article with the given identification letter or digit is
  674.   selected or deselected.  The following article becomes the current
  675. ! article.  If the variable \fBauto-select-subject\fP is set, all
  676. ! articles with the same subject as the given article are selected.
  677.   .TP
  678.   \&\fB.\fP    {\fBselect\fP}
  679.   Select or deselect the current article and move the cursor to the next
  680. ***************
  681. *** 546,552 ****
  682.   sorts of attribute changes, either on individual articles, all
  683.   articles on the current menu page, all articles with a specific
  684.   attribute, or all available articles.  To access all the functions of
  685. ! this command, the \fBJ\fP key may have to be hit upto four times,
  686.   to loop through different one-line menus.  The full functionality of
  687.   the \fBjunk-articles\fP command is described in a separate section
  688.   below.
  689. --- 547,553 ----
  690.   sorts of attribute changes, either on individual articles, all
  691.   articles on the current menu page, all articles with a specific
  692.   attribute, or all available articles.  To access all the functions of
  693. ! this command, the \fBJ\fP key may have to be hit up to four times,
  694.   to loop through different one-line menus.  The full functionality of
  695.   the \fBjunk-articles\fP command is described in a separate section
  696.   below.
  697. ***************
  698. *** 652,658 ****
  699.   command.
  700.   .LP
  701.   \fBRelated variables\fP:
  702. ! auto-preview-mode, case-fold-search, confirm-auto-quit, confirm-entry,
  703.   auto-junk-seen, confirm-junk-seen, retain-seen-status, select-on-sender.
  704.   .SH THE JUNK-ARTICLES AND LEAVE-NEXT COMMANDS
  705.   The \fBJ\fP {\fBjunk-articles\fP} command is a very flexible command
  706. --- 653,660 ----
  707.   command.
  708.   .LP
  709.   \fBRelated variables\fP:
  710. ! auto-preview-mode, auto-select-subject, case-fold-search,
  711. ! confirm-auto-quit, confirm-entry,
  712.   auto-junk-seen, confirm-junk-seen, retain-seen-status, select-on-sender.
  713.   .SH THE JUNK-ARTICLES AND LEAVE-NEXT COMMANDS
  714.   The \fBJ\fP {\fBjunk-articles\fP} command is a very flexible command
  715. ***************
  716. *** 661,667 ****
  717.   specific attribute, or all available articles.
  718.   .LP
  719.   To access all the functions of this command, the \fBJ\fP key may have
  720. ! to be hit upto four times, to loop through different one-line menus:
  721.   .TP
  722.   \fBMark Read\fP
  723.   This submenu allows you to mark articles \fIread\fP.
  724. --- 663,669 ----
  725.   specific attribute, or all available articles.
  726.   .LP
  727.   To access all the functions of this command, the \fBJ\fP key may have
  728. ! to be hit up to four times, to loop through different one-line menus:
  729.   .TP
  730.   \fBMark Read\fP
  731.   This submenu allows you to mark articles \fIread\fP.
  732. ***************
  733. *** 685,691 ****
  734.   you explicitly change the attribute (e.g. by reading it) or it is
  735.   expired.
  736.   .LP
  737. ! For each of these submenues, \fInn\fP will list the most plausible
  738.   choices you may use, but all of the following answers can be used at
  739.   all submenus.  When you have entered a choice, \fInn\fP will afterward
  740.   ask whether the change should be made to all menu pages or only the
  741. --- 687,693 ----
  742.   you explicitly change the attribute (e.g. by reading it) or it is
  743.   expired.
  744.   .LP
  745. ! For each of these submenus, \fInn\fP will list the most plausible
  746.   choices you may use, but all of the following answers can be used at
  747.   all submenus.  When you have entered a choice, \fInn\fP will afterward
  748.   ask whether the change should be made to all menu pages or only the
  749. ***************
  750. *** 814,820 ****
  751.   \&\fBl\fP    {\fBleave-article\fP}
  752.   Mark the current article with the \fIleave\fP attribute and continue
  753.   with the next selected article.  When all the selected articles
  754. ! in the cuurent group have been read, these \fIleft over\fP articles
  755.   can be automatically selected and shown once more, or the treatment
  756.   can be postponed to the next time you enter the group.
  757.     This is particularly useful if you see an article
  758. --- 816,822 ----
  759.   \&\fBl\fP    {\fBleave-article\fP}
  760.   Mark the current article with the \fIleave\fP attribute and continue
  761.   with the next selected article.  When all the selected articles
  762. ! in the current group have been read, these \fIleft over\fP articles
  763.   can be automatically selected and shown once more, or the treatment
  764.   can be postponed to the next time you enter the group.
  765.     This is particularly useful if you see an article
  766. ***************
  767. *** 863,869 ****
  768.   .TP
  769.   \&\fB=\fP    {\fBgoto-menu\fP}
  770.   Return to selection mode in the current group (think of = as the
  771. ! \&"icon" of the selection menu).  The articles read sofar will be
  772.   marked \fIread\fP.
  773.   .TP
  774.   \&\fBN\fP    {\fBnext-group\fP}
  775. --- 865,871 ----
  776.   .TP
  777.   \&\fB=\fP    {\fBgoto-menu\fP}
  778.   Return to selection mode in the current group (think of = as the
  779. ! \&"icon" of the selection menu).  The articles read so far will be
  780.   marked \fIread\fP.
  781.   .TP
  782.   \&\fBN\fP    {\fBnext-group\fP}
  783. ***************
  784. *** 1009,1015 ****
  785.   in the file specified in \fBdecode-header-file\fP (default
  786.   "Decode.Headers") in the same directory as the decoded files.
  787.     If \fBdecode-skip-prefix\fP is non-null, \fB:decode\fP will attempt
  788. ! to ignore upto that many characters on each line to find the encoded data.
  789.   This is particularly useful in some binaries groups where files are
  790.   both uuencoded and packed with shar; \fInn\fP will ignore the prefix
  791.   added to each line by shar, and thus be able to unshar, concatenate,
  792. --- 1011,1017 ----
  793.   in the file specified in \fBdecode-header-file\fP (default
  794.   "Decode.Headers") in the same directory as the decoded files.
  795.     If \fBdecode-skip-prefix\fP is non-null, \fB:decode\fP will attempt
  796. ! to ignore up to that many characters on each line to find the encoded data.
  797.   This is particularly useful in some binaries groups where files are
  798.   both uuencoded and packed with shar; \fInn\fP will ignore the prefix
  799.   added to each line by shar, and thus be able to unshar, concatenate,
  800. *** ./LAST/man/nn.1.B    Sat May  5 14:19:09 1990
  801. --- man/nn.1.B    Tue May 15 20:19:32 1990
  802. ***************
  803. *** 147,153 ****
  804.   also available in reading mode):
  805.   .TP
  806.   \&\fBR\fP    {\fBreply\fP}
  807. ! Reply through mail to the author of the article.  This is the prefered
  808.   way to respond to an article unless you think your reply is of general
  809.   interest.
  810.   .TP
  811. --- 147,153 ----
  812.   also available in reading mode):
  813.   .TP
  814.   \&\fBR\fP    {\fBreply\fP}
  815. ! Reply through mail to the author of the article.  This is the preferred
  816.   way to respond to an article unless you think your reply is of general
  817.   interest.
  818.   .TP
  819. ***************
  820. *** 290,296 ****
  821.   \fB=\fP and \fInumber\fP
  822.   These answers are equivalent to the same answers described below
  823.   applied to the current group (e.g. \fBG return =\fP and \fBG =\fP are
  824. ! quivalent).
  825.   .LP
  826.   Specifying a folder, a file, or an article (with \fB%\fP) will cause
  827.   \fInn\fP to treat the file like a digest and split it into separate
  828. --- 290,296 ----
  829.   \fB=\fP and \fInumber\fP
  830.   These answers are equivalent to the same answers described below
  831.   applied to the current group (e.g. \fBG return =\fP and \fBG =\fP are
  832. ! equivalent).
  833.   .LP
  834.   Specifying a folder, a file, or an article (with \fB%\fP) will cause
  835.   \fInn\fP to treat the file like a digest and split it into separate
  836. ***************
  837. *** 448,454 ****
  838.   .LP
  839.   The following dialog is used to build the kill file entry:
  840.   .TP
  841. ! \fIAUTO (k)ill or (s)elect (CR => Kill subject 1 month)\fP
  842.   If you simply want \fInn\fP to kill all articles with the subject of
  843.   the current article (in reading mode) or a specific article (which
  844.   \fInn\fP will prompt for in selection mode), just hit \fBreturn\fP.
  845. --- 448,454 ----
  846.   .LP
  847.   The following dialog is used to build the kill file entry:
  848.   .TP
  849. ! \fIAUTO (k)ill or (s)elect (CR => Kill subject 30 days)\fP
  850.   If you simply want \fInn\fP to kill all articles with the subject of
  851.   the current article (in reading mode) or a specific article (which
  852.   \fInn\fP will prompt for in selection mode), just hit \fBreturn\fP.
  853. ***************
  854. *** 456,461 ****
  855. --- 456,464 ----
  856.   the current (or specified) subject in the current group for a period
  857.   of 30 days (which should be enough for the discussion to die out).
  858.   .sp 0.5v
  859. + You can control the default kill period, or change it into a "select"
  860. + period via the \fBdefault-kill-select\fP variable.
  861. + .sp 0.5v
  862.   If this "default behaviour" is not what you want, just answer either
  863.   \fIk\fP or \fIs\fP to kill or select articles, respectively, which
  864.   will bring you on to the rest of the questions.
  865. ***************
  866. *** 503,509 ****
  867.   specify whether an exact match applies for the entry.
  868.   .LP
  869.   \fBRelated variables\fP:
  870. ! kill.
  871.   .SH THE FORMAT OF THE KILL FILE
  872.   The kill file consists of one line for each entry.  Empty lines and
  873.   lines starting with a # character are ignored.  \fInn\fP automatically
  874. --- 506,512 ----
  875.   specify whether an exact match applies for the entry.
  876.   .LP
  877.   \fBRelated variables\fP:
  878. ! default-kill-select, kill.
  879.   .SH THE FORMAT OF THE KILL FILE
  880.   The kill file consists of one line for each entry.  Empty lines and
  881.   lines starting with a # character are ignored.  \fInn\fP automatically
  882. ***************
  883. *** 537,543 ****
  884.   The \fIflags\fP field consists of a list of characters which
  885.   identifies the type of entry, and the interpretation of each
  886.   \fIstring\fP field.  When used, the flag characters must be used in
  887. ! the order in which they are desctibed below:
  888.   .TP
  889.   \fB~\fP    (optional)
  890.   .br
  891. --- 540,546 ----
  892.   The \fIflags\fP field consists of a list of characters which
  893.   identifies the type of entry, and the interpretation of each
  894.   \fIstring\fP field.  When used, the flag characters must be used in
  895. ! the order in which they are described below:
  896.   .TP
  897.   \fB~\fP    (optional)
  898.   .br
  899. ***************
  900. *** 623,629 ****
  901.   following substitutions have been performed on the command:
  902.   .TP
  903.   \fIFile name expansion\fP
  904. ! The ealier described file name expansions will be performed on all
  905.   arguments.
  906.   .TP
  907.   .B $G
  908. --- 626,632 ----
  909.   following substitutions have been performed on the command:
  910.   .TP
  911.   \fIFile name expansion\fP
  912. ! The earlier described file name expansions will be performed on all
  913.   arguments.
  914.   .TP
  915.   .B $G
  916. ***************
  917. *** 665,671 ****
  918.   .TP
  919.   \&\fBU\fP    {\fBunsub\fP}
  920.   Unsubscribe to the current group.  You will not see this group
  921. ! anymore unless you explicitly request it.  If the variable
  922.   \fBunsubscribe-mark-read\fP is set, all articles in the group will be
  923.   marked read when you unsubscribe.
  924.     If the variable \fBkeep-unsubscribed\fP is not set, the group will
  925. --- 668,674 ----
  926.   .TP
  927.   \&\fBU\fP    {\fBunsub\fP}
  928.   Unsubscribe to the current group.  You will not see this group
  929. ! any more unless you explicitly request it.  If the variable
  930.   \fBunsubscribe-mark-read\fP is set, all articles in the group will be
  931.   marked read when you unsubscribe.
  932.     If the variable \fBkeep-unsubscribed\fP is not set, the group will
  933. ***************
  934. *** 787,793 ****
  935.   \fB:rmail\fP
  936.   Open your mailbox (see the \fBmail\fP variable) as a folder to
  937.   read the incoming messages.  This is \fInot\fP a full mail interface
  938. ! (you cannot delete messages, no cc: on replies, etc), but it can give
  939.   you a quick glance at new mail without leaving \fInn\fP.
  940.   .TP
  941.   \fB:set\fP \fIvariable\fP [ \fIvalue\fP ]
  942. --- 790,797 ----
  943.   \fB:rmail\fP
  944.   Open your mailbox (see the \fBmail\fP variable) as a folder to
  945.   read the incoming messages.  This is \fInot\fP a full mail interface
  946. ! (depending on the nn configuration, you may not be able to delete
  947. ! messages, add cc: on replies, etc), but it can give
  948.   you a quick glance at new mail without leaving \fInn\fP.
  949.   .TP
  950.   \fB:set\fP \fIvariable\fP [ \fIvalue\fP ]
  951. ***************
  952. *** 831,837 ****
  953.   (articles ordered after posting date only), and \fBsender\fP (articles
  954.   ordered after sender's name).
  955.   .TP
  956. ! \fB:unset\fP \fIvariable\fP
  957.   Toggle a boolean variable.
  958.   .TP
  959.   \fB:unread\fP [ \fIgroup\fP ] [ \fIarticles\fP ]
  960. --- 835,841 ----
  961.   (articles ordered after posting date only), and \fBsender\fP (articles
  962.   ordered after sender's name).
  963.   .TP
  964. ! \fB:toggle\fP \fIvariable\fP
  965.   Toggle a boolean variable.
  966.   .TP
  967.   \fB:unread\fP [ \fIgroup\fP ] [ \fIarticles\fP ]
  968. *** ./LAST/man/nn.1.C    Tue May 15 13:31:07 1990
  969. --- man/nn.1.C    Tue May 15 20:19:32 1990
  970. ***************
  971. *** 185,190 ****
  972. --- 185,195 ----
  973.   command at the end of the article and the `=' {\fBgoto-menu\fP}
  974.   returns to the menu immediately as usual.
  975.   .TP
  976. + \fBauto-select-subject\fP    (boolean, default false)
  977. + When set, selecting an article from the menu using the article id
  978. + (a-z), all articles on the menu with the same subject will
  979. + automatically be selected as well.
  980. + .TP
  981.   \fBbackup\fP    (boolean, default true)
  982.   When set, a copy of the initial .newsrc and select files will save be
  983.   the first time they are changed.  \fInn\fP remembers the initial
  984. ***************
  985. *** 241,247 ****
  986.   having read the last group.  If not confirmed, \fInn\fP will recycle
  987.   the presentation sequence looking for groups that were skipped with
  988.   the `N' {\fBnext-group\fP} command.  But it will not look for new
  989. ! articles arrived since the invokation of \fInn\fP.
  990.   .TP
  991.   \fBconfirm-create\fP        (boolean, default true)
  992.   When set, \fInn\fP will ask for confirmation before creating a new
  993. --- 246,252 ----
  994.   having read the last group.  If not confirmed, \fInn\fP will recycle
  995.   the presentation sequence looking for groups that were skipped with
  996.   the `N' {\fBnext-group\fP} command.  But it will not look for new
  997. ! articles arrived since the invocation of \fInn\fP.
  998.   .TP
  999.   \fBconfirm-create\fP        (boolean, default true)
  1000.   When set, \fInn\fP will ask for confirmation before creating a new
  1001. ***************
  1002. *** 328,333 ****
  1003. --- 333,346 ----
  1004.   first component of the group name is used as the suggested
  1005.   distribution, e.g. `comp' when posting to comp.whatever.
  1006.   .TP
  1007. + \fBdefault-kill-select\fP \fI[1]days\fP    (number, default 30)
  1008. + Specifies the default action for the \fBK\fP {\fBkill-select\fP}
  1009. + command if the first prompt is answered by \fBreturn\fP.  It contains
  1010. + the number of days to keep the kill or select entry in the kill file
  1011. + (1-99 days).  If it has the value \fIdays\fP+100 (e.g. 130), it
  1012. + denotes that the default action is to \fIselect\fP rather than kill on
  1013. + the subject for the specified period.
  1014. + .TP
  1015.   \fBdefault-save-file\fP \fIfile\fP    (string, default +$F)
  1016.   The default save file used in quick save mode.  It can also be
  1017.   specified using the abbreviation "+" as the file name in normal save
  1018. ***************
  1019. *** 481,488 ****
  1020.   as read.  This is useful to get up-to-date quickly if you have not
  1021.   read news for a longer period.
  1022.   .TP
  1023. ! \fBlines\fP \fIlin\fP    (integer, default screen hight)
  1024. ! This variable contains the screen hight i.e. number of lines.
  1025.   .TP
  1026.   \fBlong-menu\fP        (boolean, default false)
  1027.   If set \fInn\fP will not put an empty line after the header line and
  1028. --- 494,501 ----
  1029.   as read.  This is useful to get up-to-date quickly if you have not
  1030.   read news for a longer period.
  1031.   .TP
  1032. ! \fBlines\fP \fIlin\fP    (integer, default screen height)
  1033. ! This variable contains the screen height i.e. number of lines.
  1034.   .TP
  1035.   \fBlong-menu\fP        (boolean, default false)
  1036.   If set \fInn\fP will not put an empty line after the header line and
  1037. ***************
  1038. *** 560,566 ****
  1039.   an integer variable, and the following values can be used.  Some of
  1040.   these actions (marked with an *) will only work when
  1041.   \fBkeep-unsubscribed\fP is set, since the presence of a group in
  1042. ! \&.newsrc is the only way to recongnize it as an old group:
  1043.   .sp 0.5v
  1044.   \fB0\fP)  Ignore groups which are not in \&.newsrc.  This will obviously
  1045.   include new groups.
  1046. --- 573,579 ----
  1047.   an integer variable, and the following values can be used.  Some of
  1048.   these actions (marked with an *) will only work when
  1049.   \fBkeep-unsubscribed\fP is set, since the presence of a group in
  1050. ! \&.newsrc is the only way to recognize it as an old group:
  1051.   .sp 0.5v
  1052.   \fB0\fP)  Ignore groups which are not in \&.newsrc.  This will obviously
  1053.   include new groups.
  1054. ***************
  1055. *** 759,765 ****
  1056.   \fBretry-on-error\fP \fItimes\fP    (integer, default 0)
  1057.   When set, \fInn\fP will try the specified number of \fItimes\fP to
  1058.   open an article before reporting that the article does not exist
  1059. ! anymore.  This may be necessary in some network environments.
  1060.   .TP
  1061.   \fBsave-counter\fP \fIformat\fP    (string, default "%d")
  1062.   This is the printf-format which \fInn\fP uses to create substitution
  1063. --- 772,778 ----
  1064.   \fBretry-on-error\fP \fItimes\fP    (integer, default 0)
  1065.   When set, \fInn\fP will try the specified number of \fItimes\fP to
  1066.   open an article before reporting that the article does not exist
  1067. ! any more.  This may be necessary in some network environments.
  1068.   .TP
  1069.   \fBsave-counter\fP \fIformat\fP    (string, default "%d")
  1070.   This is the printf-format which \fInn\fP uses to create substitution
  1071. ***************
  1072. *** 817,823 ****
  1073.   redrawing the screen in the following cases:  After a \fBgoto-group\fP
  1074.   command an empty menu is shown (hit \fBspace\fP to make it appear),
  1075.   and after responding to an article, only the prompt line is shown (use
  1076. ! ^L to redraw the screen).  To avoid redrawing the screen aftern an
  1077.   extended command, set the \fBdelay-redraw\fP variable as well.
  1078.   .TP
  1079.   \fBslow-speed\fP \fIspeed\fP    (integer, default 1200)
  1080. --- 830,836 ----
  1081.   redrawing the screen in the following cases:  After a \fBgoto-group\fP
  1082.   command an empty menu is shown (hit \fBspace\fP to make it appear),
  1083.   and after responding to an article, only the prompt line is shown (use
  1084. ! ^L to redraw the screen).  To avoid redrawing the screen after an
  1085.   extended command, set the \fBdelay-redraw\fP variable as well.
  1086.   .TP
  1087.   \fBslow-speed\fP \fIspeed\fP    (integer, default 1200)
  1088. ***************
  1089. *** 886,892 ****
  1090.   .TP
  1091.   \fBsubject-match-parts\fP    (boolean, default false)
  1092.   When set, two subjects will be considered equal if they are identical
  1093. ! upto the first (differing) digit.  Together with the
  1094.   \fBsubject-match-offset\fP variable, this can be used in source groups
  1095.   where the subject often has a format like:
  1096.   .sp 0.5v
  1097. --- 899,905 ----
  1098.   .TP
  1099.   \fBsubject-match-parts\fP    (boolean, default false)
  1100.   When set, two subjects will be considered equal if they are identical
  1101. ! up to the first (differing) digit.  Together with the
  1102.   \fBsubject-match-offset\fP variable, this can be used in source groups
  1103.   where the subject often has a format like:
  1104.   .sp 0.5v
  1105. ***************
  1106. *** 956,962 ****
  1107.   \fBupdate-frequency\fP        (integer, default 1)
  1108.   Specifies how many changes need to be done to the .newsrc or select
  1109.   files before they are written back to disk.  The default setting
  1110. ! causese .newsrc to be updated every time a group has been read.
  1111.   .TP
  1112.   \fBuse-selections\fP        (boolean, default true)
  1113.   When set, \fInn\fP uses the selections and other article attributes
  1114. --- 969,975 ----
  1115.   \fBupdate-frequency\fP        (integer, default 1)
  1116.   Specifies how many changes need to be done to the .newsrc or select
  1117.   files before they are written back to disk.  The default setting
  1118. ! causes .newsrc to be updated every time a group has been read.
  1119.   .TP
  1120.   \fBuse-selections\fP        (boolean, default true)
  1121.   When set, \fInn\fP uses the selections and other article attributes
  1122. ***************
  1123. *** 964,970 ****
  1124.   select file.
  1125.   .TP
  1126.   \fBvisible-bell\fP    (boolean, default true)
  1127. ! When set, \fInn\fP will flash the screeen instead of "ringing the
  1128.   bell" if the visible bell (flash) capability is defined in the
  1129.   termcap/terminfo database.
  1130.   .TP
  1131. --- 977,983 ----
  1132.   select file.
  1133.   .TP
  1134.   \fBvisible-bell\fP    (boolean, default true)
  1135. ! When set, \fInn\fP will flash the screen instead of "ringing the
  1136.   bell" if the visible bell (flash) capability is defined in the
  1137.   termcap/terminfo database.
  1138.   .TP
  1139. *** ./LAST/man/nn.1.D    Tue May 15 13:31:08 1990
  1140. --- man/nn.1.D    Tue May 15 20:19:32 1990
  1141. ***************
  1142. *** 120,126 ****
  1143.   Prompt for the name of a news group or folder to be entered
  1144.   .TP
  1145.   \-\fBi\fP    {\fBtoggle case-fold-search\fP}
  1146. ! Normally searches with \-\fBn\fP and \-\fBs\fP are case indenpendent.
  1147.   Using this option, the case becomes significant.
  1148.   .TP
  1149.   \-\fBI\fP
  1150. --- 120,126 ----
  1151.   Prompt for the name of a news group or folder to be entered
  1152.   .TP
  1153.   \-\fBi\fP    {\fBtoggle case-fold-search\fP}
  1154. ! Normally searches with \-\fBn\fP and \-\fBs\fP are case independent.
  1155.   Using this option, the case becomes significant.
  1156.   .TP
  1157.   \-\fBI\fP
  1158. ***************
  1159. *** 227,233 ****
  1160.   command, macro definitions are normally placed in the
  1161.   .I init
  1162.   file.  Macros are numbered from 0 to 100, i.e. it is possible to define
  1163. ! a total of 101 different macros (inplicit macros defined with the
  1164.   \fBmap\fP command uses internal numbers from 101 to 200).
  1165.   .LP
  1166.   To define macro number \fIM\fP, the following construction is used
  1167. --- 227,233 ----
  1168.   command, macro definitions are normally placed in the
  1169.   .I init
  1170.   file.  Macros are numbered from 0 to 100, i.e. it is possible to define
  1171. ! a total of 101 different macros (implicit macros defined with the
  1172.   \fBmap\fP command uses internal numbers from 101 to 200).
  1173.   .LP
  1174.   To define macro number \fIM\fP, the following construction is used
  1175. ***************
  1176. *** 270,276 ****
  1177.   .TP
  1178.   .I Shell Commands
  1179.   External commands can be invoked as part of a macro execution.  There
  1180. ! are two forms of shell command invokations available depending on
  1181.   whether a command \fImay\fP produce output or require user input, or
  1182.   it is \fIguaranteed\fP to complete without input or output to the
  1183.   terminal.  The difference is that in the latter case, \fInn\fP does
  1184. --- 270,276 ----
  1185.   .TP
  1186.   .I Shell Commands
  1187.   External commands can be invoked as part of a macro execution.  There
  1188. ! are two forms of shell command invocations available depending on
  1189.   whether a command \fImay\fP produce output or require user input, or
  1190.   it is \fIguaranteed\fP to complete without input or output to the
  1191.   terminal.  The difference is that in the latter case, \fInn\fP does
  1192. ***************
  1193. *** 360,366 ****
  1194.       \fBprompt\fP "Enter recipient name"
  1195.   .br
  1196.   When the macro terminates, the original prompt shown on entry to the
  1197. ! macro will automatically be redrawn.  If this is not desireable (e.g.
  1198.   if the macro goes from selection to reading mode), the redrawing of
  1199.   the prompt can be disabled by using a \fBprompt\fP command with an
  1200.   empty \fIstring\fP ("").  Example:
  1201. --- 360,366 ----
  1202.       \fBprompt\fP "Enter recipient name"
  1203.   .br
  1204.   When the macro terminates, the original prompt shown on entry to the
  1205. ! macro will automatically be redrawn.  If this is not desirable (e.g.
  1206.   if the macro goes from selection to reading mode), the redrawing of
  1207.   the prompt can be disabled by using a \fBprompt\fP command with an
  1208.   empty \fIstring\fP ("").  Example:
  1209. ***************
  1210. *** 765,771 ****
  1211.   in the
  1212.   .I file
  1213.   will be replaced by the terminal type defined in the TERM environment
  1214. ! variable.  \fInn\fP silently ingores the
  1215.   .B load
  1216.   command if the file does not exist (so you don't have to have a
  1217.   specific init file for terminals which does not require remapping).
  1218. --- 765,771 ----
  1219.   in the
  1220.   .I file
  1221.   will be replaced by the terminal type defined in the TERM environment
  1222. ! variable.  \fInn\fP silently ignores the
  1223.   .B load
  1224.   command if the file does not exist (so you don't have to have a
  1225.   specific init file for terminals which does not require remapping).
  1226. ***************
  1227. *** 1064,1070 ****
  1228.   lines of the .newsrc file.  Example: RC:10 (use 10 lines of .newsrc).
  1229.   .TP
  1230.   \fBRC:\fP\fIstring\fP
  1231. ! Similar to the \fBRC\fP entry, but limited to the lines upto (and
  1232.   including) the first line (i.e. group) starting with the given
  1233.   \fIstring\fP.  For example:  RC:alt.sources
  1234.   .TP
  1235. --- 1064,1070 ----
  1236.   lines of the .newsrc file.  Example: RC:10 (use 10 lines of .newsrc).
  1237.   .TP
  1238.   \fBRC:\fP\fIstring\fP
  1239. ! Similar to the \fBRC\fP entry, but limited to the lines up to (and
  1240.   including) the first line (i.e. group) starting with the given
  1241.   \fIstring\fP.  For example:  RC:alt.sources
  1242.   .TP
  1243. ***************
  1244. *** 1265,1273 ****
  1245.   .SH SEE ALSO
  1246.   Other netnews documentation.
  1247.   .br
  1248. ! nncheck(1), nngoback(1), nngrep(1), nntidy(1)
  1249.   .br
  1250. ! nnadmin(1M), nnquery(1M), nnusage(1M), nnmaster(8)
  1251.   .SH AUTHOR
  1252.   Kim F. Storm, Texas Instruments A/S, Denmark
  1253.   .br
  1254. --- 1265,1273 ----
  1255.   .SH SEE ALSO
  1256.   Other netnews documentation.
  1257.   .br
  1258. ! nncheck(1), nngoback(1), nngrab(1), nngrep(1), nnpost(1), nntidy(1)
  1259.   .br
  1260. ! nnadmin(1M), nnusage(1M), nnmaster(8), nnspew(8)
  1261.   .SH AUTHOR
  1262.   Kim F. Storm, Texas Instruments A/S, Denmark
  1263.   .br
  1264. *** ./LAST/man/nncheck.1    Wed May  2 20:50:44 1990
  1265. --- man/nncheck.1    Tue May 15 13:29:12 1990
  1266. ***************
  1267. *** 88,101 ****
  1268.   .DT
  1269.   .ta \w'$db/MASTER'u+6m
  1270.   .\"ta 0 12
  1271. ! ~/.nn/rc    The record of read articles
  1272.   .br
  1273.   $db/MASTER    The database master index
  1274.   .DT
  1275.   .SH SEE ALSO
  1276. ! nn(1), nngoback(1), nngrep(1), nntidy(1)
  1277.   .br
  1278. ! nnadmin(1M), nnquery(1M), nnusage(1M), nnmaster(1M)
  1279.   .SH AUTHOR
  1280.   Kim F. Storm, Texas Instruments A/S, Denmark
  1281.   .br
  1282. --- 88,101 ----
  1283.   .DT
  1284.   .ta \w'$db/MASTER'u+6m
  1285.   .\"ta 0 12
  1286. ! ~/.newsrc    The record of read articles
  1287.   .br
  1288.   $db/MASTER    The database master index
  1289.   .DT
  1290.   .SH SEE ALSO
  1291. ! nn(1), nngoback(1), nngrab(1), nngrep(1), nnpost(1), nntidy(1)
  1292.   .br
  1293. ! nnadmin(1M), nnusage(1M), nnmaster(1M)
  1294.   .SH AUTHOR
  1295.   Kim F. Storm, Texas Instruments A/S, Denmark
  1296.   .br
  1297. *** ./LAST/man/nngoback.1    Thu Apr 26 14:57:00 1990
  1298. --- man/nngoback.1    Tue May 15 13:29:16 1990
  1299. ***************
  1300. *** 81,89 ****
  1301.   .br
  1302.   .DT
  1303.   .SH SEE ALSO
  1304. ! nn(1), nncheck(1), nngrep(1), nntidy(1)
  1305.   .br
  1306. ! nnadmin(1M), nnquery(1M), nnusage(1M), nnmaster(8)
  1307.   .SH NOTES
  1308.   \fBnngoback\fP does not check the age of the `old' active files; it
  1309.   will blindly believe that active.0 was created today, and that
  1310. --- 81,89 ----
  1311.   .br
  1312.   .DT
  1313.   .SH SEE ALSO
  1314. ! nn(1), nncheck(1), nngrab(1), nngrep(1), nnpost(1), nntidy(1)
  1315.   .br
  1316. ! nnadmin(1M), nnusage(1M), nnmaster(8)
  1317.   .SH NOTES
  1318.   \fBnngoback\fP does not check the age of the `old' active files; it
  1319.   will blindly believe that active.0 was created today, and that
  1320. *** ./LAST/man/nngrab.1    Sun Apr 29 15:32:05 1990
  1321. --- man/nngrab.1    Tue May 15 13:19:30 1990
  1322. ***************
  1323. *** 36,42 ****
  1324.   .SH SEE ALSO
  1325.   nn(1), nnspew(8), egrep(1)
  1326.   .SH NOTES
  1327. ! \fInngrap\fP \fIcan be\fP much faster than the equivalent command
  1328.   shown above, if the tertiary news subject
  1329.   database generated by the \fInnspew\fP(8) daemon exists.  To enable
  1330.   the faster operation, \fInnspew\fP must be executed regularly by cron.
  1331. --- 36,42 ----
  1332.   .SH SEE ALSO
  1333.   nn(1), nnspew(8), egrep(1)
  1334.   .SH NOTES
  1335. ! \fInngrab\fP \fIcan be\fP much faster than the equivalent command
  1336.   shown above, if the tertiary news subject
  1337.   database generated by the \fInnspew\fP(8) daemon exists.  To enable
  1338.   the faster operation, \fInnspew\fP must be executed regularly by cron.
  1339. *** ./LAST/man/nngrep.1    Mon Apr 23 18:32:11 1990
  1340. --- man/nngrep.1    Tue May 15 13:29:16 1990
  1341. ***************
  1342. *** 87,95 ****
  1343.   ~/.nn/init    The presentation sequence
  1344.   .DT
  1345.   .SH SEE ALSO
  1346. ! nn(1), nncheck(1), nngoback(1), nngrep(1)
  1347.   .br
  1348. ! nnadmin(1M), nnquery(1M), nnusage(1M), nnmaster(8)
  1349.   .SH AUTHOR
  1350.   Kim F. Storm, Texas Instruments A/S, Denmark
  1351.   .br
  1352. --- 87,95 ----
  1353.   ~/.nn/init    The presentation sequence
  1354.   .DT
  1355.   .SH SEE ALSO
  1356. ! nn(1), nncheck(1), nngoback(1), nngrab(1), nnpost(1), nntidy(1)
  1357.   .br
  1358. ! nnadmin(1M), nnusage(1M), nnmaster(8)
  1359.   .SH AUTHOR
  1360.   Kim F. Storm, Texas Instruments A/S, Denmark
  1361.   .br
  1362. *** ./LAST/man/nnmaster.8    Tue May 15 13:31:09 1990
  1363. --- man/nnmaster.8    Tue May 15 13:29:15 1990
  1364. ***************
  1365. *** 62,68 ****
  1366.   be collected.  Individual groups, e.g. news.software.nn, can also be
  1367.   specified
  1368.   .sp 0.5v
  1369. ! A group name preceeded by an exclamation mark, e.g. !talk.politics,
  1370.   will cause the group and all its subgroups to be ignored.
  1371.   .sp 0.5v
  1372.   An empty argument, i.e. "", will cause all groups that are not ignored
  1373. --- 62,68 ----
  1374.   be collected.  Individual groups, e.g. news.software.nn, can also be
  1375.   specified
  1376.   .sp 0.5v
  1377. ! A group name preceded by an exclamation mark, e.g. !talk.politics,
  1378.   will cause the group and all its subgroups to be ignored.
  1379.   .sp 0.5v
  1380.   An empty argument, i.e. "", will cause all groups that are not ignored
  1381. ***************
  1382. *** 73,79 ****
  1383.   .br
  1384.   If the empty argument had been omitted, nothing would be collected,
  1385.   since the presence of any \fIgroups\fP arguments causes \fInnmaster\fP
  1386. ! to ignore all groups which are not explicitly mentionned.
  1387.   .sp 0.5v
  1388.   Example 1: The following commands can be executed by cron to collect
  1389.   different sets of groups at different intervals or under different
  1390. --- 73,79 ----
  1391.   .br
  1392.   If the empty argument had been omitted, nothing would be collected,
  1393.   since the presence of any \fIgroups\fP arguments causes \fInnmaster\fP
  1394. ! to ignore all groups which are not explicitly mentioned.
  1395.   .sp 0.5v
  1396.   Example 1: The following commands can be executed by cron to collect
  1397.   different sets of groups at different intervals or under different
  1398. ***************
  1399. *** 295,301 ****
  1400.   collection of articles following the database initialization.  This is
  1401.   useful on systems where the 'min' field in the active file is
  1402.   unreliable or not maintained (Cnews doesn't) to limit the work done to
  1403. ! do the initial collection of news after the initalization of the
  1404.   database.  If news is accessed remotely from an NNTP server, this is
  1405.   even more important!  If \fIlimit\fP is omitted, or is zero,
  1406.   \fInnmaster\fP will trust the min field and collect all articles in
  1407. --- 295,301 ----
  1408.   collection of articles following the database initialization.  This is
  1409.   useful on systems where the 'min' field in the active file is
  1410.   unreliable or not maintained (Cnews doesn't) to limit the work done to
  1411. ! do the initial collection of news after the initialization of the
  1412.   database.  If news is accessed remotely from an NNTP server, this is
  1413.   even more important!  If \fIlimit\fP is omitted, or is zero,
  1414.   \fInnmaster\fP will trust the min field and collect all articles in
  1415. ***************
  1416. *** 424,430 ****
  1417.   Comments (starting with `#' and continuing to the end of line) and
  1418.   empty lines are allow in the GROUPS file, but it is strongly
  1419.   recommended to keep the changes to the GROUPS file as small as
  1420. ! possible, because of the implicit correspondance with the binary
  1421.   MASTER file.
  1422.   .LP
  1423.   It is not recommended to edit the GROUPS file while \fInnmaster\fP is
  1424. --- 424,430 ----
  1425.   Comments (starting with `#' and continuing to the end of line) and
  1426.   empty lines are allow in the GROUPS file, but it is strongly
  1427.   recommended to keep the changes to the GROUPS file as small as
  1428. ! possible, because of the implicit correspondence with the binary
  1429.   MASTER file.
  1430.   .LP
  1431.   It is not recommended to edit the GROUPS file while \fInnmaster\fP is
  1432. ***************
  1433. *** 510,516 ****
  1434.   .SH SEE ALSO
  1435.   nn(1), nncheck(1), nngrep(1), nntidy(1)
  1436.   .br
  1437. ! nnadmin(1M), nnquery(1M), nnusage(1M), nnmaster(8)
  1438.   .SH AUTHOR
  1439.   Kim F. Storm, Texas Instruments A/S, Denmark
  1440.   .br
  1441. --- 510,516 ----
  1442.   .SH SEE ALSO
  1443.   nn(1), nncheck(1), nngrep(1), nntidy(1)
  1444.   .br
  1445. ! nnadmin(1M), nnspew(8), nnusage(1M)
  1446.   .SH AUTHOR
  1447.   Kim F. Storm, Texas Instruments A/S, Denmark
  1448.   .br
  1449. *** ./LAST/man/nnspew.8    Sun Apr  1 21:36:05 1990
  1450. --- man/nnspew.8    Tue May 15 13:19:31 1990
  1451. ***************
  1452. *** 24,30 ****
  1453.   $db/subjects    subject database
  1454.   .DT
  1455.   .SH SEE ALSO
  1456. ! nn(1), nnspew(8), egrep(1)
  1457.   .SH NOTES
  1458.   \fInngrap\fP will use the subject database generated by \fInnspew\fP
  1459.   independent of its age.  Thus, if you stop running \fInnspew\fP,
  1460. --- 24,30 ----
  1461.   $db/subjects    subject database
  1462.   .DT
  1463.   .SH SEE ALSO
  1464. ! nn(1), nngrab(1), egrep(1)
  1465.   .SH NOTES
  1466.   \fInngrap\fP will use the subject database generated by \fInnspew\fP
  1467.   independent of its age.  Thus, if you stop running \fInnspew\fP,
  1468. *** ./LAST/man/nntidy.1    Mon Apr 23 18:32:10 1990
  1469. --- man/nntidy.1    Tue May 15 13:29:14 1990
  1470. ***************
  1471. *** 70,78 ****
  1472.   ~/.newsrc.tidy    The original rc file before tidy
  1473.   .DT
  1474.   .SH SEE ALSO
  1475. ! nn(1), nncheck(1), nngoback(1), nngrep(1)
  1476.   .br
  1477. ! nnadmin(1M), nnquery(1M), nnusage(1M), nnmaster(8)
  1478.   .SH AUTHOR
  1479.   Kim F. Storm, Texas Instruments A/S, Denmark
  1480.   .br
  1481. --- 70,78 ----
  1482.   ~/.newsrc.tidy    The original rc file before tidy
  1483.   .DT
  1484.   .SH SEE ALSO
  1485. ! nn(1), nncheck(1), nngoback(1), nngrab(1), nngrep(1), nnpost(1)
  1486.   .br
  1487. ! nnadmin(1M), nnusage(1M), nnmaster(8)
  1488.   .SH AUTHOR
  1489.   Kim F. Storm, Texas Instruments A/S, Denmark
  1490.   .br
  1491. *** ./LAST/menu.c    Sun Apr 29 23:41:29 1990
  1492. --- menu.c    Tue May 15 12:05:24 1990
  1493. ***************
  1494. *** 28,34 ****
  1495.   export int  auto_preview_mode = 0; /* preview rather than select */
  1496.   export int  preview_continuation = 12; /* what to do after preview */
  1497.   export int  preview_mark_read = 1; /* previewed articles are A_READ */
  1498. ! export int  select_on_sender = 0; /* + command selects on sender */
  1499.   
  1500.   export char delayed_msg[100] = "";    /* give to msg() after redraw */
  1501.   
  1502. --- 28,35 ----
  1503.   export int  auto_preview_mode = 0; /* preview rather than select */
  1504.   export int  preview_continuation = 12; /* what to do after preview */
  1505.   export int  preview_mark_read = 1; /* previewed articles are A_READ */
  1506. ! export int  select_on_sender = 0; /* find command selects on sender */
  1507. ! export int  auto_select_subject = 0; /* auto select articles with same subj. */
  1508.   
  1509.   export char delayed_msg[100] = "";    /* give to msg() after redraw */
  1510.   
  1511. ***************
  1512. *** 1210,1215 ****
  1513. --- 1211,1217 ----
  1514.   
  1515.        cura = article_id;
  1516.        toggle();
  1517. +      if (auto_select_subject) goto select_subject;
  1518.        mark();
  1519.        cura++;
  1520.   
  1521. ***************
  1522. *** 1269,1274 ****
  1523. --- 1271,1277 ----
  1524.        if (last_k_cmd != K_ARTICLE_ID && last_k_cmd != K_SELECT)
  1525.            toggle();
  1526.   
  1527. +       select_subject:
  1528.        while (firsta+cura > 0 &&
  1529.           (articles[firsta+cura]->flag & (A_SAME | A_ALMOST_SAME)))
  1530.            cura--;
  1531. *** ./LAST/newsrc.c    Fri Apr 27 20:54:55 1990
  1532. --- newsrc.c    Mon May 14 15:32:46 1990
  1533. ***************
  1534. *** 413,419 ****
  1535.               last_new_gh = gh;
  1536.   
  1537.           if (new_group_action != RCX_TIME) {
  1538. !             printf("\nNew group: %s -- append to .newsrc? (y)");
  1539.               if (yes(0) <= 0) continue;
  1540.           }
  1541.           sprintf(buf, "%s:\n", gh->group_name);
  1542. --- 413,420 ----
  1543.               last_new_gh = gh;
  1544.   
  1545.           if (new_group_action != RCX_TIME) {
  1546. !             printf("\nNew group: %s -- append to .newsrc? (y)",
  1547. !                gh->group_name);
  1548.               if (yes(0) <= 0) continue;
  1549.           }
  1550.           sprintf(buf, "%s:\n", gh->group_name);
  1551. *** ./LAST/nn.c    Fri Apr 27 20:23:00 1990
  1552. --- nn.c    Mon May 14 17:14:00 1990
  1553. ***************
  1554. *** 726,732 ****
  1555.       nn_exit(cmd);
  1556.       }
  1557.   
  1558. !     if (!silent || who_am_i == I_AM_CHECK)
  1559.       printf("Release %s,  Kim F. Storm, 1990\n\n", version_id);
  1560.   
  1561.       if (nn_locked()) nn_exit(2);
  1562. --- 726,732 ----
  1563.       nn_exit(cmd);
  1564.       }
  1565.   
  1566. !     if (!silent && who_am_i != I_AM_CHECK)
  1567.       printf("Release %s,  Kim F. Storm, 1990\n\n", version_id);
  1568.   
  1569.       if (nn_locked()) nn_exit(2);
  1570. *** ./LAST/nntp.c    Tue May 15 13:31:12 1990
  1571. --- nntp.c    Mon May 14 17:13:53 1990
  1572. ***************
  1573. *** 816,826 ****
  1574.       *art++ = atol(cp);
  1575.       count++;
  1576.       }
  1577. -     *art = 0;
  1578.   
  1579. !     if (try_listgroup)
  1580. !     quicksort(article_list, count, article_number, sort_art_list);
  1581. !     *art = 0;
  1582.       return article_list;
  1583.   }
  1584.   
  1585. --- 816,827 ----
  1586.       *art++ = atol(cp);
  1587.       count++;
  1588.       }
  1589.   
  1590. !     if (article_list != NULL) {
  1591. !     *art = 0;
  1592. !     if (try_listgroup && count > 1)
  1593. !         quicksort(article_list, count, article_number, sort_art_list);
  1594. !     }
  1595.       return article_list;
  1596.   }
  1597.   
  1598. *** ./LAST/patchlevel.h    Tue May 15 13:31:12 1990
  1599. --- patchlevel.h    Tue May 15 17:31:39 1990
  1600. ***************
  1601. *** 12,18 ****
  1602.    *    1990-05-07: Release 6.4        (comp.sources.unix)
  1603.    *
  1604.    *    1990-05-10: Patch #1 (6.4.1)
  1605.    */
  1606.   
  1607. ! #define PATCHLEVEL 1
  1608.   
  1609. --- 12,19 ----
  1610.    *    1990-05-07: Release 6.4        (comp.sources.unix)
  1611.    *
  1612.    *    1990-05-10: Patch #1 (6.4.1)
  1613. +  *    1990-05-15: Patch #2 (6.4.2)
  1614.    */
  1615.   
  1616. ! #define PATCHLEVEL 2
  1617.   
  1618. *** ./LAST/term.c    Tue May 15 13:31:15 1990
  1619. --- term.c    Mon May 14 15:32:44 1990
  1620. ***************
  1621. *** 1206,1212 ****
  1622.           break;
  1623.       }
  1624.       if (help) {
  1625. !         fputs(" y=YES n=NO", stdout);
  1626.           prompt_length += 11;
  1627.           help = 0;
  1628.       }
  1629. --- 1206,1212 ----
  1630.           break;
  1631.       }
  1632.       if (help) {
  1633. !         fputs(" y=YES n=NO", stdout); fl;
  1634.           prompt_length += 11;
  1635.           help = 0;
  1636.       }
  1637. *** ./LAST/variable.c    Tue May 15 13:31:16 1990
  1638. --- variable.c    Tue May 15 12:06:28 1990
  1639. ***************
  1640. *** 46,51 ****
  1641. --- 46,52 ----
  1642.       append_sig_mail,
  1643.       append_sig_post,
  1644.       auto_junk_seen,
  1645. +     auto_select_subject,
  1646.       auto_preview_mode,
  1647.       case_fold_search,
  1648.       compress_mode,
  1649. ***************
  1650. *** 56,61 ****
  1651. --- 57,63 ----
  1652.       conf_group_entry,
  1653.       conf_junk_seen,
  1654.       delay_redraw,
  1655. +     dflt_kill_select,
  1656.       do_kill_handling,
  1657.       dont_sort_articles,
  1658.       dont_sort_folders,
  1659. ***************
  1660. *** 187,192 ****
  1661. --- 189,195 ----
  1662.       "attributes",        STR 1,        (char **)attributes,
  1663.       "auto-junk-seen",        BOOL 0,        (char **)&auto_junk_seen,
  1664.       "auto-preview-mode",    BOOL 0,        (char **)&auto_preview_mode,
  1665. +     "auto-select-subject",    BOOL 0,        (char **)&auto_select_subject,
  1666.       "backup",            BOOL 0,        (char **)&keep_rc_backup,
  1667.       "backup-suffix",        STR 0,        (char **)&bak_suffix,
  1668.       "bug-report-address",     STR 0,        (char **)&bug_address,
  1669. ***************
  1670. *** 211,216 ****
  1671. --- 214,220 ----
  1672.       "decode-header-file",    STR 0,        (char **)&decode_header_file,
  1673.       "decode-skip-prefix",    INT 0,        (char **)&decode_skip_prefix,
  1674.       "default-distribution",    STR 0,        (char **)&default_distribution,
  1675. +     "default-kill-select",    INT 0,        (char **)&dflt_kill_select,
  1676.       "default-save-file",    STR 3,        (char **)&default_save_file,
  1677.       "delay-redraw",        BOOL 0,        (char **)&delay_redraw,
  1678.       "edit-patch-command",     BOOL 0,        (char **)&edit_patch_command,
  1679. *** ./LAST/xmakefile    Wed May  2 20:50:41 1990
  1680. --- xmakefile    Fri May 11 00:48:41 1990
  1681. ***************
  1682. *** 152,158 ****
  1683.   * merge nn.1
  1684.   
  1685.   man/nn.1:    man/nn.1.A man/nn.1.B man/nn.1.C man/nn.1.D
  1686. !     [ ! -f man/nn.1 ] || mv man/nn.1 man/nn.1~
  1687.       cat man/nn.1.? > man/nn.1
  1688.   
  1689.   *
  1690. --- 152,158 ----
  1691.   * merge nn.1
  1692.   
  1693.   man/nn.1:    man/nn.1.A man/nn.1.B man/nn.1.C man/nn.1.D
  1694. !     -[ ! -f man/nn.1 ] || mv man/nn.1 man/nn.1~
  1695.       cat man/nn.1.? > man/nn.1
  1696.   
  1697.   *
  1698. -- 
  1699. Kim F. Storm        storm@texas.dk        Tel +45 429 174 00
  1700. Texas Instruments, Marielundvej 46E, DK-2730 Herlev, Denmark
  1701.       No news is good news, but nn is better!
  1702.