Skip to content

Commit db55383

Browse files
gh-107298: Fix references to deprecated and removed PyUnicode C API (GH-108077)
1 parent 10a91d7 commit db55383

File tree

5 files changed

+54
-54
lines changed

5 files changed

+54
-54
lines changed

Doc/whatsnew/3.11.rst

+13-13
Original file line numberDiff line numberDiff line change
@@ -2591,30 +2591,30 @@ Pending Removal in Python 3.12
25912591
The following C APIs have been deprecated in earlier Python releases,
25922592
and will be removed in Python 3.12.
25932593

2594-
* :c:func:`PyUnicode_AS_DATA`
2595-
* :c:func:`PyUnicode_AS_UNICODE`
2596-
* :c:func:`PyUnicode_AsUnicodeAndSize`
2597-
* :c:func:`PyUnicode_AsUnicode`
2598-
* :c:func:`PyUnicode_FromUnicode`
2599-
* :c:func:`PyUnicode_GET_DATA_SIZE`
2600-
* :c:func:`PyUnicode_GET_SIZE`
2601-
* :c:func:`PyUnicode_GetSize`
2594+
* :c:func:`!PyUnicode_AS_DATA`
2595+
* :c:func:`!PyUnicode_AS_UNICODE`
2596+
* :c:func:`!PyUnicode_AsUnicodeAndSize`
2597+
* :c:func:`!PyUnicode_AsUnicode`
2598+
* :c:func:`!PyUnicode_FromUnicode`
2599+
* :c:func:`!PyUnicode_GET_DATA_SIZE`
2600+
* :c:func:`!PyUnicode_GET_SIZE`
2601+
* :c:func:`!PyUnicode_GetSize`
26022602
* :c:func:`PyUnicode_IS_COMPACT`
26032603
* :c:func:`PyUnicode_IS_READY`
26042604
* :c:func:`PyUnicode_READY`
2605-
* :c:func:`Py_UNICODE_WSTR_LENGTH`
2606-
* :c:func:`_PyUnicode_AsUnicode`
2607-
* :c:macro:`PyUnicode_WCHAR_KIND`
2605+
* :c:func:`!PyUnicode_WSTR_LENGTH`
2606+
* :c:func:`!_PyUnicode_AsUnicode`
2607+
* :c:macro:`!PyUnicode_WCHAR_KIND`
26082608
* :c:type:`PyUnicodeObject`
2609-
* :c:func:`PyUnicode_InternImmortal()`
2609+
* :c:func:`!PyUnicode_InternImmortal`
26102610

26112611

26122612
.. _whatsnew311-c-api-removed:
26132613

26142614
Removed
26152615
-------
26162616

2617-
* :c:func:`PyFrame_BlockSetup` and :c:func:`PyFrame_BlockPop` have been
2617+
* :c:func:`!PyFrame_BlockSetup` and :c:func:`!PyFrame_BlockPop` have been
26182618
removed.
26192619
(Contributed by Mark Shannon in :issue:`40222`.)
26202620

Doc/whatsnew/3.3.rst

+33-33
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ Changes introduced by :pep:`393` are the following:
249249
non-BMP code points.
250250

251251
* The value of :data:`sys.maxunicode` is now always ``1114111`` (``0x10FFFF``
252-
in hexadecimal). The :c:func:`PyUnicode_GetMax` function still returns
252+
in hexadecimal). The :c:func:`!PyUnicode_GetMax` function still returns
253253
either ``0xFFFF`` or ``0x10FFFF`` for backward compatibility, and it should
254254
not be used with the new Unicode API (see :issue:`13054`).
255255

