Márcio Faustino wrote:
> On 11 Abr, 20:06, Peter Otten <__pete...@web.de> wrote:
>> I think you are right. Please file a bug report .
>
> I will.
>
>> IMO this doesn't fix the problem because
>>
>> (1) it allows "%%%" which is also incorrect
>
> You're right, how about this one "(?<!%)%(?:%%)*(?!%)"?
>
Instead of checking for a 'bad' value, why not check for a 'good' one?

Change:

    _badpercent_re = re.compile(r"%[^%]|%$")

to:

    _goodpercent_re = re.compile(r"(?:%%|[^%])*$")

and then:

        m = self._badpercent_re.search(tmp_value)
        if m:

to:

        m = self._goodpercent_re.match(tmp_value)
        if not m:

>> (2) _interpvar_re has already butchered values like "%%(alpha)s" to "%"
>
> Isn't that expected? I mean, one wouldn't write "%%(alpha)s", but
> instead "%%%(alpha)s" or "%(alpha)s" right?
>
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to