mirror of
https://github.com/python/cpython.git
synced 2025-08-29 21:25:01 +00:00
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!
This commit is contained in:
parent
73e5a5b65d
commit
3cf5b1eef9
36 changed files with 170 additions and 357 deletions
|
@ -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] */
|
||||
|
|
|
@ -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",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue