From 3cf5b1eef99fbd85bbd2bcd2e6223dfec92daf8b Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Thu, 27 Jul 2006 21:53:35 +0000 Subject: 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! --- Python/ceval.c | 6 ++---- Python/getargs.c | 4 +--- 2 files changed, 3 insertions(+), 7 deletions(-) (limited to 'Python') diff --git a/Python/ceval.c b/Python/ceval.c index e35680005f..f14e7daafe 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -3833,8 +3833,7 @@ _PyEval_SliceIndex(PyObject *v, Py_ssize_t *pi) 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 @@ _PyEval_SliceIndex(PyObject *v, Py_ssize_t *pi) #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] */ diff --git a/Python/getargs.c b/Python/getargs.c index b0715ba33d..9637618fe7 100644 --- a/Python/getargs.c +++ b/Python/getargs.c @@ -1162,9 +1162,7 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags, return converterr( "invalid use of 't' format character", arg, msgbuf, bufsize); - if (!PyType_HasFeature(arg->ob_type, - Py_TPFLAGS_HAVE_GETCHARBUFFER) || - pb == NULL || pb->bf_getcharbuffer == NULL || + if (pb == NULL || pb->bf_getcharbuffer == NULL || pb->bf_getsegcount == NULL) return converterr( "string or read-only character buffer", -- cgit v1.2.1