From 8055afd0197862a3358fb219f5bb60233288fe02 Mon Sep 17 00:00:00 2001 From: Mark Dickinson Date: Sat, 17 Jan 2009 10:04:45 +0000 Subject: [PATCH] Issue #4910, patch 3/3: rename nb_long to nb_reserved --- Doc/c-api/typeobj.rst | 8 +++++++- Include/object.h | 2 +- Misc/NEWS | 3 +++ Modules/datetimemodule.c | 2 +- Objects/boolobject.c | 2 +- Objects/complexobject.c | 2 +- Objects/floatobject.c | 2 +- Objects/longobject.c | 2 +- Objects/setobject.c | 2 +- Objects/typeobject.c | 4 ---- Objects/weakrefobject.c | 2 +- PC/winreg.c | 2 +- 12 files changed, 19 insertions(+), 14 deletions(-) diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst index 8355986251..a7ba660740 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 f3fdbda44d..b1391ca3a0 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 28cd6b6d8f..69c42d27b3 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 702b6b984b..98ae2bd224 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 6916b9f803..eac31b9943 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 a7fd7dc558..879d71c565 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 7292ca5689..a3c4e45548 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 259f7c57a0..b7ba7960ea 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 d3243dd77a..d5d96cad03 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 8921b5fd18..b02f108e19 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 538b21cbf4..b65e5fdd34 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 7316fcd94e..3abefa8437 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 */ }; -- 2.50.1