summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/c-api/typeobj.rst8
-rw-r--r--Include/object.h2
-rw-r--r--Misc/NEWS3
-rw-r--r--Modules/datetimemodule.c2
-rw-r--r--Objects/boolobject.c2
-rw-r--r--Objects/complexobject.c2
-rw-r--r--Objects/floatobject.c2
-rw-r--r--Objects/longobject.c2
-rw-r--r--Objects/setobject.c2
-rw-r--r--Objects/typeobject.c4
-rw-r--r--Objects/weakrefobject.c2
-rw-r--r--PC/winreg.c2
12 files changed, 19 insertions, 14 deletions
diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst
index 8355986..a7ba660 100644
--- a/Doc/c-api/typeobj.rst
+++ b/Doc/c-api/typeobj.rst
@@ -1057,7 +1057,7 @@ Number Object Structures
binaryfunc nb_xor;
binaryfunc nb_or;
unaryfunc nb_int;
- unaryfunc nb_long;
+ void *nb_reserved;
unaryfunc nb_float;
binaryfunc nb_inplace_add;
@@ -1088,6 +1088,12 @@ Number Object Structures
``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:
diff --git a/Include/object.h b/Include/object.h
index f3fdbda..b1391ca 100644
--- a/Include/object.h
+++ b/Include/object.h
@@ -219,7 +219,7 @@ typedef struct {
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;
diff --git a/Misc/NEWS b/Misc/NEWS
index 28cd6b6..69c42d2 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,9 @@ What's New in Python 3.1 alpha 0
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.
diff --git a/Modules/datetimemodule.c b/Modules/datetimemodule.c
index 702b6b9..98ae2bd 100644
--- a/Modules/datetimemodule.c
+++ b/Modules/datetimemodule.c
@@ -2111,7 +2111,7 @@ static PyNumberMethods delta_as_number = {
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*/
diff --git a/Objects/boolobject.c b/Objects/boolobject.c
index 6916b9f..eac31b9 100644
--- a/Objects/boolobject.c
+++ b/Objects/boolobject.c
@@ -109,7 +109,7 @@ static PyNumberMethods bool_as_number = {
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 */
diff --git a/Objects/complexobject.c b/Objects/complexobject.c
index a7fd7dc..879d71c 100644
--- a/Objects/complexobject.c
+++ b/Objects/complexobject.c
@@ -1060,7 +1060,7 @@ static PyNumberMethods complex_as_number = {
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 */
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index 7292ca5..a3c4e45 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -1798,7 +1798,7 @@ static PyNumberMethods float_as_number = {
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 */
diff --git a/Objects/longobject.c b/Objects/longobject.c
index 259f7c5..b7ba796 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -3830,7 +3830,7 @@ static PyNumberMethods long_as_number = {
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 */
diff --git a/Objects/setobject.c b/Objects/setobject.c
index d3243dd..d5d96ca 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -2082,7 +2082,7 @@ static PyNumberMethods set_as_number = {
(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*/
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 8921b5f..b02f108 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -3602,7 +3602,6 @@ inherit_slots(PyTypeObject *type, PyTypeObject *base)
COPYNUM(nb_xor);
COPYNUM(nb_or);
COPYNUM(nb_int);
- COPYNUM(nb_long);
COPYNUM(nb_float);
COPYNUM(nb_inplace_add);
COPYNUM(nb_inplace_subtract);
@@ -4827,7 +4826,6 @@ SLOT1BIN(slot_nb_xor, nb_xor, "__xor__", "__rxor__")
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")
@@ -5443,8 +5441,6 @@ static slotdef slotdefs[] = {
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,
diff --git a/Objects/weakrefobject.c b/Objects/weakrefobject.c
index 538b21c..b65e5fd 100644
--- a/Objects/weakrefobject.c
+++ b/Objects/weakrefobject.c
@@ -594,7 +594,7 @@ static PyNumberMethods proxy_as_number = {
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*/
diff --git a/PC/winreg.c b/PC/winreg.c
index 7316fcd..3abefa8 100644
--- a/PC/winreg.c
+++ b/PC/winreg.c
@@ -451,7 +451,7 @@ static PyNumberMethods PyHKEY_NumberMethods =
PyHKEY_binaryFailureFunc, /* nb_xor */
PyHKEY_binaryFailureFunc, /* nb_or */
PyHKEY_intFunc, /* nb_int */
- 0, /* nb_long */
+ 0, /* nb_reserved */
PyHKEY_unaryFailureFunc, /* nb_float */
};