Bruce Lilly wrote:
[replace [FWS] by *WSP where CRLF is forbidden]
That alone would break the parse grammar, which needs to
accommodate obs-FWS.
Dubious for USEFOR, because there we don't have any obs-*
with two clearly documented exceptions, both unrelated to
a leading ":" SP [FWS] or a trailing [FWS] CRLF.
We could introduce NFWS ("non-folding white space") if you
want to preserve the forbidden obs-FWS somehow:
NFWS = *WSP / obs-FWS ; replace 20 [FWS] by NFWS
OTOH I've already tested that it doesn't work in the case
of the leading ":" SP [FWS], it MUST be ":" SP *WSP, not
one CRLF, let alone many obs-FWS CRLF, exactly zero CRLF.
s/where CFWS occurs/where CFWS or FWS occurs/ in 3.2.3
Not really, because every instance of FWS is necessarily
CFWS (but not the converse):
Yes, and every instance of <atom> is a <word>.
| However, where <word> occurs in this standard, it MUST NOT
| be longer than 255 characters.
Does that affect any other <atom> outside of a <word> ? I'm
sure that it doesn't. Apparently Charles also reads it this
way.
One more experiment: Every instance of <quoted-string> is
a <word>, same rule as above, does it say something about
any <quoted-string> elsewhere, e.g. in a <local-part> ?
Are all <quoted-string>s limited to 255 characters as soon
as this is the case for all <word>s ?
If you read CFWS as "comments and/or folding whitespace"
there's no problem.
This idea won't work for word = atom / quoted-string.
[formatting]
Use abnff or deroff if you don't like it.
No nroff on my box, sorry. It would be easier to dicuss
your idea if you present it in human readable plain text,
with one alternative for each rule (the shortest without
any encoded uew / pew / ... rules).
The encoded-word rules are somewhat complex
Indeed, probably unnecessary for a 2822bis. It's clear
why you are interested to have it in a complete parser,
but for 2822bis we better stick to the 2822 idea, no MIME.
Bye, Frank