[Python-checkins] cpython (3.2): Issue #10570: curses.tigetstr() is now expecting a byte string, instead of a
victor.stinner
python-checkins at python.org
Wed Nov 2 23:46:32 CET 2011
http://hg.python.org/cpython/rev/e41663970ca5
changeset: 73311:e41663970ca5
branch: 3.2
parent: 73307:4dc5590dbd0b
user: Victor Stinner <victor.stinner at haypocalc.com>
date: Wed Nov 02 23:45:29 2011 +0100
summary:
Issue #10570: curses.tigetstr() is now expecting a byte string, instead of a
Unicode string.
This is an incompatible change, but the previous behaviour was completly wrong.
files:
Doc/library/curses.rst | 2 +-
Lib/test/test_curses.py | 7 ++++++-
Misc/NEWS | 3 +++
Modules/_cursesmodule.c | 2 +-
4 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/Doc/library/curses.rst b/Doc/library/curses.rst
--- a/Doc/library/curses.rst
+++ b/Doc/library/curses.rst
@@ -566,7 +566,7 @@
Instantiate the string *str* with the supplied parameters, where *str* should
be a parameterized string obtained from the terminfo database. E.g.
- ``tparm(tigetstr("cup"), 5, 3)`` could result in ``'\033[6;4H'``, the exact
+ ``tparm(tigetstr("cup"), 5, 3)`` could result in ``b'\033[6;4H'``, the exact
result depending on terminal type.
diff --git a/Lib/test/test_curses.py b/Lib/test/test_curses.py
--- a/Lib/test/test_curses.py
+++ b/Lib/test/test_curses.py
@@ -190,7 +190,7 @@
curses.tigetflag('hc')
curses.tigetnum('co')
curses.tigetstr('cr')
- curses.tparm('cr')
+ curses.tparm(b'cr')
curses.typeahead(sys.__stdin__.fileno())
curses.unctrl('a')
curses.ungetch('a')
@@ -264,6 +264,10 @@
curses.ungetch(1025)
stdscr.getkey()
+def test_issue10570():
+ b = curses.tparm(curses.tigetstr("cup"), 5, 3)
+ assert type(b) is bytes
+
def main(stdscr):
curses.savetty()
try:
@@ -272,6 +276,7 @@
test_userptr_without_set(stdscr)
test_resize_term(stdscr)
test_issue6243(stdscr)
+ test_issue10570()
finally:
curses.resetty()
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -66,6 +66,9 @@
Library
-------
+- Issue #10570: curses.tigetstr() is now expecting a byte string, instead of
+ a Unicode string.
+
- Issue #2892: preserve iterparse events in case of SyntaxError.
- Issue #670664: Fix HTMLParser to correctly handle the content of
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -2600,7 +2600,7 @@
PyCursesSetupTermCalled;
- if (!PyArg_ParseTuple(args, "s|iiiiiiiii:tparm",
+ if (!PyArg_ParseTuple(args, "y|iiiiiiiii:tparm",
&fmt, &i1, &i2, &i3, &i4,
&i5, &i6, &i7, &i8, &i9)) {
return NULL;
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list