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

Reply via email to