[Python-checkins] python/dist/src/Objects rangeobject.c,2.41,2.42
gvanrossum@users.sourceforge.net
gvanrossum@users.sourceforge.net
Tue, 16 Jul 2002 13:47:52 -0700
Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv10421
Modified Files:
rangeobject.c
Log Message:
Remove the next() method -- one is supplied automatically by
PyType_Ready() because the tp_iternext slot is set. Also removed the
redundant (and expensive!) call to raise StopIteration from
rangeiter_next().
Index: rangeobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/rangeobject.c,v
retrieving revision 2.41
retrieving revision 2.42
diff -C2 -d -r2.41 -r2.42
*** rangeobject.c 13 Jun 2002 20:33:01 -0000 2.41
--- rangeobject.c 16 Jul 2002 20:47:50 -0000 2.42
***************
*** 1,3 ****
-
/* Range object implementation */
--- 1,2 ----
***************
*** 252,265 ****
if (r->index < r->len)
return PyInt_FromLong(r->start + (r->index++) * r->step);
- PyErr_SetObject(PyExc_StopIteration, Py_None);
return NULL;
}
- static PyMethodDef rangeiter_methods[] = {
- {"next", (PyCFunction)rangeiter_next, METH_NOARGS,
- "it.next() -- get the next value, or raise StopIteration"},
- {NULL, NULL} /* sentinel */
- };
-
static PyTypeObject Pyrangeiter_Type = {
PyObject_HEAD_INIT(&PyType_Type)
--- 251,257 ----
***************
*** 292,296 ****
(getiterfunc)rangeiter_getiter, /* tp_iter */
(iternextfunc)rangeiter_next, /* tp_iternext */
! rangeiter_methods, /* tp_methods */
};
-
--- 284,287 ----
(getiterfunc)rangeiter_getiter, /* tp_iter */
(iternextfunc)rangeiter_next, /* tp_iternext */
! 0, /* tp_methods */
};