[Python-Dev] Re: Update PEP 292
Brett C.
bac at OCF.Berkeley.EDU
Fri Aug 20 01:12:54 CEST 2004
Barry Warsaw wrote:
> On Thu, 2004-08-12 at 01:19, Tim Peters wrote:
>
>
>>I do object to this part:
>>
>> If the $ character appears at the end of the line, or is followed
>> by any other character than those described above, it is treated
>> as if it had been escaped, appearing in the resulting string
>> unchanged.
>>
>>There's already a facility to escape $, and it's dead easy to use. $
>>isn't a frequently needed character either in most apps. So escaping
>>$ "by magic" too is, I think, more likely to make typing errors harder
>>to find than to do anyone real good.
>
>
> What would you do about $'s at the end of the string? I think the
> implementation would be much more complex if you didn't have this rule,
> e.g. you'd have to match \$$ and the $-placeholder regexps would
> basically have to match everything. Then the .sub call would have to be
> more complex too, because it would have to check for the existence of
> those match groups and then raise an exception. Or something like that.
>
Got an implementation and it's simple. =) It only required one
additional group at the end (r"(?<!\$)(\$)$") in the regex and a test if
it matched.
I tested against "$$" to be fine but for "blah $" and "$" to raise an
exception. Those all work and the tests in test_pep292 all pass.
If Barry is okay with this I can apply the patch and update the tests
and the PEP. Do need to know what exception to raise when this does
occur, though. ValueError?
-Brett
More information about the Python-Dev
mailing list