Commit d0db98fc authored by Amaury Forgeot d'Arc's avatar Amaury Forgeot d'Arc

#1688: On Windows, the input() prompt was not correctly displayed if it

contains non-ascii characters.

Reviewed by Benjamin Peterson.
parent 956ffd75
......@@ -12,6 +12,9 @@ What's New in Python 3.0 release candidate 2
Core and Builtins
-----------------
- Issue #1688: On Windows, the input() prompt was not correctly displayed if it
contains non-ascii characters.
Library
-------
......
......@@ -1597,12 +1597,29 @@ builtin_input(PyObject *self, PyObject *args)
else
Py_DECREF(tmp);
if (promptarg != NULL) {
po = PyObject_Str(promptarg);
PyObject *stringpo;
PyObject *stdout_encoding;
stdout_encoding = PyObject_GetAttrString(fout,
"encoding");
if (stdout_encoding == NULL) {
Py_DECREF(stdin_encoding);
return NULL;
}
stringpo = PyObject_Str(promptarg);
if (stringpo == NULL) {
Py_DECREF(stdin_encoding);
Py_DECREF(stdout_encoding);
return NULL;
}
po = PyUnicode_AsEncodedString(stringpo,
_PyUnicode_AsString(stdout_encoding), NULL);
Py_DECREF(stdout_encoding);
Py_DECREF(stringpo);
if (po == NULL) {
Py_DECREF(stdin_encoding);
return NULL;
}
prompt = _PyUnicode_AsString(po);
prompt = PyBytes_AsString(po);
if (prompt == NULL) {
Py_DECREF(stdin_encoding);
Py_DECREF(po);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment