On Thu, Jul 12, 2012 at 2:05 PM, Daniel Shahaf <d...@daniel.shahaf.name> wrote:
> Johan Corveleyn wrote on Thu, Jul 12, 2012 at 11:28:18 +0200:
>> I think the only character that causes problems is ']' (which ends the
>> section name parsing). It seems not too hard to change that parsing
>
> Technically, 0x0A (newline) would likely be a problem too.  Not sure
> that anyone uses it...
>
>> function to make it handle some kind of escape sequence for ']'
>
> What escape syntax does http://docs.python.org/library/configparser use?

I think it uses none.

I've just checked the source of ConfigParser.py in my Python 2.7
distribution, which contains this:

[[[
    SECTCRE = re.compile(
        r'\['                                 # [
        r'(?P<header>[^]]+)'                  # very permissive!
        r'\]'                                 # ]
        )
]]]

This regex is matched against lines, and the group named "header" is
taken as section name. So this seems to be effectively the same as our
parsing routine: after the '[', we take all non-']' until we encounter
']'.


On Thu, Jul 12, 2012 at 2:06 PM, Daniel Shahaf <d...@daniel.shahaf.name> wrote:
> Johan Corveleyn wrote on Thu, Jul 12, 2012 at 12:06:07 +0200:
>> I think ']]' would be the best choice, but still not 100% backwards
>> compatible. But I mean, who in their right mind would write sections
>> like this:
>>
>> [repo:/path/to/file.ext]]haha, this isn't parsed
>
> We document the format as "ini format" and more specifically "same as
> Python's ConfigParser", and the above isn't valid in either of those, so
> we needn't provide back compat for it.

Where is this documented?

Besides: for Python's ConfigParser (if I understand the code
correctly) I think the above is valid in the way that it doesn't
generate errors: everything after the first ']' is simply ignored.

-- 
Johan

Reply via email to