binaryfunc nb_xor;
binaryfunc nb_or;
unaryfunc nb_int;
- unaryfunc nb_long;
+ void *nb_reserved;
unaryfunc nb_float;
binaryfunc nb_inplace_add;
``Py_NotImplemented``, if another error occurred they must return ``NULL``
and set an exception.
+ .. note::
+
+ The :cdata:`nb_reserved` field should always be ``NULL``. It
+ was previously called :cdata:`nb_long`, and was renamed in
+ Python 3.0.1.
+
.. _mapping-structs:
binaryfunc nb_xor;
binaryfunc nb_or;
unaryfunc nb_int;
- unaryfunc nb_long;
+ void *nb_reserved; /* the slot formerly known as nb_long */
unaryfunc nb_float;
binaryfunc nb_inplace_add;
Core and Builtins
-----------------
+- Issue #4910: Rename nb_long slot to nb_reserved, and change its
+ type to (void *).
+
- Issue #4935: The overflow checking code in the expandtabs() method common
to str, bytes and bytearray could be optimized away by the compiler, letting
the interpreter segfault instead of raising an error.
0, /*nb_xor*/
0, /*nb_or*/
0, /*nb_int*/
- 0, /*nb_long*/
+ 0, /*nb_reserved*/
0, /*nb_float*/
0, /*nb_inplace_add*/
0, /*nb_inplace_subtract*/
bool_xor, /* nb_xor */
bool_or, /* nb_or */
0, /* nb_int */
- 0, /* nb_long */
+ 0, /* nb_reserved */
0, /* nb_float */
0, /* nb_inplace_add */
0, /* nb_inplace_subtract */
0, /* nb_xor */
0, /* nb_or */
complex_int, /* nb_int */
- 0, /* nb_long */
+ 0, /* nb_reserved */
complex_float, /* nb_float */
0, /* nb_inplace_add */
0, /* nb_inplace_subtract */
0, /*nb_xor*/
0, /*nb_or*/
float_trunc, /*nb_int*/
- 0, /*nb_long*/
+ 0, /*nb_reserved*/
float_float, /*nb_float*/
0, /* nb_inplace_add */
0, /* nb_inplace_subtract */
long_xor, /*nb_xor*/
long_or, /*nb_or*/
long_long, /*nb_int*/
- 0, /*nb_long*/
+ 0, /*nb_reserved*/
long_float, /*nb_float*/
0, /* nb_inplace_add */
0, /* nb_inplace_subtract */
(binaryfunc)set_xor, /*nb_xor*/
(binaryfunc)set_or, /*nb_or*/
0, /*nb_int*/
- 0, /*nb_long*/
+ 0, /*nb_reserved*/
0, /*nb_float*/
0, /*nb_inplace_add*/
(binaryfunc)set_isub, /*nb_inplace_subtract*/
COPYNUM(nb_xor);
COPYNUM(nb_or);
COPYNUM(nb_int);
- COPYNUM(nb_long);
COPYNUM(nb_float);
COPYNUM(nb_inplace_add);
COPYNUM(nb_inplace_subtract);
SLOT1BIN(slot_nb_or, nb_or, "__or__", "__ror__")
SLOT0(slot_nb_int, "__int__")
-SLOT0(slot_nb_long, "__long__")
SLOT0(slot_nb_float, "__float__")
SLOT1(slot_nb_inplace_add, "__iadd__", PyObject *, "O")
SLOT1(slot_nb_inplace_subtract, "__isub__", PyObject *, "O")
RBINSLOT("__ror__", nb_or, slot_nb_or, "|"),
UNSLOT("__int__", nb_int, slot_nb_int, wrap_unaryfunc,
"int(x)"),
- UNSLOT("__long__", nb_long, slot_nb_long, wrap_unaryfunc,
- "int(x)"),
UNSLOT("__float__", nb_float, slot_nb_float, wrap_unaryfunc,
"float(x)"),
NBSLOT("__index__", nb_index, slot_nb_index, wrap_unaryfunc,
proxy_xor, /*nb_xor*/
proxy_or, /*nb_or*/
proxy_int, /*nb_int*/
- 0, /*nb_long*/
+ 0, /*nb_reserved*/
proxy_float, /*nb_float*/
proxy_iadd, /*nb_inplace_add*/
proxy_isub, /*nb_inplace_subtract*/
PyHKEY_binaryFailureFunc, /* nb_xor */
PyHKEY_binaryFailureFunc, /* nb_or */
PyHKEY_intFunc, /* nb_int */
- 0, /* nb_long */
+ 0, /* nb_reserved */
PyHKEY_unaryFailureFunc, /* nb_float */
};