@@ -2196,7 +2196,7 @@ Changes to Python's build process and to the C API include:
21962196
* :c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`,
21972197
:c:macro:`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`
21982198
* :c:macro:`PyUnicode_KIND` with :c:enum:`PyUnicode_Kind` enum:
2199-
:c:data:`PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`,
2199+
:c:data:`!PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`,
22002200
:c:data:`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`
22012201
* :c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, :c:macro:`PyUnicode_WRITE`
22022202
* :c:macro:`PyUnicode_MAX_CHAR_VALUE`
@@ -2270,58 +2270,58 @@ removed in Python 4. All functions using this type are deprecated:
22702270
Unicode functions and methods using :c:type:`Py_UNICODE` and
22712271
:c:expr:`Py_UNICODE*` types:
22722272

2273-
* :c:macro:`PyUnicode_FromUnicode`: use :c:func:`PyUnicode_FromWideChar` or
2273+
* :c:macro:`!PyUnicode_FromUnicode`: use :c:func:`PyUnicode_FromWideChar` or
22742274
:c:func:`PyUnicode_FromKindAndData`
2275-
* :c:macro:`PyUnicode_AS_UNICODE`, :c:func:`PyUnicode_AsUnicode`,
2276-
:c:func:`PyUnicode_AsUnicodeAndSize`: use :c:func:`PyUnicode_AsWideCharString`
2277-
* :c:macro:`PyUnicode_AS_DATA`: use :c:macro:`PyUnicode_DATA` with
2275+
* :c:macro:`!PyUnicode_AS_UNICODE`, :c:func:`!PyUnicode_AsUnicode`,
2276+
:c:func:`!PyUnicode_AsUnicodeAndSize`: use :c:func:`PyUnicode_AsWideCharString`
2277+
* :c:macro:`!PyUnicode_AS_DATA`: use :c:macro:`PyUnicode_DATA` with
22782278
:c:macro:`PyUnicode_READ` and :c:macro:`PyUnicode_WRITE`
2279-
* :c:macro:`PyUnicode_GET_SIZE`, :c:func:`PyUnicode_GetSize`: use
2279+
* :c:macro:`!PyUnicode_GET_SIZE`, :c:func:`!PyUnicode_GetSize`: use
22802280
:c:macro:`PyUnicode_GET_LENGTH` or :c:func:`PyUnicode_GetLength`
2281-
* :c:macro:`PyUnicode_GET_DATA_SIZE`: use
2281+
* :c:macro:`!PyUnicode_GET_DATA_SIZE`: use
22822282
``PyUnicode_GET_LENGTH(str) * PyUnicode_KIND(str)`` (only work on ready
22832283
strings)
2284-
* :c:func:`PyUnicode_AsUnicodeCopy`: use :c:func:`PyUnicode_AsUCS4Copy` or
2284+
* :c:func:`!PyUnicode_AsUnicodeCopy`: use :c:func:`PyUnicode_AsUCS4Copy` or
22852285
:c:func:`PyUnicode_AsWideCharString`
2286-
* :c:func:`PyUnicode_GetMax`
2286+
* :c:func:`!PyUnicode_GetMax`
22872287

22882288

22892289
Functions and macros manipulating Py_UNICODE* strings:
22902290

2291-
* :c:macro:`Py_UNICODE_strlen`: use :c:func:`PyUnicode_GetLength` or
2291+
* :c:macro:`!Py_UNICODE_strlen()`: use :c:func:`PyUnicode_GetLength` or
22922292
:c:macro:`PyUnicode_GET_LENGTH`
2293-
* :c:macro:`Py_UNICODE_strcat`: use :c:func:`PyUnicode_CopyCharacters` or
2293+
* :c:macro:`!Py_UNICODE_strcat()`: use :c:func:`PyUnicode_CopyCharacters` or
22942294
:c:func:`PyUnicode_FromFormat`
2295-
* :c:macro:`Py_UNICODE_strcpy`, :c:macro:`Py_UNICODE_strncpy`,
2296-
:c:macro:`Py_UNICODE_COPY`: use :c:func:`PyUnicode_CopyCharacters` or
2295+
* :c:macro:`!Py_UNICODE_strcpy()`, :c:macro:`!Py_UNICODE_strncpy()`,
2296+
:c:macro:`!Py_UNICODE_COPY()`: use :c:func:`PyUnicode_CopyCharacters` or
22972297
:c:func:`PyUnicode_Substring`
2298-
* :c:macro:`Py_UNICODE_strcmp`: use :c:func:`PyUnicode_Compare`
2299-
* :c:macro:`Py_UNICODE_strncmp`: use :c:func:`PyUnicode_Tailmatch`
2300-
* :c:macro:`Py_UNICODE_strchr`, :c:macro:`Py_UNICODE_strrchr`: use
2298+
* :c:macro:`!Py_UNICODE_strcmp()`: use :c:func:`PyUnicode_Compare`
2299+
* :c:macro:`!Py_UNICODE_strncmp()`: use :c:func:`PyUnicode_Tailmatch`
2300+
* :c:macro:`!Py_UNICODE_strchr()`, :c:macro:`!Py_UNICODE_strrchr()`: use
23012301
:c:func:`PyUnicode_FindChar`
2302-
* :c:macro:`Py_UNICODE_FILL`: use :c:func:`PyUnicode_Fill`
2303-
* :c:macro:`Py_UNICODE_MATCH`
2302+
* :c:macro:`!Py_UNICODE_FILL()`: use :c:func:`PyUnicode_Fill`
2303+
* :c:macro:`!Py_UNICODE_MATCH`
23042304

23052305
Encoders:
23062306

2307-
* :c:func:`PyUnicode_Encode`: use :c:func:`PyUnicode_AsEncodedObject`
2308-
* :c:func:`PyUnicode_EncodeUTF7`
2309-
* :c:func:`PyUnicode_EncodeUTF8`: use :c:func:`PyUnicode_AsUTF8` or
2307+
* :c:func:`!PyUnicode_Encode`: use :c:func:`PyUnicode_AsEncodedObject`
2308+
* :c:func:`!PyUnicode_EncodeUTF7`
2309+
* :c:func:`!PyUnicode_EncodeUTF8`: use :c:func:`PyUnicode_AsUTF8` or
23102310
:c:func:`PyUnicode_AsUTF8String`
2311-
* :c:func:`PyUnicode_EncodeUTF32`
2312-
* :c:func:`PyUnicode_EncodeUTF16`
2313-
* :c:func:`PyUnicode_EncodeUnicodeEscape` use
2311+
* :c:func:`!PyUnicode_EncodeUTF32`
2312+
* :c:func:`!PyUnicode_EncodeUTF16`
2313+
* :c:func:`!PyUnicode_EncodeUnicodeEscape` use
23142314
:c:func:`PyUnicode_AsUnicodeEscapeString`
2315-
* :c:func:`PyUnicode_EncodeRawUnicodeEscape` use
2315+
* :c:func:`!PyUnicode_EncodeRawUnicodeEscape` use
23162316
:c:func:`PyUnicode_AsRawUnicodeEscapeString`
2317-
* :c:func:`PyUnicode_EncodeLatin1`: use :c:func:`PyUnicode_AsLatin1String`
2318-
* :c:func:`PyUnicode_EncodeASCII`: use :c:func:`PyUnicode_AsASCIIString`
2319-
* :c:func:`PyUnicode_EncodeCharmap`
2320-
* :c:func:`PyUnicode_TranslateCharmap`
2321-
* :c:func:`PyUnicode_EncodeMBCS`: use :c:func:`PyUnicode_AsMBCSString` or
2317+
* :c:func:`!PyUnicode_EncodeLatin1`: use :c:func:`PyUnicode_AsLatin1String`
2318+
* :c:func:`!PyUnicode_EncodeASCII`: use :c:func:`PyUnicode_AsASCIIString`
2319+
* :c:func:`!PyUnicode_EncodeCharmap`
2320+
* :c:func:`!PyUnicode_TranslateCharmap`
2321+
* :c:func:`!PyUnicode_EncodeMBCS`: use :c:func:`PyUnicode_AsMBCSString` or
23222322
:c:func:`PyUnicode_EncodeCodePage` (with ``CP_ACP`` code_page)
2323-
* :c:func:`PyUnicode_EncodeDecimal`,
2324-
:c:func:`PyUnicode_TransformDecimalToASCII`
2323+
* :c:func:`!PyUnicode_EncodeDecimal`,
2324+
:c:func:`!PyUnicode_TransformDecimalToASCII`
23252325

23262326

23272327
Deprecated features

Doc/whatsnew/3.6.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -2066,9 +2066,9 @@ environment. (Contributed by Brett Cannon in :issue:`25154`.)
20662066
Deprecated functions and types of the C API
20672067
-------------------------------------------
20682068

2069-
Undocumented functions :c:func:`PyUnicode_AsEncodedObject`,
2070-
:c:func:`PyUnicode_AsDecodedObject`, :c:func:`PyUnicode_AsEncodedUnicode`
2071-
and :c:func:`PyUnicode_AsDecodedUnicode` are deprecated now.
2069+
Undocumented functions :c:func:`!PyUnicode_AsEncodedObject`,
2070+
:c:func:`!PyUnicode_AsDecodedObject`, :c:func:`!PyUnicode_AsEncodedUnicode`
2071+
and :c:func:`!PyUnicode_AsDecodedUnicode` are deprecated now.
20722072
Use the :ref:`generic codec based API <codec-registry>` instead.
20732073

20742074

Doc/whatsnew/3.9.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -1370,8 +1370,8 @@ Porting to Python 3.9
13701370
(Contributed by Victor Stinner in :issue:`40241`.)
13711371

13721372
* The ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``,
1373-
:c:func:`PyUnicode_FromUnicode`, :c:func:`PyUnicode_AsUnicode`,
1374-
``_PyUnicode_AsUnicode``, and :c:func:`PyUnicode_AsUnicodeAndSize` are
1373+
:c:func:`!PyUnicode_FromUnicode`, :c:func:`!PyUnicode_AsUnicode`,
1374+
``_PyUnicode_AsUnicode``, and :c:func:`!PyUnicode_AsUnicodeAndSize` are
13751375
marked as deprecated in C. They have been deprecated by :pep:`393` since
13761376
Python 3.3.
13771377
(Contributed by Inada Naoki in :issue:`36346`.)

Misc/NEWS.d/3.11.0b1.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -2068,9 +2068,9 @@ casts when the Python C API is used in C++. Patch by Victor Stinner.
20682068
.. nonce: Cx-95G
20692069
.. section: C API
20702070
2071-
Mark functions as deprecated by :pep:`623`: :c:func:`PyUnicode_AS_DATA`,
2072-
:c:func:`PyUnicode_AS_UNICODE`, :c:func:`PyUnicode_GET_DATA_SIZE`,
2073-
:c:func:`PyUnicode_GET_SIZE`. Patch by Victor Stinner.
2071+
Mark functions as deprecated by :pep:`623`: :c:func:`!PyUnicode_AS_DATA`,
2072+
:c:func:`!PyUnicode_AS_UNICODE`, :c:func:`!PyUnicode_GET_DATA_SIZE`,
2073+
:c:func:`!PyUnicode_GET_SIZE`. Patch by Victor Stinner.
20742074

20752075
..
20762076

0 commit comments

Comments
 (0)