Use a case-sensitive version of SafeConfigParser everywhere
This change has the potential to break existing setups, but the current
behaviour (the keys in configuration files are always lower-cased) can
bite us in a few places:
- no way to use a Command in [defaults]
- hgext.Extension doesn't work in [extensions]
- you can't use an Upper/case/PATH in the [paths] section of hgweb.config
- you can't (easily) protect paths with upper-case letters with the
acl extension
- you can't specify a /Path/TO/a/rEPO in the [reposubs] section for
the notify extension
[('bool1', 'true'), ('bool2', 'false'), ('string', 'string value')]
[('list1', 'foo'), ('list2', 'foo bar baz'), ('list3', 'alice, bob'), ('list4', 'foo bar baz alice, bob')]
Error in configuration section [interpolation]:
'%' must be followed by '%' or '(', found: '%bad2'
---
'string value'
'true'
'false'
None
---
Not a boolean: string value
True
False
False
False
True
---
['foo']
['foo', 'bar', 'baz']
['alice', 'bob']
['foo', 'bar', 'baz', 'alice', 'bob']
['foo', 'bar', 'baz', 'alice', 'bob']
[]
[]
['foo']
['foo']
['foo', 'bar']
['foo', 'bar']
['foo bar']
['foo', 'bar']
---
'hallo'
'hallo world'
Error in configuration section [interpolation] parameter 'value3':
Bad value substitution:
section: [interpolation]
option : value3
key : novalue
rawval :
Error in configuration section [interpolation] parameter 'value4':
bad interpolation variable reference '%(bad)1'
Error in configuration section [interpolation] parameter 'value5':
'%' must be followed by '%' or '(', found: '%bad2'
---