From e4f1fe6edb216e04da03ae80b462ca273f00255b Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Mon, 29 Jun 2020 13:00:43 +0900 Subject: bpo-41123: Remove PyLong_FromUnicode() (GH-21204) --- Doc/c-api/long.rst | 11 ----------- Doc/data/refcounts.dat | 5 ----- Doc/whatsnew/3.10.rst | 3 +++ Include/longobject.h | 2 -- .../next/C API/2020-06-29-11-33-49.bpo-41123.qFevek.rst | 1 + Objects/abstract.c | 2 +- Objects/longobject.c | 11 ----------- 7 files changed, 5 insertions(+), 30 deletions(-) create mode 100644 Misc/NEWS.d/next/C API/2020-06-29-11-33-49.bpo-41123.qFevek.rst diff --git a/Doc/c-api/long.rst b/Doc/c-api/long.rst index a7bd43d..3921a93 100644 --- a/Doc/c-api/long.rst +++ b/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 diff --git a/Doc/data/refcounts.dat b/Doc/data/refcounts.dat index 1215c96..4d9aee3 100644 --- a/Doc/data/refcounts.dat +++ b/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:: diff --git a/Doc/whatsnew/3.10.rst b/Doc/whatsnew/3.10.rst index 0dd3313..0c4ff02 100644 --- a/Doc/whatsnew/3.10.rst +++ b/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`.) diff --git a/Include/longobject.h b/Include/longobject.h index dad08c2..06e3e24 100644 --- a/Include/longobject.h +++ b/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 diff --git a/Misc/NEWS.d/next/C API/2020-06-29-11-33-49.bpo-41123.qFevek.rst b/Misc/NEWS.d/next/C API/2020-06-29-11-33-49.bpo-41123.qFevek.rst new file mode 100644 index 0000000..1f58135 --- /dev/null +++ b/Misc/NEWS.d/next/C API/2020-06-29-11-33-49.bpo-41123.qFevek.rst @@ -0,0 +1 @@ +Removed ``PyLong_FromUnicode()``. diff --git a/Objects/abstract.c b/Objects/abstract.c index 0d3f4ac..3494f33 100644 --- a/Objects/abstract.c +++ b/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)) diff --git a/Objects/longobject.c b/Objects/longobject.c index d00a7a0..571f53a 100644 --- a/Objects/longobject.c +++ b/Objects/longobject.c @@ -2504,17 +2504,6 @@ _PyLong_FromBytes(const char *s, Py_ssize_t len, int base) } 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) { PyObject *result, *asciidig; -- cgit v0.12