New submission from Brett Cannon <[EMAIL PROTECTED]>:
When compile() is called with a string it is a reasonable assumption
that it has already been decoded. But this is not in fact the case and
leads to errors when trying to use non-ASCII identifiers::
>>> source = "# coding=latin-1\n\u00c6 = '\u00c6'"
>>> compile(source, '<test>', 'exec')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<test>", line 2
à = 'Ã'
^
SyntaxError: invalid character in identifier
>>> compile(source.encode('latin-1'), '<test>', 'exec')
<code object <module> at 0x389cc8, file "<test>", line 2>
----------
components: Interpreter Core
messages: 77590
nosy: brett.cannon
severity: normal
stage: needs patch
status: open
title: compile() doesn't ignore the source encoding when a string is passed in
type: behavior
versions: Python 3.0
_______________________________________
Python tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue4626>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com