mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	gh-132798: Schedule removal of PyUnicode_AsDecoded/Encoded functions for 3.15 (#132799)
				
					
				
			Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
		
							parent
							
								
									8783cec9b6
								
							
						
					
					
						commit
						f6fb498c97
					
				
					 5 changed files with 29 additions and 16 deletions
				
			
		|  | @ -10,6 +10,16 @@ Pending removal in Python 3.15 | ||||||
|   :c:func:`PyWeakref_GetRef` on Python 3.12 and older. |   :c:func:`PyWeakref_GetRef` on Python 3.12 and older. | ||||||
| * :c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: | * :c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: | ||||||
|   Use :c:type:`wchar_t` instead. |   Use :c:type:`wchar_t` instead. | ||||||
|  | * :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`. | ||||||
| * Python initialization functions, deprecated in Python 3.13: | * Python initialization functions, deprecated in Python 3.13: | ||||||
| 
 | 
 | ||||||
|   * :c:func:`Py_GetPath`: |   * :c:func:`Py_GetPath`: | ||||||
|  |  | ||||||
|  | @ -18,14 +18,6 @@ although there is currently no date scheduled for their removal. | ||||||
|   Use :c:func:`PyOS_AfterFork_Child` instead. |   Use :c:func:`PyOS_AfterFork_Child` instead. | ||||||
| * :c:func:`PySlice_GetIndicesEx`: | * :c:func:`PySlice_GetIndicesEx`: | ||||||
|   Use :c:func:`PySlice_Unpack` and :c:func:`PySlice_AdjustIndices` instead. |   Use :c:func:`PySlice_Unpack` and :c:func:`PySlice_AdjustIndices` instead. | ||||||
| * :c:func:`!PyUnicode_AsDecodedObject`: |  | ||||||
|   Use :c:func:`PyCodec_Decode` instead. |  | ||||||
| * :c:func:`!PyUnicode_AsDecodedUnicode`: |  | ||||||
|   Use :c:func:`PyCodec_Decode` instead. |  | ||||||
| * :c:func:`!PyUnicode_AsEncodedObject`: |  | ||||||
|   Use :c:func:`PyCodec_Encode` instead. |  | ||||||
| * :c:func:`!PyUnicode_AsEncodedUnicode`: |  | ||||||
|   Use :c:func:`PyCodec_Encode` instead. |  | ||||||
| * :c:func:`PyUnicode_READY`: | * :c:func:`PyUnicode_READY`: | ||||||
|   Unneeded since Python 3.12 |   Unneeded since Python 3.12 | ||||||
| * :c:func:`!PyErr_Display`: | * :c:func:`!PyErr_Display`: | ||||||
|  |  | ||||||
|  | @ -344,7 +344,8 @@ PyAPI_FUNC(PyObject*) PyUnicode_Decode( | ||||||
| /* Decode a Unicode object unicode and return the result as Python
 | /* Decode a Unicode object unicode and return the result as Python
 | ||||||
|    object. |    object. | ||||||
| 
 | 
 | ||||||
|    This API is DEPRECATED. The only supported standard encoding is rot13. |    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 |    Use PyCodec_Decode() to decode with rot13 and non-standard codecs | ||||||
|    that decode from str. */ |    that decode from str. */ | ||||||
| 
 | 
 | ||||||
|  | @ -357,7 +358,8 @@ Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsDecodedObject( | ||||||
| /* Decode a Unicode object unicode and return the result as Unicode
 | /* Decode a Unicode object unicode and return the result as Unicode
 | ||||||
|    object. |    object. | ||||||
| 
 | 
 | ||||||
|    This API is DEPRECATED. The only supported standard encoding is rot13. |    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 |    Use PyCodec_Decode() to decode with rot13 and non-standard codecs | ||||||
|    that decode from str to str. */ |    that decode from str to str. */ | ||||||
| 
 | 
 | ||||||
|  | @ -370,7 +372,8 @@ Py_DEPRECATED(3.6) PyAPI_FUNC(PyObject*) PyUnicode_AsDecodedUnicode( | ||||||
| /* Encodes a Unicode object and returns the result as Python
 | /* Encodes a Unicode object and returns the result as Python
 | ||||||
|    object. |    object. | ||||||
| 
 | 
 | ||||||
|    This API is DEPRECATED.  It is superseded by PyUnicode_AsEncodedString() |    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. |    since all standard encodings (except rot13) encode str to bytes. | ||||||
|    Use PyCodec_Encode() for encoding with rot13 and non-standard codecs |    Use PyCodec_Encode() for encoding with rot13 and non-standard codecs | ||||||
|    that encode form str to non-bytes. */ |    that encode form str to non-bytes. */ | ||||||
|  | @ -393,7 +396,8 @@ PyAPI_FUNC(PyObject*) PyUnicode_AsEncodedString( | ||||||
| /* Encodes a Unicode object and returns the result as Unicode
 | /* Encodes a Unicode object and returns the result as Unicode
 | ||||||
|    object. |    object. | ||||||
| 
 | 
 | ||||||
|    This API is DEPRECATED.  The only supported standard encodings is rot13. |    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 |    Use PyCodec_Encode() to encode with rot13 and non-standard codecs | ||||||
|    that encode from str to str. */ |    that encode from str to str. */ | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -0,0 +1,3 @@ | ||||||
|  | Deprecated and undocumented functions :c:func:`!PyUnicode_AsEncodedObject`, | ||||||
|  | :c:func:`!PyUnicode_AsDecodedObject`, :c:func:`!PyUnicode_AsEncodedUnicode` | ||||||
|  | and :c:func:`!PyUnicode_AsDecodedUnicode` are scheduled for removal in 3.15. | ||||||
|  | @ -3733,7 +3733,8 @@ PyUnicode_AsDecodedObject(PyObject *unicode, | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (PyErr_WarnEx(PyExc_DeprecationWarning, |     if (PyErr_WarnEx(PyExc_DeprecationWarning, | ||||||
|                      "PyUnicode_AsDecodedObject() is deprecated; " |                      "PyUnicode_AsDecodedObject() is deprecated " | ||||||
|  |                      "and will be removed in 3.15; " | ||||||
|                      "use PyCodec_Decode() to decode from str", 1) < 0) |                      "use PyCodec_Decode() to decode from str", 1) < 0) | ||||||
|         return NULL; |         return NULL; | ||||||
| 
 | 
 | ||||||
|  | @ -3757,7 +3758,8 @@ PyUnicode_AsDecodedUnicode(PyObject *unicode, | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (PyErr_WarnEx(PyExc_DeprecationWarning, |     if (PyErr_WarnEx(PyExc_DeprecationWarning, | ||||||
|                      "PyUnicode_AsDecodedUnicode() is deprecated; " |                      "PyUnicode_AsDecodedUnicode() is deprecated " | ||||||
|  |                      "and will be removed in 3.15; " | ||||||
|                      "use PyCodec_Decode() to decode from str to str", 1) < 0) |                      "use PyCodec_Decode() to decode from str to str", 1) < 0) | ||||||
|         return NULL; |         return NULL; | ||||||
| 
 | 
 | ||||||
|  | @ -3796,7 +3798,8 @@ PyUnicode_AsEncodedObject(PyObject *unicode, | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (PyErr_WarnEx(PyExc_DeprecationWarning, |     if (PyErr_WarnEx(PyExc_DeprecationWarning, | ||||||
|                      "PyUnicode_AsEncodedObject() is deprecated; " |                      "PyUnicode_AsEncodedObject() is deprecated " | ||||||
|  |                      "and will be removed in 3.15; " | ||||||
|                      "use PyUnicode_AsEncodedString() to encode from str to bytes " |                      "use PyUnicode_AsEncodedString() to encode from str to bytes " | ||||||
|                      "or PyCodec_Encode() for generic encoding", 1) < 0) |                      "or PyCodec_Encode() for generic encoding", 1) < 0) | ||||||
|         return NULL; |         return NULL; | ||||||
|  | @ -4019,7 +4022,8 @@ PyUnicode_AsEncodedUnicode(PyObject *unicode, | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (PyErr_WarnEx(PyExc_DeprecationWarning, |     if (PyErr_WarnEx(PyExc_DeprecationWarning, | ||||||
|                      "PyUnicode_AsEncodedUnicode() is deprecated; " |                      "PyUnicode_AsEncodedUnicode() is deprecated " | ||||||
|  |                      "and will be removed in 3.15; " | ||||||
|                      "use PyCodec_Encode() to encode from str to str", 1) < 0) |                      "use PyCodec_Encode() to encode from str to str", 1) < 0) | ||||||
|         return NULL; |         return NULL; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Stan Ulbrych
						Stan Ulbrych