[Gisle Aas]:
I was not able to tell from RFC 3028 if the extension names
provided with the require statement are case-insensitive or not.
Should this work?
REQUIRE "FILEINTO";
fileinto "FOO";
I'd say no.
The closest thing I find is section 2.1 that says:
Tokens in the ASCII range are considered case-insensitive.
Should strings (as the argument to require) be considered tokens
in this regard?
I agree it isn't clearly stated, but strings are called "literal
data", and you can do case sensitive matching (using the "i;octet"
comparator) on literal strings. from this I conclude that strings
preserve case unless otherwise stated. but then there is this tidbit:
[2.7.3 Comparators]:
| In order to allow for language-independent, case-independent matches,
| the match type may be coupled with a comparator name. [...]
|
| All implementations MUST support the "i;octet" comparator (simply
| compares octets) and the "i;ascii-casemap" comparator (which treats
| uppercase and lowercase characters in the ASCII subset of UTF-8 as
| the same). If left unspecified, the default is "i;ascii-casemap".
I find it dubious to apply this default comparator on actions where no
match type can be specified or is explicitly specified. in other
words, I don't think it is right to say that REQUIRE has an implicit
:IS match type.
--
Kjetil T.