[New-bugs-announce] [issue10779] Change filename encoding to FS encoding in PyErr_WarnExplicit()

STINNER Victor report at bugs.python.org
Mon Dec 27 03:05:48 CET 2010


New submission from STINNER Victor <victor.stinner at haypocalc.com>:

PyErr_WarnExplicit() expects a filename encoded to UTF-8. This function is only called twice in the Python interpreter: compiler_assert() (with "assertion is always true, perhaps remove parentheses?") and symtable_warn() (eg. with "name 'xxx' is assigned to before global declaration"), and both functions pass a filename encoded to the filesystem encoding.

PyErr_WarnExplicit() should use the filesystem encoding instead of UTF-8 to decode the filename. I already did the same change in issue #9713 and #10114 (r85569).

Attached patch fixes this issue.

See also issue #10778 (decoding_fgets() (tokenizer.c) decodes the filename from the wrong encoding).

----------
components: Interpreter Core, Unicode
files: warnexplicit_fsencoding.patch
keywords: patch
messages: 124694
nosy: haypo
priority: normal
severity: normal
status: open
title: Change filename encoding to FS encoding in PyErr_WarnExplicit()
versions: Python 3.2
Added file: http://bugs.python.org/file20170/warnexplicit_fsencoding.patch

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue10779>
_______________________________________


More information about the New-bugs-announce mailing list