diff Modules/arraymodule.c @ 5610:10e9cfa010f0 legacy-trunk

PyObject_Compare can raise an exception now.
author Guido van Rossum <guido@python.org>
date Fri, 23 May 1997 00:06:51 +0000
parents edbcfed7fc7b
children 9b621ac09212
line wrap: on
line diff
--- a/Modules/arraymodule.c	Fri May 23 00:01:41 1997 +0000
+++ b/Modules/arraymodule.c	Fri May 23 00:06:51 1997 +0000
@@ -484,10 +484,8 @@
 			cmp = -1;
 		Py_XDECREF(ai);
 		Py_XDECREF(bi);
-		if (cmp != 0) {
-			PyErr_Clear(); /* XXX Can't report errors here */
+		if (cmp != 0)
 			return cmp;
-		}
 	}
 	return v->ob_size - w->ob_size;
 }
@@ -823,6 +821,7 @@
 	for (i = 0; i < self->ob_size; i++) {
 		if (PyObject_Compare(self->ob_item[i], args) == 0)
 			return PyInt_FromLong((long)i);
+		/* XXX PyErr_Occurred */
 	}
 	PyErr_SetString(PyExc_ValueError, "array.index(x): x not in array");
 	return NULL;
@@ -845,6 +844,7 @@
 	for (i = 0; i < self->ob_size; i++) {
 		if (PyObject_Compare(self->ob_item[i], args) == 0)
 			count++;
+		/* XXX PyErr_Occurred */
 	}
 	return PyInt_FromLong((long)count);
 }
@@ -870,7 +870,7 @@
 			Py_INCREF(Py_None);
 			return Py_None;
 		}
-			
+		/* XXX PyErr_Occurred */
 	}
 	PyErr_SetString(PyExc_ValueError, "array.remove(x): x not in array");
 	return NULL;