Browse Source
bpo-41123: Remove PyLong_FromUnicode() (GH-21204)
pull/21209/head
Inada Naoki
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with
5 additions and
30 deletions
-
Doc/c-api/long.rst
-
Doc/data/refcounts.dat
-
Doc/whatsnew/3.10.rst
-
Include/longobject.h
-
Misc/NEWS.d/next/C API/2020-06-29-11-33-49.bpo-41123.qFevek.rst
-
Objects/abstract.c
-
Objects/longobject.c
|
|
|
@ -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 |
|
|
|
|
|
|
|
@ -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:: |
|
|
|
|
|
|
|
@ -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`.) |
|
|
|
@ -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 |
|
|
|
|
|
|
|
@ -0,0 +1 @@ |
|
|
|
Removed ``PyLong_FromUnicode()``. |
|
|
|
@ -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)) |
|
|
|
|
|
|
|
@ -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) |
|
|
|
{ |
|
|
|
|