[Python-Dev] Compile() and Windows/Mac newlines

Terry Reedy tjreedy at udel.edu
Wed Dec 29 21:02:34 CET 2010

On 12/29/2010 2:31 PM, Terry Reedy wrote:
> In python-list thread "Does Python 3.1 accept \r\n in compile()?"
> jmfauth notes that
> compile('print(999)\r\n', '<in>', 'exec')
> works in 2.7 but not 3.1 (and 3.2 not checked) because 3.1 sees '\r' as
> SyntaxError.
> I started to respond that this is part of Py3 cleanup with newlines
> converted on input and back-compatibility with ancient Python not
> needed. Then I saw in 3.2 manual
> "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."
> I verified second statement ("print(999)" works) (and remember commit
> for third), but original above gives same error. Should "Allowed use of
> Windows and Mac newlines." be deleted? What else could it mean other
> than use of '\r' or '\r\n'?

After tracing the questioned comment to B.Peterson's r76232 merged from 
2.7 r76230 "fix several compile() issues by translating newlines in the 
tokenizer", I decided to open http://bugs.python.org/issue10792

Terry Jan Reedy

More information about the Python-Dev mailing list