[Python-bugs-list] [Bug #110598] Fwd: Debian Bug#46993: py_compile.compile() won't compile files with CR+LF line endings (PR#101)

noreply@sourceforge.net noreply@sourceforge.net
Tue, 5 Sep 2000 14:42:38 -0700

Bug #110598, was updated on 2000-Jul-31 14:05
Here is a current snapshot of the bug.

Project: Python
Category: Parser/Compiler
Status: Open
Resolution: None
Bug Group: None
Priority: 5
Summary: Fwd: Debian Bug#46993: py_compile.compile() won't compile files with CR+LF line endings (PR#101)

Details: Jitterbug-Id: 101
Submitted-By: flight@mathi.uni-heidelberg.de
Date: Mon, 11 Oct 1999 15:10:37 +0200
Version: 1.5.2
OS: Debian GNU/Linux potato

[This was recorded as Debian bug#46993, cf.

Package: python-base
Version: 1.5.2-6
Severity: normal

On Unix systems, py_compile.compile() (and therefore compileall.py) won't
compile files with DOS/Windows lineendings (CR+LF). Commands like "import"
or "exec" will work, though.

The problem seems to be that py_compile.compile read()'s the whole file at
once and passes it as a string to __builtin__.compile(), while "import"
calls __builtin__.compile() for a file, so that __builtin__.compile seems to
do some magic while reading the file.

For a quick testcase:

  import __builtin__
  f.write('print "Hello"\015\012')

results in:

  Traceback (innermost last):
  File "<stdin>", line 1, in ?
  File "<stdin>", line 9, in x
  File "<string>", line 1
    print "Hello"
  SyntaxError: invalid syntax

while "import test" works fine and results in test.pyc.

Certainly the file.read() in py_compile.compile() isn't good enough for this


Audit trail:
Mon Oct 11 18:12:13 1999	guido	moved from incoming to open


Date: 2000-Aug-30 23:28
By: mhammond

Sorry, but I dont feel able to resolve this in time for 2.0 beta or final, so giving back to Jeremy to punt back off.  If post 2.0 is OK, give it on back!

Date: 2000-Sep-05 14:42
By: loewis

Fixed in 101425, see

For detailed info, follow this link: