[issue8256] input() doesn't catch _PyUnicode_AsString() exception; io.StringIO().encoding is None
STINNER Victor
report at bugs.python.org
Fri May 14 13:31:07 CEST 2010
STINNER Victor <victor.stinner at haypocalc.com> added the comment:
amaury> since the prompt is written to stderr, why is sys.stdout.encoding
amaury> used instead of sys.stderr.encoding?
input() calls PyOS_Readline() but PyOS_Readline() has multiple
implementations:
- PyOS_StdioReadline() if sys_stdin or sys_stdout is not a TTY
- or PyOS_ReadlineFunctionPointer callback:
- vms__StdioReadline() (VMS only)
- PyOS_StdioReadline()
- call_readline() when readline module is loaded
call_readline() calls rl_callback_handler_install() with the prompt which
writes the prompt to *stdout* (try ./python 2>/dev/null).
I don't think that it really matters that the prompt is written to stderr with
stdout encoding, because both outputs always use the same encoding.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue8256>
_______________________________________
More information about the Python-bugs-list
mailing list