[Python-checkins] CVS: python/dist/src/Python exceptions.c,1.22,1.22.2.1 ceval.c,2.230.2.3,2.230.2.4
Guido van Rossum
gvanrossum@usw-pr-cvs1.sourceforge.net
Wed, 14 Mar 2001 08:17:29 -0800
Update of /cvsroot/python/python/dist/src/Python
In directory usw-pr-cvs1:/tmp/cvs-serv28608/Python
Modified Files:
Tag: iter-branch
exceptions.c ceval.c
Log Message:
Switch from IndexError to StopIteration to end the sequence.
Index: exceptions.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/exceptions.c,v
retrieving revision 1.22
retrieving revision 1.22.2.1
diff -C2 -r1.22 -r1.22.2.1
*** exceptions.c 2001/02/28 21:52:10 1.22
--- exceptions.c 2001/03/14 16:17:27 1.22.2.1
***************
*** 53,56 ****
--- 53,57 ----
|\n\
+-- SystemExit\n\
+ +-- StopIteration\n\
+-- StandardError\n\
| |\n\
***************
*** 370,373 ****
--- 371,377 ----
TypeError__doc__[] = "Inappropriate argument type.";
+ static char
+ StopIteration__doc__[] = "Signal the end from iterator.next().";
+
***************
*** 925,928 ****
--- 929,933 ----
PyObject *PyExc_Exception;
+ PyObject *PyExc_StopIteration;
PyObject *PyExc_StandardError;
PyObject *PyExc_ArithmeticError;
***************
*** 986,989 ****
--- 991,996 ----
*/
{"Exception", &PyExc_Exception},
+ {"StopIteration", &PyExc_StopIteration, &PyExc_Exception,
+ StopIteration__doc__},
{"StandardError", &PyExc_StandardError, &PyExc_Exception,
StandardError__doc__},
Index: ceval.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/ceval.c,v
retrieving revision 2.230.2.3
retrieving revision 2.230.2.4
diff -C2 -r2.230.2.3 -r2.230.2.4
*** ceval.c 2001/03/13 13:53:57 2.230.2.3
--- ceval.c 2001/03/14 16:17:27 2.230.2.4
***************
*** 1850,1854 ****
x = PyObject_CallObject(v, NULL);
if (x == NULL) {
! if (PyErr_ExceptionMatches(PyExc_IndexError)) {
PyErr_Clear();
x = v = POP();
--- 1850,1856 ----
x = PyObject_CallObject(v, NULL);
if (x == NULL) {
! if (PyErr_ExceptionMatches(
! PyExc_StopIteration))
! {
PyErr_Clear();
x = v = POP();