[Python-Dev] Unix line endings required for PyRun* breaking
embedded Python
Jack Jansen
Jack.Jansen at cwi.nl
Fri Jan 21 13:44:22 CET 2005
On 21 Jan 2005, at 08:18, Stuart Bishop wrote:
> Just van Rossum wrote:
>> Skip Montanaro wrote:
>>> Just re.sub("[\r\n]+", "\n", s) and I think you're good to go.
>> I don't think that in general you want to fold multiple empty lines
>> into
>> one. This would be my prefered regex:
>> s = re.sub(r"\r\n?", "\n", s)
>> Catches both DOS and old-style Mac line endings. Alternatively, you
>> can
>> use s.splitlines():
>> s = "\n".join(s.splitlines()) + "\n"
>> This also makes sure the string ends with a \n, which may or may not
>> be
>> a good thing, depending on your application.
>
> Do people consider this a bug that should be fixed in Python 2.4.1 and
> Python 2.3.6 (if it ever exists), or is the resposibility for doing
> this transformation on the application that embeds Python?
It could theoretically break something: a program that uses unix
line-endings but embeds \r or \r\n in string data.
But this is rather theoretical, I don't think I'd have a problem with
fixing this. The real problem is: who will fix it, because the fix
isn't going to be as trivial as the Python code posted here, I'm
afraid...
--
Jack Jansen, <Jack.Jansen at cwi.nl>, http://www.cwi.nl/~jack
If I can't dance I don't want to be part of your revolution -- Emma
Goldman
More information about the Python-Dev
mailing list