[Python-checkins] r41998 - in python/trunk: Lib/test/test_curses.py Misc/ACKS Misc/NEWS Modules/_cursesmodule.c

neal.norwitz python-checkins at python.org
Tue Jan 10 08:05:46 CET 2006


Author: neal.norwitz
Date: Tue Jan 10 08:05:44 2006
New Revision: 41998

Modified:
   python/trunk/Lib/test/test_curses.py
   python/trunk/Misc/ACKS
   python/trunk/Misc/NEWS
   python/trunk/Modules/_cursesmodule.c
Log:
SF bug #1400822, Extended version of _curses over{lay,write} does not work

Fix signatures to conform to doc (also fixed ungetmouse()).

Will backport.


Modified: python/trunk/Lib/test/test_curses.py
==============================================================================
--- python/trunk/Lib/test/test_curses.py	(original)
+++ python/trunk/Lib/test/test_curses.py	Tue Jan 10 08:05:44 2006
@@ -5,7 +5,8 @@
 # does call every method and function.
 #
 # Functions not tested: {def,reset}_{shell,prog}_mode, getch(), getstr(),
-# getmouse(), ungetmouse(), init_color()
+# init_color()
+# Only called, not tested: getmouse(), ungetmouse()
 #
 
 import curses, sys, tempfile, os
@@ -106,6 +107,8 @@
     stdscr.notimeout(1)
     win2.overlay(win)
     win2.overwrite(win)
+    win2.overlay(win, 1, 2, 3, 3, 2, 1)
+    win2.overwrite(win, 1, 2, 3, 3, 2, 1)
     stdscr.redrawln(1,2)
 
     stdscr.scrollok(1)
@@ -201,6 +204,9 @@
     if hasattr(curses, 'getmouse'):
         curses.mousemask(curses.BUTTON1_PRESSED)
         curses.mouseinterval(10)
+        # just verify these don't cause errors
+        m = curses.getmouse()
+        curses.ungetmouse(*m)
 
 def unit_tests():
     from curses import ascii

Modified: python/trunk/Misc/ACKS
==============================================================================
--- python/trunk/Misc/ACKS	(original)
+++ python/trunk/Misc/ACKS	Tue Jan 10 08:05:44 2006
@@ -552,6 +552,7 @@
 Nathan Paul Simons
 Janne Sinkkonen
 George Sipe
+J. Sipprell
 Kragen Sitaker
 Christopher Smith
 Gregory P. Smith

Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Tue Jan 10 08:05:44 2006
@@ -216,6 +216,10 @@
 Extension Modules
 -----------------
 
+- Bug #1400822, _curses over{lay,write} doesn't work when passing 6 ints.
+  Also fix ungetmouse() which did not accept arguments properly.
+  The code now conforms to the documented signature.
+
 - Bug #1400115, Fix segfault when calling curses.panel.userptr()
   without prior setting of the userptr.
 

Modified: python/trunk/Modules/_cursesmodule.c
==============================================================================
--- python/trunk/Modules/_cursesmodule.c	(original)
+++ python/trunk/Modules/_cursesmodule.c	Tue Jan 10 08:05:44 2006
@@ -1163,7 +1163,7 @@
 	    return NULL;
 	break;
     case 7:
-	if (!PyArg_ParseTuple(args, "(O!iiiiii);window object, int, int, int, int, int, int",
+	if (!PyArg_ParseTuple(args, "O!iiiiii;window object, int, int, int, int, int, int",
 			      &PyCursesWindow_Type, &temp, &sminrow, &smincol,
 			      &dminrow, &dmincol, &dmaxrow, &dmaxcol))
 	    return NULL;
@@ -1201,7 +1201,7 @@
 	    return NULL;
 	break;
     case 7:
-	if (!PyArg_ParseTuple(args, "(O!iiiiii);window object, int, int, int, int, int, int",
+	if (!PyArg_ParseTuple(args, "O!iiiiii;window object, int, int, int, int, int, int",
 			      &PyCursesWindow_Type, &temp, &sminrow, &smincol,
 			      &dminrow, &dmincol, &dmaxrow, &dmaxcol))
 	    return NULL;
@@ -1674,7 +1674,7 @@
 	MEVENT event;
 
 	PyCursesInitialised
-	if (!PyArg_ParseTuple(args, "(hiiil)",
+	if (!PyArg_ParseTuple(args, "hiiil",
 			     &event.id, 
 			     &event.x, &event.y, &event.z,
 			     (int *) &event.bstate))


More information about the Python-checkins mailing list