mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00
gh-133610: Remove PyUnicode_AsDecoded/Encoded functions (#133612)
This commit is contained in:
parent
f34ec09ba5
commit
4fd1095280
6 changed files with 26 additions and 90 deletions
4
Doc/data/stable_abi.dat
generated
4
Doc/data/stable_abi.dat
generated
|
@ -739,11 +739,7 @@ func,PyUnicode_Append,3.2,,
|
||||||
func,PyUnicode_AppendAndDel,3.2,,
|
func,PyUnicode_AppendAndDel,3.2,,
|
||||||
func,PyUnicode_AsASCIIString,3.2,,
|
func,PyUnicode_AsASCIIString,3.2,,
|
||||||
func,PyUnicode_AsCharmapString,3.2,,
|
func,PyUnicode_AsCharmapString,3.2,,
|
||||||
func,PyUnicode_AsDecodedObject,3.2,,
|
|
||||||
func,PyUnicode_AsDecodedUnicode,3.2,,
|
|
||||||
func,PyUnicode_AsEncodedObject,3.2,,
|
|
||||||
func,PyUnicode_AsEncodedString,3.2,,
|
func,PyUnicode_AsEncodedString,3.2,,
|
||||||
func,PyUnicode_AsEncodedUnicode,3.2,,
|
|
||||||
func,PyUnicode_AsLatin1String,3.2,,
|
func,PyUnicode_AsLatin1String,3.2,,
|
||||||
func,PyUnicode_AsMBCSString,3.7,on Windows,
|
func,PyUnicode_AsMBCSString,3.7,on Windows,
|
||||||
func,PyUnicode_AsRawUnicodeEscapeString,3.2,,
|
func,PyUnicode_AsRawUnicodeEscapeString,3.2,,
|
||||||
|
|
|
@ -167,6 +167,21 @@ Deprecated C APIs
|
||||||
Removed C APIs
|
Removed C APIs
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
* Remove deprecated ``PyUnicode`` functions:
|
||||||
|
|
||||||
|
* :c:func:`!PyUnicode_AsDecodedObject`:
|
||||||
|
Use :c:func:`PyCodec_Decode` instead.
|
||||||
|
* :c:func:`!PyUnicode_AsDecodedUnicode`:
|
||||||
|
Use :c:func:`PyCodec_Decode` instead; Note that some codecs (for example, "base64")
|
||||||
|
may return a type other than :class:`str`, such as :class:`bytes`.
|
||||||
|
* :c:func:`!PyUnicode_AsEncodedObject`:
|
||||||
|
Use :c:func:`PyCodec_Encode` instead.
|
||||||
|
* :c:func:`!PyUnicode_AsEncodedUnicode`:
|
||||||
|
Use :c:func:`PyCodec_Encode` instead; Note that some codecs (for example, "base64")
|
||||||
|
may return a type other than :class:`bytes`, such as :class:`str`.
|
||||||
|
|
||||||
|
(Contributed by Stan Ulbrych in :gh:`133612`)
|
||||||
|
|
||||||
* :c:func:`!PyImport_ImportModuleNoBlock`: deprecated alias
|
* :c:func:`!PyImport_ImportModuleNoBlock`: deprecated alias
|
||||||
of :c:func:`PyImport_ImportModule`.
|
of :c:func:`PyImport_ImportModule`.
|
||||||
|
|
||||||
|
|
|
@ -341,49 +341,6 @@ PyAPI_FUNC(PyObject*) PyUnicode_Decode(
|
||||||
const char *errors /* error handling */
|
const char *errors /* error handling */
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Decode a Unicode object unicode and return the result as Python
|
|
||||||
object.
|
|
||||||
|
|
||||||
This API is DEPRECATED and will be removed in 3.15.
|
|
||||||
The only supported standard encoding is rot13.
|
|
||||||
Use PyCodec_Decode() to decode with rot13 and non-standard codecs
|
|
||||||
that decode from str. */
|
|
||||||
|
|
||||||
Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsDecodedObject(
|
|
||||||
PyObject *unicode, /* Unicode object */
|
|
||||||
const char *encoding, /* encoding */
|
|
||||||
const char *errors /* error handling */
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Decode a Unicode object unicode and return the result as Unicode
|
|
||||||
object.
|
|
||||||
|
|
||||||
This API is DEPRECATED and will be removed in 3.15.
|
|
||||||
The only supported standard encoding is rot13.
|
|
||||||
Use PyCodec_Decode() to decode with rot13 and non-standard codecs
|
|
||||||
that decode from str to str. */
|
|
||||||
|
|
||||||
Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsDecodedUnicode(
|
|
||||||
PyObject *unicode, /* Unicode object */
|
|
||||||
const char *encoding, /* encoding */
|
|
||||||
const char *errors /* error handling */
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Encodes a Unicode object and returns the result as Python
|
|
||||||
object.
|
|
||||||
|
|
||||||
This API is DEPRECATED and will be removed in 3.15.
|
|
||||||
It is superseded by PyUnicode_AsEncodedString()
|
|
||||||
since all standard encodings (except rot13) encode str to bytes.
|
|
||||||
Use PyCodec_Encode() for encoding with rot13 and non-standard codecs
|
|
||||||
that encode form str to non-bytes. */
|
|
||||||
|
|
||||||
Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsEncodedObject(
|
|
||||||
PyObject *unicode, /* Unicode object */
|
|
||||||
const char *encoding, /* encoding */
|
|
||||||
const char *errors /* error handling */
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Encodes a Unicode object and returns the result as Python string
|
/* Encodes a Unicode object and returns the result as Python string
|
||||||
object. */
|
object. */
|
||||||
|
|
||||||
|
@ -393,20 +350,6 @@ PyAPI_FUNC(PyObject*) PyUnicode_AsEncodedString(
|
||||||
const char *errors /* error handling */
|
const char *errors /* error handling */
|
||||||
);
|
);
|
||||||
|
|
||||||
/* Encodes a Unicode object and returns the result as Unicode
|
|
||||||
object.
|
|
||||||
|
|
||||||
This API is DEPRECATED and will be removed in 3.15.
|
|
||||||
The only supported standard encodings is rot13.
|
|
||||||
Use PyCodec_Encode() to encode with rot13 and non-standard codecs
|
|
||||||
that encode from str to str. */
|
|
||||||
|
|
||||||
Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsEncodedUnicode(
|
|
||||||
PyObject *unicode, /* Unicode object */
|
|
||||||
const char *encoding, /* encoding */
|
|
||||||
const char *errors /* error handling */
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Build an encoding map. */
|
/* Build an encoding map. */
|
||||||
|
|
||||||
PyAPI_FUNC(PyObject*) PyUnicode_BuildEncodingMap(
|
PyAPI_FUNC(PyObject*) PyUnicode_BuildEncodingMap(
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
Remove deprecated functions :c:func:`!PyUnicode_AsDecodedObject`,
|
||||||
|
:c:func:`!PyUnicode_AsDecodedUnicode`, :c:func:`!PyUnicode_AsEncodedObject`,
|
||||||
|
and :c:func:`!PyUnicode_AsEncodedUnicode`.
|
|
@ -1463,14 +1463,18 @@
|
||||||
added = '3.2'
|
added = '3.2'
|
||||||
[function.PyUnicode_AsDecodedObject]
|
[function.PyUnicode_AsDecodedObject]
|
||||||
added = '3.2'
|
added = '3.2'
|
||||||
|
abi_only = true
|
||||||
[function.PyUnicode_AsDecodedUnicode]
|
[function.PyUnicode_AsDecodedUnicode]
|
||||||
added = '3.2'
|
added = '3.2'
|
||||||
|
abi_only = true
|
||||||
[function.PyUnicode_AsEncodedObject]
|
[function.PyUnicode_AsEncodedObject]
|
||||||
added = '3.2'
|
added = '3.2'
|
||||||
|
abi_only = true
|
||||||
[function.PyUnicode_AsEncodedString]
|
[function.PyUnicode_AsEncodedString]
|
||||||
added = '3.2'
|
added = '3.2'
|
||||||
[function.PyUnicode_AsEncodedUnicode]
|
[function.PyUnicode_AsEncodedUnicode]
|
||||||
added = '3.2'
|
added = '3.2'
|
||||||
|
abi_only = true
|
||||||
[function.PyUnicode_AsLatin1String]
|
[function.PyUnicode_AsLatin1String]
|
||||||
added = '3.2'
|
added = '3.2'
|
||||||
[function.PyUnicode_AsRawUnicodeEscapeString]
|
[function.PyUnicode_AsRawUnicodeEscapeString]
|
||||||
|
|
|
@ -3730,7 +3730,7 @@ PyUnicode_Decode(const char *s,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
PyObject *
|
PyAPI_FUNC(PyObject *)
|
||||||
PyUnicode_AsDecodedObject(PyObject *unicode,
|
PyUnicode_AsDecodedObject(PyObject *unicode,
|
||||||
const char *encoding,
|
const char *encoding,
|
||||||
const char *errors)
|
const char *errors)
|
||||||
|
@ -3740,12 +3740,6 @@ PyUnicode_AsDecodedObject(PyObject *unicode,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PyErr_WarnEx(PyExc_DeprecationWarning,
|
|
||||||
"PyUnicode_AsDecodedObject() is deprecated "
|
|
||||||
"and will be removed in 3.15; "
|
|
||||||
"use PyCodec_Decode() to decode from str", 1) < 0)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
if (encoding == NULL)
|
if (encoding == NULL)
|
||||||
encoding = PyUnicode_GetDefaultEncoding();
|
encoding = PyUnicode_GetDefaultEncoding();
|
||||||
|
|
||||||
|
@ -3753,7 +3747,7 @@ PyUnicode_AsDecodedObject(PyObject *unicode,
|
||||||
return PyCodec_Decode(unicode, encoding, errors);
|
return PyCodec_Decode(unicode, encoding, errors);
|
||||||
}
|
}
|
||||||
|
|
||||||
PyObject *
|
PyAPI_FUNC(PyObject *)
|
||||||
PyUnicode_AsDecodedUnicode(PyObject *unicode,
|
PyUnicode_AsDecodedUnicode(PyObject *unicode,
|
||||||
const char *encoding,
|
const char *encoding,
|
||||||
const char *errors)
|
const char *errors)
|
||||||
|
@ -3765,12 +3759,6 @@ PyUnicode_AsDecodedUnicode(PyObject *unicode,
|
||||||
goto onError;
|
goto onError;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PyErr_WarnEx(PyExc_DeprecationWarning,
|
|
||||||
"PyUnicode_AsDecodedUnicode() is deprecated "
|
|
||||||
"and will be removed in 3.15; "
|
|
||||||
"use PyCodec_Decode() to decode from str to str", 1) < 0)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
if (encoding == NULL)
|
if (encoding == NULL)
|
||||||
encoding = PyUnicode_GetDefaultEncoding();
|
encoding = PyUnicode_GetDefaultEncoding();
|
||||||
|
|
||||||
|
@ -3793,7 +3781,7 @@ PyUnicode_AsDecodedUnicode(PyObject *unicode,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
PyObject *
|
PyAPI_FUNC(PyObject *)
|
||||||
PyUnicode_AsEncodedObject(PyObject *unicode,
|
PyUnicode_AsEncodedObject(PyObject *unicode,
|
||||||
const char *encoding,
|
const char *encoding,
|
||||||
const char *errors)
|
const char *errors)
|
||||||
|
@ -3805,13 +3793,6 @@ PyUnicode_AsEncodedObject(PyObject *unicode,
|
||||||
goto onError;
|
goto onError;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PyErr_WarnEx(PyExc_DeprecationWarning,
|
|
||||||
"PyUnicode_AsEncodedObject() is deprecated "
|
|
||||||
"and will be removed in 3.15; "
|
|
||||||
"use PyUnicode_AsEncodedString() to encode from str to bytes "
|
|
||||||
"or PyCodec_Encode() for generic encoding", 1) < 0)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
if (encoding == NULL)
|
if (encoding == NULL)
|
||||||
encoding = PyUnicode_GetDefaultEncoding();
|
encoding = PyUnicode_GetDefaultEncoding();
|
||||||
|
|
||||||
|
@ -4017,7 +3998,7 @@ PyUnicode_AsEncodedString(PyObject *unicode,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
PyObject *
|
PyAPI_FUNC(PyObject *)
|
||||||
PyUnicode_AsEncodedUnicode(PyObject *unicode,
|
PyUnicode_AsEncodedUnicode(PyObject *unicode,
|
||||||
const char *encoding,
|
const char *encoding,
|
||||||
const char *errors)
|
const char *errors)
|
||||||
|
@ -4029,12 +4010,6 @@ PyUnicode_AsEncodedUnicode(PyObject *unicode,
|
||||||
goto onError;
|
goto onError;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PyErr_WarnEx(PyExc_DeprecationWarning,
|
|
||||||
"PyUnicode_AsEncodedUnicode() is deprecated "
|
|
||||||
"and will be removed in 3.15; "
|
|
||||||
"use PyCodec_Encode() to encode from str to str", 1) < 0)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
if (encoding == NULL)
|
if (encoding == NULL)
|
||||||
encoding = PyUnicode_GetDefaultEncoding();
|
encoding = PyUnicode_GetDefaultEncoding();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue