bpo-36346: Doc: Update removal schedule of legacy Unicode (GH-21479) · python/cpython@270b4ad (original) (raw)
`@@ -34,6 +34,11 @@ can internally be in two states depending on how they were created:
`
34
34
`` :c:type:Py_UNICODE*
representation; you will have to call
``
35
35
`` :c:func:PyUnicode_READY
on them before calling any other API.
``
36
36
``
``
37
`+
.. note::
`
``
38
`+
The "legacy" Unicode object will be removed in Python 3.12 with deprecated
`
``
39
`` +
APIs. All Unicode objects will be "canonical" since then. See :pep:623
``
``
40
`+
for more information.
`
``
41
+
37
42
``
38
43
`Unicode Type
`
39
44
`""""""""""""
`
`@@ -107,6 +112,9 @@ access internal read-only data of Unicode objects:
`
107
112
``
108
113
` .. versionadded:: 3.3
`
109
114
``
``
115
`+
.. deprecated-removed:: 3.10 3.12
`
``
116
`` +
This API will be removed with :c:func:PyUnicode_FromUnicode
.
``
``
117
+
110
118
``
111
119
`.. c:function:: Py_ssize_t PyUnicode_GET_LENGTH(PyObject *o)
`
112
120
``
`@@ -138,6 +146,9 @@ access internal read-only data of Unicode objects:
`
138
146
``
139
147
` .. versionadded:: 3.3
`
140
148
``
``
149
`+
.. deprecated-removed:: 3.10 3.12
`
``
150
``PyUnicode_WCHAR_KIND`` is deprecated.
``
151
+
141
152
``
142
153
`.. c:function:: int PyUnicode_KIND(PyObject *o)
`
143
154
``
`@@ -203,7 +214,7 @@ access internal read-only data of Unicode objects:
`
203
214
` code units (this includes surrogate pairs as 2 units). o has to be a
`
204
215
` Unicode object (not checked).
`
205
216
``
206
``
`-
.. deprecated-removed:: 3.3 4.0
`
``
217
`+
.. deprecated-removed:: 3.3 3.12
`
207
218
` Part of the old-style Unicode API, please migrate to using
`
208
219
`` :c:func:PyUnicode_GET_LENGTH
.
``
209
220
``
`@@ -213,7 +224,7 @@ access internal read-only data of Unicode objects:
`
213
224
`` Return the size of the deprecated :c:type:Py_UNICODE
representation in
``
214
225
` bytes. o has to be a Unicode object (not checked).
`
215
226
``
216
``
`-
.. deprecated-removed:: 3.3 4.0
`
``
227
`+
.. deprecated-removed:: 3.3 3.12
`
217
228
` Part of the old-style Unicode API, please migrate to using
`
218
229
`` :c:func:PyUnicode_GET_LENGTH
.
``
219
230
``
`@@ -235,7 +246,7 @@ access internal read-only data of Unicode objects:
`
235
246
`` code to use the new :c:func:PyUnicode_nBYTE_DATA
macros or use
``
236
247
`` :c:func:PyUnicode_WRITE
or :c:func:PyUnicode_READ
.
``
237
248
``
238
``
`-
.. deprecated-removed:: 3.3 4.0
`
``
249
`+
.. deprecated-removed:: 3.3 3.12
`
239
250
` Part of the old-style Unicode API, please migrate to using the
`
240
251
`` :c:func:PyUnicode_nBYTE_DATA
family of macros.
``
241
252
``
`@@ -687,8 +698,10 @@ Extension modules can continue using them, as they will not be removed in Python
`
687
698
` string content has been filled before using any of the access macros such as
`
688
699
`` :c:func:PyUnicode_KIND
.
``
689
700
``
690
``
`` -
Please migrate to using :c:func:PyUnicode_FromKindAndData
,
``
691
``
`` -
:c:func:PyUnicode_FromWideChar
or :c:func:PyUnicode_New
.
``
``
701
`+
.. deprecated-removed:: 3.3 3.12
`
``
702
`+
Part of the old-style Unicode API, please migrate to using
`
``
703
`` +
:c:func:PyUnicode_FromKindAndData
, :c:func:PyUnicode_FromWideChar
, or
``
``
704
`` +
:c:func:PyUnicode_New
.
``
692
705
``
693
706
``
694
707
`.. c:function:: Py_UNICODE* PyUnicode_AsUnicode(PyObject *unicode)
`
`@@ -701,9 +714,10 @@ Extension modules can continue using them, as they will not be removed in Python
`
701
714
` embedded null code points, which would cause the string to be truncated when
`
702
715
` used in most C functions.
`
703
716
``
704
``
`` -
Please migrate to using :c:func:PyUnicode_AsUCS4
,
``
705
``
`` -
:c:func:PyUnicode_AsWideChar
, :c:func:PyUnicode_ReadChar
or similar new
``
706
``
`-
APIs.
`
``
717
`+
.. deprecated-removed:: 3.3 3.12
`
``
718
`+
Part of the old-style Unicode API, please migrate to using
`
``
719
`` +
:c:func:PyUnicode_AsUCS4
, :c:func:PyUnicode_AsWideChar
,
``
``
720
`` +
:c:func:PyUnicode_ReadChar
or similar new APIs.
``
707
721
``
708
722
``
709
723
`.. c:function:: PyObject* PyUnicode_TransformDecimalToASCII(Py_UNICODE *s, Py_ssize_t size)
`
`@@ -723,13 +737,20 @@ Extension modules can continue using them, as they will not be removed in Python
`
723
737
``
724
738
` .. versionadded:: 3.3
`
725
739
``
``
740
`+
.. deprecated-removed:: 3.3 3.12
`
``
741
`+
Part of the old-style Unicode API, please migrate to using
`
``
742
`` +
:c:func:PyUnicode_AsUCS4
, :c:func:PyUnicode_AsWideChar
,
``
``
743
`` +
:c:func:PyUnicode_ReadChar
or similar new APIs.
``
``
744
+
726
745
``
727
746
`.. c:function:: Py_ssize_t PyUnicode_GetSize(PyObject *unicode)
`
728
747
``
729
748
`` Return the size of the deprecated :c:type:Py_UNICODE
representation, in
``
730
749
` code units (this includes surrogate pairs as 2 units).
`
731
750
``
732
``
`` -
Please migrate to using :c:func:PyUnicode_GetLength
.
``
``
751
`+
.. deprecated-removed:: 3.3 3.12
`
``
752
`+
Part of the old-style Unicode API, please migrate to using
`
``
753
`` +
:c:func:PyUnicode_GET_LENGTH
.
``
733
754
``
734
755
``
735
756
`.. c:function:: PyObject* PyUnicode_FromObject(PyObject *obj)
`