summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/_cursesmodule.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
index f46b0bc..f76bf03 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -122,6 +122,7 @@ None clear()
None clrtobot()
None clrtoeol()
None scroll()
+ scroll(nlines)
None touchwin()
None touchline(start,count)
IntObject getch(y,x)
@@ -841,9 +842,24 @@ PyCursesWindow_Scroll(self,arg)
PyCursesWindowObject *self;
PyObject * arg;
{
- if (!PyArg_NoArgs(arg))
+ int nlines;
+ int use_nlines = FALSE;
+ switch (ARG_COUNT(arg)) {
+ case 0:
+ break;
+ case 1:
+ if (!PyArg_Parse(arg, "i;nlines", &nlines))
return NULL;
- return PyCursesCheckERR(scroll(self->win), "scroll");
+ use_nlines = TRUE;
+ break;
+ default:
+ PyErr_SetString(PyExc_TypeError, "scroll requires 0 or 1 arguments");
+ return NULL;
+ }
+ if (use_nlines)
+ return PyCursesCheckERR(wscrl(self->win, nlines), "scroll");
+ else
+ return PyCursesCheckERR(scroll(self->win), "scroll");
}
static PyObject *