mirror of https://github.com/python/cpython
Merge from 3.1
This commit is contained in:
commit
bc3e13818b
|
@ -1,18 +1,21 @@
|
||||||
What's New in IDLE 3.1.4?
|
What's New in IDLE 3.1.4?
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
*Release date: XX-XXX-XX*
|
*Release date: 15-May-11*
|
||||||
|
|
||||||
|
- Issue #1028: Ctrl-space binding to show completions was causing IDLE to exit.
|
||||||
|
Tk < 8.5 was sending invalid Unicode null; replaced with valid null.
|
||||||
|
|
||||||
- <Home> toggle failing on Tk 8.5, causing IDLE exits and strange selection
|
- <Home> toggle failing on Tk 8.5, causing IDLE exits and strange selection
|
||||||
behavior. Issue 4676. Improve selection extension behaviour.
|
behavior. Issue 4676. Improve selection extension behaviour.
|
||||||
- <Home> toggle non-functional when NumLock set on Windows. Issue 3851.
|
|
||||||
|
|
||||||
|
- <Home> toggle non-functional when NumLock set on Windows. Issue 3851.
|
||||||
|
|
||||||
|
|
||||||
What's New in IDLE 3.1b1?
|
What's New in IDLE 3.1b1?
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
*Release date: 27-Jun-09*
|
*Release date: 06-May-09*
|
||||||
|
|
||||||
- Use of 'filter' in keybindingDialog.py was causing custom key assignment to
|
- Use of 'filter' in keybindingDialog.py was causing custom key assignment to
|
||||||
fail. Patch 5707 amaury.forgeotdarc.
|
fail. Patch 5707 amaury.forgeotdarc.
|
||||||
|
|
|
@ -85,6 +85,9 @@ Core and Builtins
|
||||||
|
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
- Issue #1028: Tk returns invalid Unicode null in %A: UnicodeDecodeError.
|
||||||
|
With Tk < 8.5 _tkinter.c:PythonCmd() raised UnicodeDecodeError, caused
|
||||||
|
IDLE to exit. Converted to valid Unicode null in PythonCmd().
|
||||||
|
|
||||||
- Issue #11169: compileall module uses repr() to format filenames and paths to
|
- Issue #11169: compileall module uses repr() to format filenames and paths to
|
||||||
escape surrogate characters and show spaces.
|
escape surrogate characters and show spaces.
|
||||||
|
|
|
@ -2023,7 +2023,19 @@ PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
|
||||||
|
|
||||||
for (i = 0; i < (argc - 1); i++) {
|
for (i = 0; i < (argc - 1); i++) {
|
||||||
PyObject *s = PyUnicode_FromString(argv[i + 1]);
|
PyObject *s = PyUnicode_FromString(argv[i + 1]);
|
||||||
if (!s || PyTuple_SetItem(arg, i, s)) {
|
if (!s) {
|
||||||
|
/* Is Tk leaking 0xC080 in %A - a "modified" utf-8 null? */
|
||||||
|
if (PyErr_ExceptionMatches(PyExc_UnicodeDecodeError) &&
|
||||||
|
!strcmp(argv[i + 1], "\xC0\x80")) {
|
||||||
|
PyErr_Clear();
|
||||||
|
/* Convert to "strict" utf-8 null */
|
||||||
|
s = PyUnicode_FromString("\0");
|
||||||
|
} else {
|
||||||
|
Py_DECREF(arg);
|
||||||
|
return PythonCmd_Error(interp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (PyTuple_SetItem(arg, i, s)) {
|
||||||
Py_DECREF(arg);
|
Py_DECREF(arg);
|
||||||
return PythonCmd_Error(interp);
|
return PythonCmd_Error(interp);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue