STINNER Victor <victor.stin...@haypocalc.com> added the comment: I patched import.c to use repr() instead of str() (%R instead of %U) to format module names because they might contain surrogate characters. Surrogate characters are not encodable to any encoding, except UTF-16 and UTF-32. And so print an exception to stdout may produce an UnicodeEncodeError. At the same time... exceptions are printed to stderr which uses the backslashreplace error handler, and so the message *can* be printed:
$ python3.1 >>> raise Exception('x\uDC80y') Traceback (most recent call last): File "<stdin>", line 1, in <module> Exception: x\udc80y So now I realized that my change was maybe useless. ---------- assignee: haypo -> eric.araujo _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue8754> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com