[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 */
  };