]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Merged revisions 68650-68653 via svnmerge from
authorMark Dickinson <dickinsm@gmail.com>
Sat, 17 Jan 2009 18:00:58 +0000 (18:00 +0000)
committerMark Dickinson <dickinsm@gmail.com>
Sat, 17 Jan 2009 18:00:58 +0000 (18:00 +0000)
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r68650 | mark.dickinson | 2009-01-17 09:45:37 +0000 (Sat, 17 Jan 2009) | 2 lines

  Remove a couple of references to long in the c-api docs
........
  r68651 | mark.dickinson | 2009-01-17 10:04:45 +0000 (Sat, 17 Jan 2009) | 2 lines

  Issue #4910, patch 3/3:  rename nb_long to nb_reserved
........
  r68652 | mark.dickinson | 2009-01-17 10:21:23 +0000 (Sat, 17 Jan 2009) | 2 lines

  Fix a few more references to long integers in the docs.
........
  r68653 | mark.dickinson | 2009-01-17 10:48:28 +0000 (Sat, 17 Jan 2009) | 2 lines

  Remove attempted long->int conversions in py3k version of float.as_integer_ratio.
........

17 files changed:
Doc/c-api/arg.rst
Doc/c-api/intro.rst
Doc/c-api/number.rst
Doc/c-api/typeobj.rst
Doc/library/math.rst
Doc/library/reprlib.rst
Include/object.h
Misc/NEWS
Modules/datetimemodule.c
Objects/boolobject.c
Objects/complexobject.c
Objects/floatobject.c
Objects/longobject.c
Objects/setobject.c
Objects/typeobject.c
Objects/weakrefobject.c
PC/winreg.c

index 96068d988af204dfd33588375d4412fbf1261730..dfedf972feb79f5cf9a011fe9e84d921e71d55c6 100644 (file)
@@ -489,11 +489,11 @@ and the following format units are left untouched.
    ``H`` (integer) [unsigned short int]
       Convert a C :ctype:`unsigned short int` to a Python integer object.
 
-   ``I`` (integer/long) [unsigned int]
-      Convert a C :ctype:`unsigned int` to a Python long integer object.
+   ``I`` (integer) [unsigned int]
+      Convert a C :ctype:`unsigned int` to a Python integer object.
 
-   ``k`` (integer/long) [unsigned long]
-      Convert a C :ctype:`unsigned long` to a Python long integer object.
+   ``k`` (integer) [unsigned long]
+      Convert a C :ctype:`unsigned long` to a Python integer object.
 
    ``L`` (long) [PY_LONG_LONG]
       Convert a C :ctype:`long long` to a Python integer object. Only available
index d165f166307fb2b18eec27464686e059c3ad0973..33e6060d6576396d12549f99cc2864960eb8e1e6 100644 (file)
@@ -607,7 +607,7 @@ extra checks are performed:
 
 * Sanity checks of the input arguments are added to frame creation.
 
-* The storage for long ints is initialized with a known invalid pattern to catch
+* The storage for ints is initialized with a known invalid pattern to catch
   reference to uninitialized digits.
 
 * Low-level tracing and extra exception checking are added to the runtime
index d11e3b180d24241187bbd51a3d77be48a8a60c37..e7c5f61d62469e3e315eac05144cce86f54aa551 100644 (file)
@@ -252,7 +252,7 @@ Number Protocol
 
 .. cfunction:: PyObject* PyNumber_Index(PyObject *o)
 
-   Returns the *o* converted to a Python int or long on success or *NULL* with a
+   Returns the *o* converted to a Python int on success or *NULL* with a
    :exc:`TypeError` exception raised on failure.
 
 
@@ -268,7 +268,7 @@ Number Protocol
 .. cfunction:: Py_ssize_t PyNumber_AsSsize_t(PyObject *o, PyObject *exc)
 
    Returns *o* converted to a Py_ssize_t value if *o* can be interpreted as an
-   integer. If *o* can be converted to a Python int or long but the attempt to
+   integer. If *o* can be converted to a Python int but the attempt to
    convert to a Py_ssize_t value would raise an :exc:`OverflowError`, then the
    *exc* argument is the type of exception that will be raised (usually
    :exc:`IndexError` or :exc:`OverflowError`).  If *exc* is *NULL*, then the
index 83559862512bc5d80033138fede8658aff1e5491..6d98d6b86454397d5c50f895be8daa3f72dc252f 100644 (file)
@@ -135,7 +135,7 @@ type objects) *must* have the :attr:`ob_size` field.
    :attr:`ob_size` field, and the instance size is :attr:`tp_basicsize` plus N
    times :attr:`tp_itemsize`, where N is the "length" of the object.  The value of
    N is typically stored in the instance's :attr:`ob_size` field.  There are
