Browse Source

bpo-41123: Remove PyLong_FromUnicode() (GH-21204)

pull/21209/head
Inada Naoki 6 years ago
committed by GitHub
parent
commit
e4f1fe6edb
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      Doc/c-api/long.rst
  2. 5
      Doc/data/refcounts.dat
  3. 3
      Doc/whatsnew/3.10.rst
  4. 2
      Include/longobject.h
  5. 1
      Misc/NEWS.d/next/C API/2020-06-29-11-33-49.bpo-41123.qFevek.rst
  6. 2
      Objects/abstract.c
  7. 11
      Objects/longobject.c

11
Doc/c-api/long.rst

@ -94,17 +94,6 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate.
are no digits, :exc:`ValueError` will be raised.
.. c:function:: PyObject* PyLong_FromUnicode(Py_UNICODE *u, Py_ssize_t length, int base)
Convert a sequence of Unicode digits to a Python integer value. The Unicode
string is first encoded to a byte string using :c:func:`PyUnicode_EncodeDecimal`
and then converted using :c:func:`PyLong_FromString`.
.. deprecated-removed:: 3.3 4.0
Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using
:c:func:`PyLong_FromUnicodeObject`.
.. c:function:: PyObject* PyLong_FromUnicodeObject(PyObject *u, int base)
Convert a sequence of Unicode digits in the string *u* to a Python integer

5
Doc/data/refcounts.dat

@ -1205,11 +1205,6 @@ PyLong_FromString:const char*:str::
PyLong_FromString:char**:pend::
PyLong_FromString:int:base::
PyLong_FromUnicode:PyObject*::+1:
PyLong_FromUnicode:Py_UNICODE*:u::
PyLong_FromUnicode:Py_ssize_t:length::
PyLong_FromUnicode:int:base::
PyLong_FromUnicodeObject:PyObject*::+1:
PyLong_FromUnicodeObject:PyObject*:u:0:
PyLong_FromUnicodeObject:int:base::

3
Doc/whatsnew/3.10.rst

@ -226,3 +226,6 @@ Removed
* Removed ``PyUnicode_GetMax()``. Please migrate to new (:pep:`393`) APIs.
(Contributed by Inada Naoki in :issue:`41103`.)
* Removed ``PyLong_FromUnicode()``. Please migrate to :c:func:`PyLong_FromUnicodeObject`.
(Contributed by Inada Naoki in :issue:`41103`.)

2
Include/longobject.h

@ -102,8 +102,6 @@ PyAPI_FUNC(long long) PyLong_AsLongLongAndOverflow(PyObject *, int *);
PyAPI_FUNC(PyObject *) PyLong_FromString(const char *, char **, int);
#ifndef Py_LIMITED_API
Py_DEPRECATED(3.3)
PyAPI_FUNC(PyObject *) PyLong_FromUnicode(Py_UNICODE*, Py_ssize_t, int);
PyAPI_FUNC(PyObject *) PyLong_FromUnicodeObject(PyObject *u, int base);
PyAPI_FUNC(PyObject *) _PyLong_FromBytes(const char *, Py_ssize_t, int);
#endif

1
Misc/NEWS.d/next/C API/2020-06-29-11-33-49.bpo-41123.qFevek.rst

@ -0,0 +1 @@
Removed ``PyLong_FromUnicode()``.

2
Objects/abstract.c

@ -1429,7 +1429,7 @@ PyNumber_Long(PyObject *o)
return NULL;
if (PyUnicode_Check(o))
/* The below check is done in PyLong_FromUnicode(). */
/* The below check is done in PyLong_FromUnicodeObject(). */
return PyLong_FromUnicodeObject(o, 10);
if (PyBytes_Check(o))

11
Objects/longobject.c

@ -2503,17 +2503,6 @@ _PyLong_FromBytes(const char *s, Py_ssize_t len, int base)
return NULL;
}
PyObject *
PyLong_FromUnicode(Py_UNICODE *u, Py_ssize_t length, int base)
{
PyObject *v, *unicode = PyUnicode_FromWideChar(u, length);
if (unicode == NULL)
return NULL;
v = PyLong_FromUnicodeObject(unicode, base);
Py_DECREF(unicode);
return v;
}
PyObject *
PyLong_FromUnicodeObject(PyObject *u, int base)
{

Loading…
Cancel
Save