[news.newusers.questions] RN kill-filing of all but certain subjects

wdstarr@athena.mit.edu (William December Starr) (02/04/90)

This one should be simple, but it's got me going around in circles.
How do I set up an RN killfile that will kill everything except
articles which contain certain character strings in their subject
line?

The situation: In rec.games.frp, the only things I'm interested in are
postings of "war stories" involving a character name Navero and a
world named Tabernac.  I'm assuming that all relevant articles will
contain either "Navero" or "Tabern" in their subject line.  What I've
tried is the following killfile:

	THRU 18594
	/.*/j
	/navero/r:m
	/tabern/r:m

What happens, though, is that after executing the "/.*/j" which marks
everything as read (btw, is there a faster way to do this -- I tried
to put in an "^-$j", but it didn't get executed), RN, rather than
going back to article 18594 and foreward-scanning for "navero", begins
_backwards-scanning_ from 18594.  Not good.

I've tried this without the "r" following the slash-delimited string,
and the same thing seems to happen.  What should I do?
-- 
William December Starr <wdstarr@athena.mit.edu>

goldfarb@ocf.berkeley.edu (David Goldfarb) (02/04/90)

In article <1990Feb3.213343.27579@athena.mit.edu> wdstarr@athena.mit.edu (William December Starr) writes:
)
)This one should be simple, but it's got me going around in circles.
)How do I set up an RN killfile that will kill everything except
)articles which contain certain character strings in their subject
)line?
)
)William December Starr 

       This question has come up before, so I'll post instead of 
email. A method that I just tested and seems to work is this:

/(whatever you're interested in)/:M 
                                  (note the upper case M!)
       This takes the articles hat you're interested in and marks
them to return. Then when you enter the article selection level
use the 'c' command. This will mark everything read and exit you
from the newsgroup, whereupon the M command from the kill file will
mark all the relevant articles as *un*read. You can then reenter
the group and read only the articles you want.
       If you don't want to go to the trouble of hitting 'c', you
can put the line '/./:j' in the kill-file, but 'c' will probably
be faster.

David Goldfarb    goldfarb@ocf.berkeley.edu   (Insert standard disclaimer)
"I love this season. The new snow muffles the sounds of approaching footsteps."
                     --Calvin & Hobbes, 1/28/90

wdstarr@athena.mit.edu (William December Starr) (02/05/90)

In article <34108@ucbvax.BERKELEY.EDU>, David Goldfarb said:

> A method that I just tested and seems to work is this:
> 
> /(whatever you're interested in)/:M 
>                                   (note the upper case M!)
>        This takes the articles that you're interested in and marks
> them to return. Then when you enter the article selection level
> use the 'c' command.

I received similar advice via email from a few people, so I tried it.
It didn't work very well.  Here's what happened:

The relevant line in my .newsrc file was

	rec.games.frp: 1-18600

and my ~/News/rec/games/frp/Kill file, it its entirety, was

	THRU 18600
	/navero/:M

and this is what happened, with the important stuff highlighted...

	athena% rn
	
	Unread news in rec.games.frp           14 articles
	Unread news in rec.arts.startrek        2 articles
	Unread news in rec.arts.sf-lovers       2 articles
	Unread news in rec.arts.movies          5 articles
	Unread news in rec.arts.tv              1 article
	etc.
	
	********  14 unread articles in rec.games.frp--read now? [ynq] 
	Looking for articles to kill...
	
	/navero/:M
!!!--->	18491 	Will return
	
	Type space to continue]
	
	Article 18601 (13 more + 1 Marked to return)) in rec.games.frp:
	From: wt0b+@andrew.cmu.edu (William Henry Timmins)
	Subject: Re: Adversaries
	Date: 3 Feb 90 23:03:56 GMT
	Lines: 19
	In-Reply-To: <1990Feb3.162751.10607@sci.ccny.cuny.edu>
	
	--MORE--(30%) c
	Do you really want to mark everything as read? [yn] y
	
	Returning 1 Marked article...
	End of newsgroup rec.games.frp.
	

As you can see, even though every article up to and including #18600
was already marked as read (according to my .newsrc), and even though
the THRU line of the kill file said "18600," RN somehow decided to
scan _backwards_ into articles with numbers < 18600 until it found a
match on the character string it was looking for.

Am I still doing something wrong, or is there a problem with the
version of RN I'm using?

----
William December Starr <wdstarr@athena.mit.edu>

rwilliam@grebyn.com (Roger Williams) (02/05/90)

In article <1990Feb4.191613.16386@athena.mit.edu> wdstarr@athena.mit.edu (William December Starr) writes:

>In article <34108@ucbvax.BERKELEY.EDU>, David Goldfarb said:

>> A method that I just tested and seems to work is this:
 
