Skip to content

Commit c8e6c22

Browse files
committed
Elaborate how to update code
1 parent 2ec2b46 commit c8e6c22

File tree

2 files changed

+63
-31
lines changed

2 files changed

+63
-31
lines changed

Doc/deprecations/c-api-pending-removal-in-3.18.rst

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,30 @@ Pending removal in Python 3.18
1010
* :c:func:`!_PyLong_New`: use :c:func:`PyLongWriter_Create`.
1111
* :c:func:`!_PyThreadState_UncheckedGet`: use :c:func:`PyThreadState_GetUnchecked`.
1212
* :c:func:`!_PyUnicode_AsString`: use :c:func:`PyUnicode_AsUTF8`.
13-
* :c:func:`!_PyUnicodeWriter_Init`: use :c:func:`PyUnicodeWriter_Create(0) <PyUnicodeWriter_Create>` instead.
14-
* :c:func:`!_PyUnicodeWriter_Finish`: use :c:func:`PyUnicodeWriter_Finish`.
15-
* :c:func:`!_PyUnicodeWriter_Dealloc`: use :c:func:`PyUnicodeWriter_Discard`.
16-
* :c:func:`!_PyUnicodeWriter_WriteChar`: use :c:func:`PyUnicodeWriter_WriteChar`.
17-
* :c:func:`!_PyUnicodeWriter_WriteStr`: use :c:func:`PyUnicodeWriter_WriteStr`.
18-
* :c:func:`!_PyUnicodeWriter_WriteSubstring`: use :c:func:`PyUnicodeWriter_WriteSubstring`.
19-
* :c:func:`!_PyUnicodeWriter_WriteASCIIString`: use :c:func:`PyUnicodeWriter_WriteUTF8`.
20-
* :c:func:`!_PyUnicodeWriter_WriteLatin1String`: use :c:func:`PyUnicodeWriter_WriteUTF8`.
13+
* :c:func:`!_PyUnicodeWriter_Init`:
14+
replace ``_PyUnicodeWriter_Init(&writer)`` with
15+
:c:func:`writer = PyUnicodeWriter_Create(0) <PyUnicodeWriter_Create>`.
16+
* :c:func:`!_PyUnicodeWriter_Finish`:
17+
replace ``_PyUnicodeWriter_Finish(&writer)`` with
18+
:c:func:`PyUnicodeWriter_Finish(writer) <PyUnicodeWriter_Finish>`.
19+
* :c:func:`!_PyUnicodeWriter_Dealloc`:
20+
replace ``_PyUnicodeWriter_Dealloc(&writer)`` with
21+
:c:func:`PyUnicodeWriter_Discard(writer) <PyUnicodeWriter_Discard>`.
22+
* :c:func:`!_PyUnicodeWriter_WriteChar`:
23+
replace ``_PyUnicodeWriter_WriteChar(&writer, ch)`` with
24+
:c:func:`PyUnicodeWriter_WriteChar(writer, ch) <PyUnicodeWriter_WriteChar>`.
25+
* :c:func:`!_PyUnicodeWriter_WriteStr`:
26+
replace ``_PyUnicodeWriter_WriteStr(&writer, str)`` with
27+
:c:func:`PyUnicodeWriter_WriteStr(writer, str) <PyUnicodeWriter_WriteStr>`.
28+
* :c:func:`!_PyUnicodeWriter_WriteSubstring`:
29+
replace ``_PyUnicodeWriter_WriteSubstring(&writer, str, start, end)`` with
30+
:c:func:`PyUnicodeWriter_WriteSubstring(writer, str, start, end) <PyUnicodeWriter_WriteSubstring>`.
31+
* :c:func:`!_PyUnicodeWriter_WriteASCIIString`:
32+
replace ``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` with
33+
:c:func:`PyUnicodeWriter_WriteUTF8(writer, str) <PyUnicodeWriter_WriteUTF8>`.
34+
* :c:func:`!_PyUnicodeWriter_WriteLatin1String`:
35+
replace ``_PyUnicodeWriter_WriteLatin1String(&writer, str)`` with
36+
:c:func:`PyUnicodeWriter_WriteUTF8(writer, str) <PyUnicodeWriter_WriteUTF8>`.
2137
* :c:func:`!_Py_HashPointer`: use :c:func:`Py_HashPointer`.
2238
* :c:func:`!_Py_fopen_obj`: use :c:func:`Py_fopen`.
2339

Doc/whatsnew/3.14.rst

Lines changed: 39 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1337,21 +1337,21 @@ Porting to Python 3.14
13371337

13381338
* Private functions promoted to public C APIs:
13391339

1340-
* ``_PyBytes_Join()``: :c:func:`PyBytes_Join`;
1341-
* ``_PyLong_IsNegative()``: :c:func:`PyLong_IsNegative`;
1342-
* ``_PyLong_IsPositive()``: :c:func:`PyLong_IsPositive`;
1343-
* ``_PyLong_IsZero()``: :c:func:`PyLong_IsZero`;
1344-
* ``_PyLong_Sign()``: :c:func:`PyLong_GetSign`;
1345-
* ``_PyUnicodeWriter_Dealloc()``: :c:func:`PyUnicodeWriter_Discard`;
1346-
* ``_PyUnicodeWriter_Finish()``: :c:func:`PyUnicodeWriter_Finish`;
1347-
* ``_PyUnicodeWriter_Init()``: use :c:func:`PyUnicodeWriter_Create(0) <PyUnicodeWriter_Create>` instead;
1348-
* ``_PyUnicodeWriter_WriteChar()``: :c:func:`PyUnicodeWriter_WriteChar`;
1349-
* ``_PyUnicodeWriter_WriteStr()``: :c:func:`PyUnicodeWriter_WriteStr`;
1350-
* ``_PyUnicodeWriter_WriteSubstring()``: :c:func:`PyUnicodeWriter_WriteSubstring`;
1351-
* ``_PyUnicode_EQ()``: :c:func:`PyUnicode_Equal`;
1352-
* ``_PyUnicode_Equal()``: :c:func:`PyUnicode_Equal`;
1353-
* ``_Py_GetConfig()``: :c:func:`PyConfig_Get` and :c:func:`PyConfig_GetInt`;
1354-
* ``_Py_HashBytes()``: :c:func:`Py_HashBuffer`;
1340+
* ``_PyBytes_Join()``: :c:func:`PyBytes_Join`.
1341+
* ``_PyLong_IsNegative()``: :c:func:`PyLong_IsNegative`.
1342+
* ``_PyLong_IsPositive()``: :c:func:`PyLong_IsPositive`.
1343+
* ``_PyLong_IsZero()``: :c:func:`PyLong_IsZero`.
1344+
* ``_PyLong_Sign()``: :c:func:`PyLong_GetSign`.
1345+
* ``_PyUnicodeWriter_Dealloc()``: :c:func:`PyUnicodeWriter_Discard`.
1346+
* ``_PyUnicodeWriter_Finish()``: :c:func:`PyUnicodeWriter_Finish`.
1347+
* ``_PyUnicodeWriter_Init()``: use :c:func:`PyUnicodeWriter_Create`.
1348+
* ``_PyUnicodeWriter_WriteChar()``: :c:func:`PyUnicodeWriter_WriteChar`.
1349+
* ``_PyUnicodeWriter_WriteStr()``: :c:func:`PyUnicodeWriter_WriteStr`.
1350+
* ``_PyUnicodeWriter_WriteSubstring()``: :c:func:`PyUnicodeWriter_WriteSubstring`.
1351+
* ``_PyUnicode_EQ()``: :c:func:`PyUnicode_Equal`.
1352+
* ``_PyUnicode_Equal()``: :c:func:`PyUnicode_Equal`.
1353+
* ``_Py_GetConfig()``: :c:func:`PyConfig_Get` and :c:func:`PyConfig_GetInt`.
1354+
* ``_Py_HashBytes()``: :c:func:`Py_HashBuffer`.
13551355
* ``_Py_fopen_obj()``: :c:func:`Py_fopen`.
13561356

13571357
The `pythoncapi-compat project`_ can be used to get most of these new
@@ -1399,14 +1399,30 @@ Deprecated
13991399
* :c:func:`!_PyLong_New`: use :c:func:`PyLongWriter_Create`.
14001400
* :c:func:`!_PyThreadState_UncheckedGet`: use :c:func:`PyThreadState_GetUnchecked`.
14011401
* :c:func:`!_PyUnicode_AsString`: use :c:func:`PyUnicode_AsUTF8`.
1402-
* :c:func:`!_PyUnicodeWriter_Init`: use :c:func:`PyUnicodeWriter_Create(0) <PyUnicodeWriter_Create>` instead.
1403-
* :c:func:`!_PyUnicodeWriter_Finish`: use :c:func:`PyUnicodeWriter_Finish`.
1404-
* :c:func:`!_PyUnicodeWriter_Dealloc`: use :c:func:`PyUnicodeWriter_Discard`.
1405-
* :c:func:`!_PyUnicodeWriter_WriteChar`: use :c:func:`PyUnicodeWriter_WriteChar`.
1406-
* :c:func:`!_PyUnicodeWriter_WriteStr`: use :c:func:`PyUnicodeWriter_WriteStr`.
1407-
* :c:func:`!_PyUnicodeWriter_WriteSubstring`: use :c:func:`PyUnicodeWriter_WriteSubstring`.
1408-
* :c:func:`!_PyUnicodeWriter_WriteASCIIString`: use :c:func:`PyUnicodeWriter_WriteUTF8`.
1409-
* :c:func:`!_PyUnicodeWriter_WriteLatin1String`: use :c:func:`PyUnicodeWriter_WriteUTF8`.
1402+
* :c:func:`!_PyUnicodeWriter_Init`:
1403+
replace ``_PyUnicodeWriter_Init(&writer)`` with
1404+
:c:func:`writer = PyUnicodeWriter_Create(0) <PyUnicodeWriter_Create>`.
1405+
* :c:func:`!_PyUnicodeWriter_Finish`:
1406+
replace ``_PyUnicodeWriter_Finish(&writer)`` with
1407+
:c:func:`PyUnicodeWriter_Finish(writer) <PyUnicodeWriter_Finish>`.
1408+
* :c:func:`!_PyUnicodeWriter_Dealloc`:
1409+
replace ``_PyUnicodeWriter_Dealloc(&writer)`` with
1410+
:c:func:`PyUnicodeWriter_Discard(writer) <PyUnicodeWriter_Discard>`.
1411+
* :c:func:`!_PyUnicodeWriter_WriteChar`:
1412+
replace ``_PyUnicodeWriter_WriteChar(&writer, ch)`` with
1413+
:c:func:`PyUnicodeWriter_WriteChar(writer, ch) <PyUnicodeWriter_WriteChar>`.
1414+
* :c:func:`!_PyUnicodeWriter_WriteStr`:
1415+
replace ``_PyUnicodeWriter_WriteStr(&writer, str)`` with
1416+
:c:func:`PyUnicodeWriter_WriteStr(writer, str) <PyUnicodeWriter_WriteStr>`.
1417+
* :c:func:`!_PyUnicodeWriter_WriteSubstring`:
1418+
replace ``_PyUnicodeWriter_WriteSubstring(&writer, str, start, end)`` with
1419+
:c:func:`PyUnicodeWriter_WriteSubstring(writer, str, start, end) <PyUnicodeWriter_WriteSubstring>`.
1420+
* :c:func:`!_PyUnicodeWriter_WriteASCIIString`:
1421+
replace ``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` with
1422+
:c:func:`PyUnicodeWriter_WriteUTF8(writer, str) <PyUnicodeWriter_WriteUTF8>`.
1423+
* :c:func:`!_PyUnicodeWriter_WriteLatin1String`:
1424+
replace ``_PyUnicodeWriter_WriteLatin1String(&writer, str)`` with
1425+
:c:func:`PyUnicodeWriter_WriteUTF8(writer, str) <PyUnicodeWriter_WriteUTF8>`.
14101426
* :c:func:`!_Py_HashPointer`: use :c:func:`Py_HashPointer`.
14111427
* :c:func:`!_Py_fopen_obj`: use :c:func:`Py_fopen`.
14121428

0 commit comments

Comments
 (0)