Hi,
3598 and 3598bis contain this (which I apologise for not spotting while
reviewing 3598bis):
The ":detail" argument specifies that sub-part of the local-part
which lies to the right of the separator character (e.g., "sieve" in
"ken+sieve(_at_)example(_dot_)org"). If no separator character exists, the
test
evaluates to false. If nothing lies to the right of the separator
character, then ":detail" ":is" the null key (""). Otherwise, the
":detail" sub-part contains the null key.
Why is the second sentence there? It seems to add a new value or throw
an exception which aborts the surrounding test and attempts to override
its result.
Consider this test and header fragment:
if address :detail ["to", "cc"] "sieve" {
fileinto "sieve";
}
From: someone(_at_)example(_dot_)org
To: arnt+sieve(_at_)example(_dot_)org
Cc: someone(_at_)example(_dot_)org
The specification for the "address" test lead me to think that since I'm
addressed as arnt+sieve, the test should hit. But no separator
character exists on the Cc field, so the second sentence quoted above
says the address test fails.
I don't like the way the address and :detail specifications conflict in
this case.
Arnt