>> /(whatever you're interested in)/:M 
>>                                   (note the upper case M!)
>>        This takes the articles that you're interested in and marks
>> them to return. Then when you enter the article selection level
>> use the 'c' command.
>
>I received similar advice via email from a few people, so I tried it.
>It didn't work very well.  Here's what happened:

[demonstration that it didn't work]

OK, try this, change the command in your KILL file to
/whatever you're interested in/M: 

Note that the colon _follows_ instead of precedes the  upper case
M.  As Goldfarb says, this will mark the articles you're
interested in for later return.  Then hit c at the article
selection command to catch up all the rest of the unwanted
articles.  The wanted ones that were selected will be returned
and can then be read by hitting the spacebar.  I just tried  this
out and it worked for me.

Roger Williams
rwilliam@grebyn.com

wsinrn@lso.win.tue.nl (Rob J. Nauta) (02/06/90)

Hi

I want to set up a global kill file, but I don't kow how. what is the best
way ? In it I want to put words like 'call for papers' and other boring
stuff, but so that if lists the killed articles with subject so I can
see what it was and read them anyway if I want to.

Greetings
Rob

-- 
Rob J. Nauta                        wsinrn@eutws1.win.tue.nl
L. v Lancveltlaan 18                wsinrn@lso.win.tue.nl
5671 CN Nuenen, Holland, Europe
Phone: 31-40-833777                 My BBS (Fidelitel): 31-40-837549 .

wdstarr@athena.mit.edu (William December Starr) (02/06/90)

Our story so far:

I want to set up an RN kill file that'll (1) save from junking any
articles with certain secret code words in their subject lines and
(2) blow away all other articles.

Somebody suggested a two-tier approach consisting of (1) putting
nothing but "/secret words/:M" (without the quote marks) in my kill
file and then, after the kill file ran, doing a "cy" to junk
_everything_, secure in the knowledge that that "M" will cause to be
restored all the stuff I want to save. 

I tested out Phase (1) and got some weird results, to wit: despite the
fact that I had my secret words enclosed in /slashes/ instead of
?question marks? and despite the fact that the character "r" did not
appear anywhere in my command stream, RN still proceeded to do a
backwards search thru stuff I'd already read until it found a match
for my secret words.  (As a side note, when it was doing this, RN did
_not_ count backwards by fifties, [e.g., 18550... 18500... etc.].  I
don't know what that omission indicates.)

So anyway, in article <19340@grebyn.com>, Roger Williams said:

> OK, try this, change the command in your KILL file to
> /whatever you're interested in/M: 
> 
> Note that the colon _follows_ instead of precedes the upper case M.
> :
> :
> I just tried this out and it worked for me.

So I tried it out... and got identical results.
(Hey, at least it's reproducable! :-)  

Anybody got any ideas?

----
William December Starr <wdstarr@athena.mit.edu>

sjm@sun.acs.udel.edu (Steve Morris) (02/06/90)

In article <1990Feb6.032448.20062@athena.mit.edu> wdstarr@athena.mit.edu (William December Starr) writes:
>
>Our story so far:
>
[stuff deleted]
>I tested out Phase (1) and got some weird results, to wit: despite the
>fact that I had my secret words enclosed in /slashes/ instead of
>?question marks? and despite the fact that the character "r" did not
>appear anywhere in my command stream, RN still proceeded to do a
>backwards search thru stuff I'd already read until it found a match
>for my secret words.  (As a side note, when it was doing this, RN did
>_not_ count backwards by fifties, [e.g., 18550... 18500... etc.].  I
>don't know what that omission indicates.)
>
>So anyway, in article <19340@grebyn.com>, Roger Williams said:
>> OK, try this, change the command in your KILL file to
>> /whatever you're interested in/M: 
>So I tried it out... and got identical results.
>Anybody got any ideas?
>


Well I don't have the solution but I do have an
explanation.

without a range it appears that RN will search the entire
list of messages available on your system.

That would explain why it uncovers your secret word
in old messages.
If your word appears in new messages and they are not
uncovered, I can't explain that.

Steve Morris
sjm@udel.edu

gwc@root.co.uk (Geoff Clare) (02/15/90)

Summary of previous articles: wdstarr@athena.mit.edu (William December Starr)
wants to junk all articles, except those which match a pattern, from rn KILL
files.  He has tried suggested methods with a "/pattern/:M" or "/pattern/M:"
in the KILL file, using "cy" to clear out all the other articles after the
KILL file has been processed, but finds that these methods bring back old
articles as well.

The explanation lies buried in the depths of the rn manual, which says that
if the first command is "m" or "M", then the "r" modifier is assumed.

So the solution is not to have your "M" command as the first command.  I
suggest using "/pattern/:=:M" as this has the useful side effect of listing
the subjects which are going to return.
-- 
Geoff Clare, UniSoft Limited, Saunderson House, Hayne Street, London EC1A 9HH
gwc@root.co.uk  (Dumb mailers: ...!uunet!root.co.uk!gwc)  Tel: +44-1-315-6600
                                         (from 6th May 1990): +44-71-315-6600