summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2013-03-21 11:21:43 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2013-03-21 11:21:43 (GMT)
commitd06b35c1b6ef9e49c455bb4e163ce056bf80d073 (patch)
tree2cc8ca9fa444b958d2dac31df749ef03667a1874
parente0a1bf313ff89519dc0e318e42fc8fdb174e1a86 (diff)
parentbd2d30cf31c61843645a96a377aa0573052c4972 (diff)
downloadcpython-d06b35c1b6ef9e49c455bb4e163ce056bf80d073.zip
cpython-d06b35c1b6ef9e49c455bb4e163ce056bf80d073.tar.gz
cpython-d06b35c1b6ef9e49c455bb4e163ce056bf80d073.tar.bz2
(Merge 3.3) Issue #17209: curses.window.get_wch() now handles correctly KeyboardInterrupt (CTRL+c)
-rw-r--r--Misc/NEWS3
-rw-r--r--Modules/_cursesmodule.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index ba34efe..e9fda08 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -292,6 +292,9 @@ Core and Builtins
Library
-------
+- Issue #17209: curses.window.get_wch() now handles correctly KeyboardInterrupt
+ (CTRL+c).
+
- Issue #5713: smtplib now handles 421 (closing connection) error codes when
sending mail by closing the socket and reporting the 421 error code via the
exception appropriate to the command that received the error response.
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
index 35f9fc1..8436f03 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -1181,6 +1181,9 @@ PyCursesWindow_Get_WCh(PyCursesWindowObject *self, PyObject *args)
return NULL;
}
if (ct == ERR) {
+ if (PyErr_CheckSignals())
+ return NULL;
+
/* get_wch() returns ERR in nodelay mode */
PyErr_SetString(PyCursesError, "no input");
return NULL;