diff Python/ceval.c @ 39222:b0cdcbcc5f45

Get rid of most of the flags (in tp_flags) that keep track of various variations of the type struct and its attachments. In Py3k, all type structs have to have all fields -- no binary backwards compatibility. Had to change the complex object to a new-style number!
author Guido van Rossum <guido@python.org>
date Thu, 27 Jul 2006 21:53:35 +0000
parents 19fd6141940d
children 654c380cf8b9
line wrap: on
line diff
--- a/Python/ceval.c	Thu Jun 08 15:35:45 2006 +0000
+++ b/Python/ceval.c	Thu Jul 27 21:53:35 2006 +0000
@@ -3833,8 +3833,7 @@
 			x = PyInt_AsSsize_t(v);
 		}
 		else if (v->ob_type->tp_as_number &&
-			 PyType_HasFeature(v->ob_type, Py_TPFLAGS_HAVE_INDEX)
-			 && v->ob_type->tp_as_number->nb_index) {
+			 v->ob_type->tp_as_number->nb_index) {
 			x = v->ob_type->tp_as_number->nb_index(v);
 			if (x == -1 && PyErr_Occurred())
 				return 0;
@@ -3853,8 +3852,7 @@
 #undef ISINDEX
 #define ISINDEX(x) ((x) == NULL || PyInt_Check(x) || PyLong_Check(x) || \
 		    ((x)->ob_type->tp_as_number && \
-                     PyType_HasFeature((x)->ob_type, Py_TPFLAGS_HAVE_INDEX) \
-		     && (x)->ob_type->tp_as_number->nb_index))
+		     (x)->ob_type->tp_as_number->nb_index))
 
 static PyObject *
 apply_slice(PyObject *u, PyObject *v, PyObject *w) /* return u[v:w] */