ietf-mta-filters
[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 
variables.


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 
case:

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>