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().
diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c
index c3c6050..7c0e609 100644
--- a/Objects/rangeobject.c
+++ b/Objects/rangeobject.c
@@ -1,4 +1,3 @@
-
 /* Range object implementation */
 
 #include "Python.h"
@@ -251,16 +250,9 @@
 {
 	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)
 	0,                                      /* ob_size */
@@ -291,6 +283,5 @@
 	0,                                      /* tp_weaklistoffset */
 	(getiterfunc)rangeiter_getiter,		/* tp_iter */
 	(iternextfunc)rangeiter_next,		/* tp_iternext */
-	rangeiter_methods,			/* tp_methods */
+	0,					/* tp_methods */
 };
-