mirror of
https://github.com/python/cpython.git
synced 2025-07-30 14:44:10 +00:00
Bug #1421664: Set sys.stderr.encoding
This commit is contained in:
parent
cf0a2a8576
commit
ea62d2535f
3 changed files with 18 additions and 0 deletions
|
@ -12,6 +12,9 @@ What's New in Python 2.5 alpha 1?
|
||||||
Core and builtins
|
Core and builtins
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
- Bug #1421664: sys.stderr.encoding is now set to the same value as
|
||||||
|
sys.stdout.encoding.
|
||||||
|
|
||||||
- __import__ accepts keyword arguments.
|
- __import__ accepts keyword arguments.
|
||||||
|
|
||||||
- Patch #1460496: round() now accepts keyword arguments.
|
- Patch #1460496: round() now accepts keyword arguments.
|
||||||
|
|
|
@ -281,6 +281,16 @@ Py_InitializeEx(int install_sigs)
|
||||||
}
|
}
|
||||||
Py_XDECREF(sys_isatty);
|
Py_XDECREF(sys_isatty);
|
||||||
|
|
||||||
|
sys_stream = PySys_GetObject("stderr");
|
||||||
|
sys_isatty = PyObject_CallMethod(sys_stream, "isatty", "");
|
||||||
|
if (!sys_isatty)
|
||||||
|
PyErr_Clear();
|
||||||
|
if(sys_isatty && PyObject_IsTrue(sys_isatty)) {
|
||||||
|
if (!PyFile_SetEncoding(sys_stream, codeset))
|
||||||
|
Py_FatalError("Cannot set codeset of stderr");
|
||||||
|
}
|
||||||
|
Py_XDECREF(sys_isatty);
|
||||||
|
|
||||||
if (!Py_FileSystemDefaultEncoding)
|
if (!Py_FileSystemDefaultEncoding)
|
||||||
Py_FileSystemDefaultEncoding = codeset;
|
Py_FileSystemDefaultEncoding = codeset;
|
||||||
else
|
else
|
||||||
|
|
|
@ -1069,6 +1069,11 @@ _PySys_Init(void)
|
||||||
if (!PyFile_SetEncoding(sysout, buf))
|
if (!PyFile_SetEncoding(sysout, buf))
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
if(isatty(_fileno(stderr))) {
|
||||||
|
sprintf(buf, "cp%d", GetConsoleOutputCP());
|
||||||
|
if (!PyFile_SetEncoding(syserr, buf))
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
PyDict_SetItemString(sysdict, "stdin", sysin);
|
PyDict_SetItemString(sysdict, "stdin", sysin);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue