mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +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:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: | ||||
|   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: | ||||
| 
 | ||||
|   * :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. | ||||
| * :c:func:`PySlice_GetIndicesEx`: | ||||
|   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`: | ||||
|   Unneeded since Python 3.12 | ||||
| * :c:func:`!PyErr_Display`: | ||||
|  |  | |||
|  | @ -344,7 +344,8 @@ PyAPI_FUNC(PyObject*) PyUnicode_Decode( | |||
| /* Decode a Unicode object unicode and return the result as Python
 | ||||
|    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 | ||||
|    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
 | ||||
|    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 | ||||
|    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
 | ||||
|    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. | ||||
|    Use PyCodec_Encode() for encoding with rot13 and non-standard codecs | ||||
|    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
 | ||||
|    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 | ||||
|    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, | ||||
|                      "PyUnicode_AsDecodedObject() is deprecated; " | ||||
|                      "PyUnicode_AsDecodedObject() is deprecated " | ||||
|                      "and will be removed in 3.15; " | ||||
|                      "use PyCodec_Decode() to decode from str", 1) < 0) | ||||
|         return NULL; | ||||
| 
 | ||||
|  | @ -3757,7 +3758,8 @@ PyUnicode_AsDecodedUnicode(PyObject *unicode, | |||
|     } | ||||
| 
 | ||||
|     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) | ||||
|         return NULL; | ||||
| 
 | ||||
|  | @ -3796,7 +3798,8 @@ PyUnicode_AsEncodedObject(PyObject *unicode, | |||
|     } | ||||
| 
 | ||||
|     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 " | ||||
|                      "or PyCodec_Encode() for generic encoding", 1) < 0) | ||||
|         return NULL; | ||||
|  | @ -4019,7 +4022,8 @@ PyUnicode_AsEncodedUnicode(PyObject *unicode, | |||
|     } | ||||
| 
 | ||||
|     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) | ||||
|         return NULL; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Stan Ulbrych
						Stan Ulbrych