Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site sdcrdcf.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!harvard!talcott!panda!genrad!decvax!ittvax!dcdwest!sdcsvax!sdcrdcf!lwall From: lwall@sdcrdcf.UUCP (Larry Wall) Newsgroups: net.sources.bugs Subject: rn 4.3 patch #3 Message-ID: <1964@sdcrdcf.UUCP> Date: Mon, 13-May-85 20:34:55 EDT Article-I.D.: sdcrdcf.1964 Posted: Mon May 13 20:34:55 1985 Date-Received: Thu, 16-May-85 20:21:35 EDT Organization: System Development Corp. R+D, Santa Monica Lines: 141 System: rn version 4.3 Patch #: 3 Priority: VERY LOW Subject: search commands shouldn't report things junked that already were From: markb@sdcrdcf.UUCP (Mark Biggar) Description: Search and number-range commands that junk articles or mark them unread will report all articles found as junked or marked unread even if they already were read or unread, respectively. Fix: From rn, say "| patch -d DIR", where DIR is your rn source directory. Outside of rn, say "cd DIR; patch Patch #: 3 Index: ngstuff.c Prereq: 4.3 *** ngstuff.c.old Fri May 10 14:32:57 1985 --- ngstuff.c Fri May 10 14:32:59 1985 *************** *** 1,4 ! /* $Header: ngstuff.c,v 4.3 85/05/01 11:45:03 lwall Exp $ * * $Log: ngstuff.c,v $ * Revision 4.3 85/05/01 11:45:03 lwall --- 1,4 ----- ! /* $Header: ngstuff.c,v 4.3.1.2 85/05/10 14:31:52 lwall Exp $ * * $Log: ngstuff.c,v $ * Revision 4.3.1.2 85/05/10 14:31:52 lwall *************** *** 1,6 /* $Header: ngstuff.c,v 4.3 85/05/01 11:45:03 lwall Exp $ * * $Log: ngstuff.c,v $ * Revision 4.3 85/05/01 11:45:03 lwall * Baseline for release with 4.3bsd. * --- 1,12 ----- /* $Header: ngstuff.c,v 4.3.1.2 85/05/10 14:31:52 lwall Exp $ * * $Log: ngstuff.c,v $ + * Revision 4.3.1.2 85/05/10 14:31:52 lwall + * Prevented "Junked" or "Marked unread" when no state change. + * + * Revision 4.3.1.1 85/05/10 11:36:45 lwall + * Branch for patches. + * * Revision 4.3 85/05/01 11:45:03 lwall * Baseline for release with 4.3bsd. * *************** *** 223,229 if (isspace(ch) || ch == ':') continue; if (ch == 'j') { ! mark_as_read(art); #ifdef VERBOSE IF(verbose) fputs("\tJunked",stdout); --- 229,236 ----- if (isspace(ch) || ch == ':') continue; if (ch == 'j') { ! if (!was_read(art)) { ! mark_as_read(art); #ifdef VERBOSE IF(verbose) fputs("\tJunked",stdout); *************** *** 228,233 IF(verbose) fputs("\tJunked",stdout); #endif } else if (ch == 'm') { unmark_as_read(art); --- 235,241 ----- IF(verbose) fputs("\tJunked",stdout); #endif + } } else if (ch == 'm') { if (was_read(art)) { *************** *** 230,236 #endif } else if (ch == 'm') { ! unmark_as_read(art); #ifdef VERBOSE IF(verbose) fputs("\tMarked unread",stdout); --- 238,245 ----- } } else if (ch == 'm') { ! if (was_read(art)) { ! unmark_as_read(art); #ifdef VERBOSE IF(verbose) fputs("\tMarked unread",stdout); *************** *** 235,240 IF(verbose) fputs("\tMarked unread",stdout); #endif } else if (ch == 'M') { #ifdef DELAYMARK --- 244,250 ----- IF(verbose) fputs("\tMarked unread",stdout); #endif + } } else if (ch == 'M') { #ifdef DELAYMARK