On 12/29/2010 11:07 AM, jmfauth wrote:
I wrote miscellaneous interactive interpreters and
I fall on this.

In Python 2.7 (understand Python>  2.6), a source code
can be compiled with "native" '\r\n' as eol.

I am a bit surprised, but I presume this is one on many back-compatibility holdovers still in 2.7. I believe 2.7 normally reads input with universal newline support, so that line endings are fixed on input, where they should be. Within Python, 'newline' is '\n'.

In Python 3.1, it does not seem to be the case.

In 3.0, there were many simplifications where old things got dropped.

(Python 3.2.a/b not checked).

I have not heard of any change. The compile() entry has the following:

"Changed in version 3.2: Allowed use of Windows and Mac newlines. Also input in 'exec' mode does not have to end in a newline anymore. Added the optimize parameter."

The second and third statement are true, but

>>> compile('print(999)\r\n', '<in>', 'exec')
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    compile('print(999)\r\n', '<in>', 'exec')
  File "<in>", line 1
    print(999)

^
SyntaxError: invalid syntax

I will inquire on pydev.

Bug, regression, deliberate choice?

I presume deliberate simplification, but you can wait for another answer or check svn logs of the appropriate source file.

Or there might be an entry in 3.0 NEWS or What's New files.

--
Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to