[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-09 Thread Amaury Forgeot d'Arc
Amaury Forgeot d'Arc [EMAIL PROTECTED] added the comment: Committed r66867, together with #2384. Thanks for your perseverance ;-) -- resolution: - fixed status: open - closed ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3975

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-08 Thread STINNER Victor
STINNER Victor [EMAIL PROTECTED] added the comment: More fun will arise when my Windows terminal (encoding=cp1252) will try to display Chinese characters. Let's pretend this is yet another issue. I tried the patch using a script with unicode characters (character not representable in

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-08 Thread STINNER Victor
Changes by STINNER Victor [EMAIL PROTECTED]: Added file: http://bugs.python.org/file11748/traceback_unicode-5.patch ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3975 ___

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-08 Thread STINNER Victor
Changes by STINNER Victor [EMAIL PROTECTED]: Removed file: http://bugs.python.org/file11747/traceback_unicode-5.patch ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3975 ___

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-08 Thread STINNER Victor
Changes by STINNER Victor [EMAIL PROTECTED]: Removed file: http://bugs.python.org/file11736/traceback_unicode-4.patch ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3975 ___

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-08 Thread STINNER Victor
STINNER Victor [EMAIL PROTECTED] added the comment: @amaury: Oops, yes, I introduced a refleak in the version 4 with the PyUnicode_Check(). Instead of just moved Py_(X)RECREF(lineobj);, I could not not resist to refactor the code to remove one more indentation level (I prefer if (...) return;

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-08 Thread Amaury Forgeot d'Arc
Amaury Forgeot d'Arc [EMAIL PROTECTED] added the comment: The code is indeed easier to follow. I don't have any more remark, thanks to you perseverance! Now, is there some unit test we could provide? #2384 depends on this issue, it should be easy to extract a small test case.

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-08 Thread STINNER Victor
STINNER Victor [EMAIL PROTECTED] added the comment: My patch for #2384 contains a testcase which require #3975 and #2384 to be fixed (you have to apply both patches to test it). ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3975

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-07 Thread Amaury Forgeot d'Arc
Amaury Forgeot d'Arc [EMAIL PROTECTED] added the comment: The patch goes in the good direction, here are some remarks: - The two calls to open() are missing the O_BINARY flag, necessary on Windows to avoid newline translation. This may be important for some codecs. - the GIL should be released

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-07 Thread Amaury Forgeot d'Arc
Amaury Forgeot d'Arc [EMAIL PROTECTED] added the comment: The line is not displayed (why? no idea) Well, it's difficult to re-open stdin... -- nosy: +amaury.forgeotdarc ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3975

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-07 Thread STINNER Victor
STINNER Victor [EMAIL PROTECTED] added the comment: Le Tuesday 07 October 2008 15:06:01 Amaury Forgeot d'Arc, vous avez écrit : - The two calls to open() are missing the O_BINARY flag, necessary on Windows to avoid newline translation. This may be important for some codecs. Oops, I always

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-07 Thread Amaury Forgeot d'Arc
Amaury Forgeot d'Arc [EMAIL PROTECTED] added the comment: Ok, O_BINARY and GIL fixed. which patch? ;-) I just realized that sys.path is considered as a bytes string (PyBytes_Check) whereas Python3 uses an unicode string! ['', '/home/haypo/prog/python-ptrace', (...)]

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-07 Thread STINNER Victor
Changes by STINNER Victor [EMAIL PROTECTED]: Added file: http://bugs.python.org/file11732/traceback_unicode-3.patch ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3975 ___

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-07 Thread Amaury Forgeot d'Arc
Amaury Forgeot d'Arc [EMAIL PROTECTED] added the comment: I still have remarks about traceback_unicode-3.patch, that I did not see before: - (a minor thing) PyMem_FREE(found_encoding) could appear only once, just after PyFile_FromFd. - I feel it dangerous to call the PyUnicode_AS_UNICODE() macro

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-07 Thread STINNER Victor
STINNER Victor [EMAIL PROTECTED] added the comment: Thanks for your remarks amaury. I improved my patch: - PyMem_FREE(found_encoding) is called just after PyFile_FromFd() - Create static subfunction _Py_FindSourceFile(): find a file in sys.path - Consider that sys.path contains only unicode

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-07 Thread Amaury Forgeot d'Arc
Amaury Forgeot d'Arc [EMAIL PROTECTED] added the comment: One last thing: there is a path where lineobj is not freed (when PyUnicode_Check(lineobj) is false); I suggest to move Py_XDECREF(lineobj) just before the final return statement. Reference counting is fun ;-) Should I stop on the

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-07 Thread STINNER Victor
Changes by STINNER Victor [EMAIL PROTECTED]: Removed file: http://bugs.python.org/file11612/traceback_unicode.patch ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3975 ___

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-07 Thread STINNER Victor
Changes by STINNER Victor [EMAIL PROTECTED]: Removed file: http://bugs.python.org/file11633/traceback_unicode-2.patch ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3975 ___

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-10-07 Thread STINNER Victor
Changes by STINNER Victor [EMAIL PROTECTED]: Removed file: http://bugs.python.org/file11732/traceback_unicode-3.patch ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3975 ___

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-09-27 Thread STINNER Victor
STINNER Victor [EMAIL PROTECTED] added the comment: Ooops, my first version introduces a regression: if file open fails, the traceback printing was stopped. Here is a new version of my patch to support #coding: header in _Py_DisplaySourceLine(). It doesn't print the line of file open fails,

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-09-26 Thread STINNER Victor
New submission from STINNER Victor [EMAIL PROTECTED]: PyTraceBack_Print() doesn't take care of the # coding: xxx header of a Python script. It calls _Py_DisplaySourceLine() which opens the file as a byte stream (and not an unicode characters stream). Because of this problem, the traceback

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-09-26 Thread STINNER Victor
STINNER Victor [EMAIL PROTECTED] added the comment: Here is a new version of _Py_DisplaySourceLine() using PyTokenizer_FindEncoding() to read the coding header, and PyFile_FromFd() to create an unicode-awake file. The code could be optimized, but it least it displays correctly the file line

[issue3975] PyTraceBack_Print() doesn't respect # coding: xxx header

2008-09-26 Thread STINNER Victor
STINNER Victor [EMAIL PROTECTED] added the comment: (oops, first patch included an useless whitespace change) Added file: http://bugs.python.org/file11612/traceback_unicode.patch ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3975