bpo-33195: Doc: Deprecate Py_UNICODE in c-api/arg (GH-6329) · python/cpython@42ec190

@@ -151,19 +151,35 @@ which disallows mutable objects such as :class:`bytearray`.

151151

Previously, :exc:`TypeError` was raised when embedded null code points

152152

were encountered in the Python string.

153153154+

.. deprecated-removed:: 3.3 4.0

155+

Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using

156+

:c:func:`PyUnicode_AsWideCharString`.

157+154158

``u#`` (:class:`str`) [const Py_UNICODE \*, int]

155159

This variant on ``u`` stores into two C variables, the first one a pointer to a

156160

Unicode data buffer, the second one its length. This variant allows

157161

null code points.

158162163+

.. deprecated-removed:: 3.3 4.0

164+

Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using

165+

:c:func:`PyUnicode_AsWideCharString`.

166+159167

``Z`` (:class:`str` or ``None``) [const Py_UNICODE \*]

160168

Like ``u``, but the Python object may also be ``None``, in which case the

161169

:c:type:`Py_UNICODE` pointer is set to *NULL*.

162170171+

.. deprecated-removed:: 3.3 4.0

172+

Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using

173+

:c:func:`PyUnicode_AsWideCharString`.

174+163175

``Z#`` (:class:`str` or ``None``) [const Py_UNICODE \*, int]

164176

Like ``u#``, but the Python object may also be ``None``, in which case the

165177

:c:type:`Py_UNICODE` pointer is set to *NULL*.

166178179+

.. deprecated-removed:: 3.3 4.0

180+

Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using

181+

:c:func:`PyUnicode_AsWideCharString`.

182+167183

``U`` (:class:`str`) [PyObject \*]

168184

Requires that the Python object is a Unicode object, without attempting

169185

any conversion. Raises :exc:`TypeError` if the object is not a Unicode

@@ -552,12 +568,13 @@ Building values

552568

``z#`` (:class:`str` or ``None``) [const char \*, int]

553569

Same as ``s#``.

554570555-

``u`` (:class:`str`) [const Py_UNICODE \*]

556-

Convert a null-terminated buffer of Unicode (UCS-2 or UCS-4) data to a Python

557-

Unicode object. If the Unicode buffer pointer is *NULL*, ``None`` is returned.

571+

``u`` (:class:`str`) [const wchar_t \*]

572+

Convert a null-terminated :c:type:`wchar_t` buffer of Unicode (UTF-16 or UCS-4)

573+

data to a Python Unicode object. If the Unicode buffer pointer is *NULL*,

574+

``None`` is returned.

558575559-

``u#`` (:class:`str`) [const Py_UNICODE \*, int]

560-

Convert a Unicode (UCS-2 or UCS-4) data buffer and its length to a Python

576+

``u#`` (:class:`str`) [const wchar_t \*, int]

577+

Convert a Unicode (UTF-16 or UCS-4) data buffer and its length to a Python

561578

Unicode object. If the Unicode buffer pointer is *NULL*, the length is ignored

562579

and ``None`` is returned.

563580