At 09:13 AM 4/11/02 -0400, Ron Jarrell wrote:
>I'm guessing that there's something wrong in the way Tagger calls
>Parser in this case...  I'll eyeball the code again myself; maybe a
>fresh pair of eyes will catch something you're missing cause you've
>been staring at it too long.

Hah!

This is my morning for epiphanies.  I suppose that it helps that this turns out to be 
very similar to a problem the mirapoint scanners were having this morning, and I 
already had the brainstorm that figured out their continuation header processing was 
broken.

You've got a logic flaw.  Let me guess, you don't indent much when you write prose, do 
you :-)?

You allow through lines that start with a whitespace into the new message object that 
you're building to parse the headers out of, since they're likely a continuation 
header.  But they're likely not a continuation header *in the body of the message*!

Send a message to a list with topics defined.  (See my previous note about the bug in 
topics_enabled - only the
gui uses it, Tagger keys on topics defined.

Indent the first line. Like:
        Hi there

You should get the error when Parser hits it before it hits anything else in the new 
"header".

Tagger.py:96 says:

if line[0] not in ' \t' and line.find(':') < 0:

So any line that starts with a whitespace gets bundled into the test, even if the
*previous* line wasn't a possible header line.

If you want to support continuation lines on pseudo-headers in the body, you either
need to maintain state like Parser does, to decide whether it's really a continuation,
or just an indented line, or just bag that test all together, and only accept lines 
with
a ":", and not support continuation lines in the pseudo-headers.



_______________________________________________
Mailman-Developers mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-developers

Reply via email to