[Top] [All Lists]

Re: evaluating tests when the result makes no sense

2008-11-29 17:35:59

On Sat, 29 Nov 2008, Arnt Gulbrandsen wrote:
I _thought_ sieve required short-circuiting, but didn't feel courageous 
enough reply to Dilian's message...

The base spec doesn't require it because it's not observable without 

The only occurence of "short-curcuit" in 3028 was removed in 5228, and I 
didn't see anything to replace it. Further, and perhaps more seriously, 
I don't see any requirement of order. As far as I can see, a sieve 
implementation can evalue header and envelope in either order in this 

An implementation can do that only if the 'variables' extensions has not 
been required.  The variables spec, RFC 5229, says this in section 3.2:
   The interpreter MUST short-circuit tests, i.e., not perform more
   tests than necessary to find the result.  Evaluation order MUST be
   left to right.  If a test has two or more list arguments, the
   implementation is free to choose which to iterate over first.

Philip Guenther

<Prev in Thread] Current Thread [Next in Thread>