summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2011-11-03 19:35:40 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2011-11-03 19:35:40 (GMT)
commitb3bc7e764db4327953aaaf1316e0edc0ff6b16fb (patch)
treee6aab05b9902ed7b68d4e43f7e0d824d27bc5adf
parent9c2f42f253d37496d52178377ab5e88f2e231401 (diff)
downloadcpython-b3bc7e764db4327953aaaf1316e0edc0ff6b16fb.zip
cpython-b3bc7e764db4327953aaaf1316e0edc0ff6b16fb.tar.gz
cpython-b3bc7e764db4327953aaaf1316e0edc0ff6b16fb.tar.bz2
Issue #10570: curses.putp() is now expecting a byte string, instead of a
Unicode string. This is an incompatible change, but putp() is used to emit terminfo commands, which are bytes strings, not Unicode strings.
-rw-r--r--Lib/test/test_curses.py3
-rw-r--r--Misc/NEWS4
-rw-r--r--Modules/_cursesmodule.c3
3 files changed, 6 insertions, 4 deletions
diff --git a/Lib/test/test_curses.py b/Lib/test/test_curses.py
index 0980783..5812147 100644
--- a/Lib/test/test_curses.py
+++ b/Lib/test/test_curses.py
@@ -183,7 +183,7 @@ def module_funcs(stdscr):
win = curses.newwin(5,5)
win = curses.newwin(5,5, 1,1)
curses.nl() ; curses.nl(1)
- curses.putp('abc')
+ curses.putp(b'abc')
curses.qiflush()
curses.raw() ; curses.raw(1)
curses.setsyx(5,5)
@@ -267,6 +267,7 @@ def test_issue6243(stdscr):
def test_issue10570():
b = curses.tparm(curses.tigetstr("cup"), 5, 3)
assert type(b) is bytes
+ curses.putp(b)
def main(stdscr):
curses.savetty()
diff --git a/Misc/NEWS b/Misc/NEWS
index 993dfae..276f665 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -66,8 +66,8 @@ Core and Builtins
Library
-------
-- Issue #10570: curses.tigetstr() is now expecting a byte string, instead of
- a Unicode string.
+- Issue #10570: curses.putp() and curses.tigetstr() are now expecting a byte
+ string, instead of a Unicode string.
- Issue #2892: preserve iterparse events in case of SyntaxError.
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
index 4f7a525..5e1afa9 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -2379,7 +2379,8 @@ PyCurses_Putp(PyObject *self, PyObject *args)
{
char *str;
- if (!PyArg_ParseTuple(args,"s;str", &str)) return NULL;
+ if (!PyArg_ParseTuple(args,"y;str", &str))
+ return NULL;
return PyCursesCheckERR(putp(str), "putp");
}