-   exceptions:  for example, long ints use a negative :attr:`ob_size` to indicate a
+   exceptions:  for example, ints use a negative :attr:`ob_size` to indicate a
    negative number, and N is ``abs(ob_size)`` there.  Also, the presence of an
    :attr:`ob_size` field in the instance layout doesn't mean that the instance
    structure is variable-length (for example, the structure for the list type has
@@ -812,7 +812,7 @@ type objects) *must* have the :attr:`ob_size` field.
 
    where :attr:`tp_basicsize`, :attr:`tp_itemsize` and :attr:`tp_dictoffset` are
    taken from the type object, and :attr:`ob_size` is taken from the instance.  The
-   absolute value is taken because long ints use the sign of :attr:`ob_size` to
+   absolute value is taken because ints use the sign of :attr:`ob_size` to
    store the sign of the number.  (There's never a need to do this calculation
    yourself; it is done for you by :cfunc:`_PyObject_GetDictPtr`.)
 
@@ -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:
 
index f171ec1a3f9e0dedad4b30ffbac818531be035e3..ab39424373c916f0cc4d717bb46ff812f7c557b1 100644 (file)
@@ -118,7 +118,7 @@ Number-theoretic and representation functions
 .. function:: trunc(x)
 
    Return the :class:`Real` value *x* truncated to an :class:`Integral` (usually
-   a long integer). Delegates to ``x.__trunc__()``.
+   an integer). Delegates to ``x.__trunc__()``.
 
 
 Note that :func:`frexp` and :func:`modf` have a different call/return pattern
index c1364a371020c6702b84bb78388ce03a8646f25c..0da29fc9bfc5286c06a14467d445f1ca1431451b 100644 (file)
@@ -65,7 +65,7 @@ which format specific object types.
 
 .. attribute:: Repr.maxlong
 
-   Maximum number of characters in the representation for a long integer.  Digits
+   Maximum number of characters in the representation for an integer.  Digits
    are dropped from the middle.  The default is ``40``.
 
 
index 0d20ecc003c055b2b751f4f496e57dec07b80ca5..c0f61813555c73a8ffa2bcac0143a567e95d74e6 100644 (file)
@@ -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;
index ce02ad627977779ac38c9cc0ecf76280690aa7d2..1bd6c05083e896c51ebd8e819c1c7a4164dcc8b5 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,9 @@ What's New in Python 3.0.1?
 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.
index 702b6b984bb4390f4b38769ae8b26494aeea3d87..98ae2bd2244f552c9c93883f0121a7c4c1146c42 100644 (file)
@@ -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*/
index 6916b9f8035f7c2beacd14e6cd2a223013818480..eac31b994352e7f64da8602c156da5d73a5a2e5c 100644 (file)
@@ -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 */
index a7fd7dc558358e6ba7e6a47bf59f24b1881a836a..879d71c5652756602f7fc6041daa428c6f0460ac 100644 (file)
@@ -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 */
index 7292ca568977ee1a244e99c6ef07fd97731d22b3..a05b3c6a049d9ae14d42bba57460f652a2c6e1cd 100644 (file)
@@ -1495,12 +1495,6 @@ float_as_integer_ratio(PyObject *v, PyObject *unused)
                py_exponent = NULL;
        }
 
-       /* Returns ints instead of longs where possible */
-       INPLACE_UPDATE(numerator, PyNumber_Int(numerator));
-       if (numerator == NULL) goto error;
-       INPLACE_UPDATE(denominator, PyNumber_Int(denominator));
-       if (denominator == NULL) goto error;
-
        result_pair = PyTuple_Pack(2, numerator, denominator);
 
 #undef INPLACE_UPDATE
@@ -1798,7 +1792,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 */
index dc03f47e79ae1ecad263eaeec953771aaaf42a76..40689fbee203ae30b06aaaaec08852c8f132e13a 100644 (file)
@@ -3759,7 +3759,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 */
index d3243dd77a3c77cfa21ae04486e9110b55539fb6..d5d96cad03eb2fb02d430473874ab17db4f05225 100644 (file)
@@ -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*/
index 8f2e01e00cff53d62b916c80e2a798b91c3e20bc..cdf4e41fc6a3052d495ee976bb6110186652dfa9 100644 (file)
@@ -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, 
index 538b21cbf49b200e56ce122cc316b4bad68e785c..b65e5fdd34d4b9702245c15e8f28e89d8be53315 100644 (file)
@@ -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*/
index 7316fcd94e55bf6393e53b7e65affb65b99948ec..3abefa8437e3585051c88326b453dae39be7ce28 100644 (file)
@@ -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 */
 };