From: Eivind Tagseth (eivindt@multinet.no)
Date: Tue Jun 29 2004 - 03:04:03 CDT
* Frank Ellermann <nobody@xyzzy.claranet.de> [2004-06-29 01:00:30 +0200]:
> Charles Lindsey wrote:
>
> > I think you are wrong there. The Subject-header is still
> > syntactically "unstructured"
>
> IMHO John and Bruce have demonstrated that this "unstructured
> structure" leads to contradictions, and a clean solution is to
> accept the structure.
How then? The ABNF would look something like this:
Alternative 1:
--------------
subject = "Subject:" [ (back-reference / cmsg ) ] topic CRLF
back-reference = "Re: "
cmsg = "cmsg"
topic = unstructured
(well, more or less)
Using this ABNF, it is of course not possible to see if the subject contains
a cmsg, or if the topic starts with "cmsg", and we can't have that, can we?
Alternative 2:
--------------
subject = "Subject:" [ (back-reference / cmsg ) ] topic CRLF
back-reference = "Re"
cmsg = "cmsg"
topic = topic-separator topic-text
topic-separator = ": "
topic-text = unstructured
Now, it is possible to tell if the message starts with a cmsg or a
back-reference, but now all other subjects must start with a topic-separator!
Alternative 3:
--------------
subject = "Subject:" [ (back-reference / cmsg ) ] topic CRLF
back-reference = "Re: "
cmsg = "cmsg"
topic = <any ascii text that doesn't start with "cmsg" or "Re: ">
Which I find quite messy.
Unless I've missed an obvious way to structure this header, how can you
possibly find any of the alternatives above "clean"?
RFC 2822 is nice and clean, let's keep it:
subject = "Subject:" unstructured CRLF
Besides, Alexey's messages
http://www.landfield.com/usefor/2004/Jun/0443.html
http://www.landfield.com/usefor/2004/Jun/0446.html
are quite clear, it is not going to happen, use of "Re: " and "cmsg" will
only be documented in USEAGE.
Eivind