summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2021-10-11 21:36:37 (GMT)
committerGitHub <noreply@github.com>2021-10-11 21:36:37 (GMT)
commit1f316ea3b4fa319eec4f375fb683467b424c964e (patch)
treeead2218868249ca35e4ca17dfab6d1a92e9669e8
parent03ea862b8a8234176761240ba122254e9eb11663 (diff)
downloadcpython-1f316ea3b4fa319eec4f375fb683467b424c964e.zip
cpython-1f316ea3b4fa319eec4f375fb683467b424c964e.tar.gz
cpython-1f316ea3b4fa319eec4f375fb683467b424c964e.tar.bz2
bpo-41123: Remove Py_UNICODE_COPY() and Py_UNICODE_FILL() (GH-28887)
-rw-r--r--Doc/whatsnew/3.11.rst5
-rw-r--r--Include/cpython/unicodeobject.h13
-rw-r--r--Misc/NEWS.d/next/C API/2021-10-11-22-58-33.bpo-41123.myrlIp.rst4
3 files changed, 9 insertions, 13 deletions
diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index 1455a59..0d30fe8 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -591,3 +591,8 @@ Removed
* ``Py_SET_ERRNO_ON_MATH_ERROR()``
(Contributed by Victor Stinner in :issue:`45412`.)
+
+* Remove ``Py_UNICODE_COPY()`` and ``Py_UNICODE_FILL()`` macros, deprecated
+ since Python 3.3. Use ``PyUnicode_CopyCharacters()`` or ``memcpy()``
+ (``wchar_t*`` string), and ``PyUnicode_Fill()`` functions instead.
+ (Contributed by Victor Stinner in :issue:`41123`.)
diff --git a/Include/cpython/unicodeobject.h b/Include/cpython/unicodeobject.h
index b40e2ea..0cbdbdb 100644
--- a/Include/cpython/unicodeobject.h
+++ b/Include/cpython/unicodeobject.h
@@ -50,19 +50,6 @@
Py_UNICODE_ISDIGIT(ch) || \
Py_UNICODE_ISNUMERIC(ch))
-Py_DEPRECATED(3.3) static inline void
-Py_UNICODE_COPY(Py_UNICODE *target, const Py_UNICODE *source, Py_ssize_t length) {
- memcpy(target, source, (size_t)(length) * sizeof(Py_UNICODE));
-}
-
-Py_DEPRECATED(3.3) static inline void
-Py_UNICODE_FILL(Py_UNICODE *target, Py_UNICODE value, Py_ssize_t length) {
- Py_ssize_t i;
- for (i = 0; i < length; i++) {
- target[i] = value;
- }
-}
-
/* macros to work with surrogates */
#define Py_UNICODE_IS_SURROGATE(ch) (0xD800 <= (ch) && (ch) <= 0xDFFF)
#define Py_UNICODE_IS_HIGH_SURROGATE(ch) (0xD800 <= (ch) && (ch) <= 0xDBFF)
diff --git a/Misc/NEWS.d/next/C API/2021-10-11-22-58-33.bpo-41123.myrlIp.rst b/Misc/NEWS.d/next/C API/2021-10-11-22-58-33.bpo-41123.myrlIp.rst
new file mode 100644
index 0000000..3ae302b
--- /dev/null
+++ b/Misc/NEWS.d/next/C API/2021-10-11-22-58-33.bpo-41123.myrlIp.rst
@@ -0,0 +1,4 @@
+Remove ``Py_UNICODE_COPY()`` and ``Py_UNICODE_FILL()`` macros, deprecated
+since Python 3.3. Use ``PyUnicode_CopyCharacters()`` or ``memcpy()``
+(``wchar_t*`` string), and ``PyUnicode_Fill()`` functions instead. Patch by
+Victor Stinner.