Explicit specification of such
uncommon exceptions is the right thing to be doing. Specification of the
common reality as it if was in fact uncommon is not.
And no one is suggesting doing the latter. Relax on that point. All
we're talking about here is making sure that 5229 is clear with
respect to the core 5228 syntax.
But I still contend the definition in 5229 of what bits of the core
5228 syntax can be replaced by variables isn't sufficiently clear.
Unfortunately, (1) we all know what we meant, and (2) neither of us
has yet come up with text that cleanly fixes the issue.
As an aside, there *is* an unarguable erratum in 5229: where the text
says "multi-line-dotstuff" it should be "multiline-dotstart", and
where it says "multi-line-literal" it should say "multiline-literal".
For an example of the problem of clarity, let's look at an example from 5229:
fileinto "INBOX.lists.${2}"; stop;
I contend that's not valid from a strict reading of the grammar,
though we clearly want to allow it. We've said that a variable can
stand in for a "quoted-string", but we did not say it could stand in
for a PORTION of a quoted string -- specifically, for a quoted-text
construction (and I'm not sure even that would do it, given the 5228
grammar).
I'll also note that since we don't include "number" in the
constructions that can be substituted, we can't use variables in the
"size" test, for example. So this is syntactically invalid:
if size :over ${max} {
discard;
}
I'm not sure whether or not that was intended.
Barry
_______________________________________________
sieve mailing list
sieve(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/sieve