mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	bpo-43868: Remove PyOS_ReadlineFunctionPointer from the stable ABI list (GH-25442)
The inclusion of PyOS_ReadlineFunctionPointer in python3dll.c was a mistake. According to PEP 384: > functions expecting FILE* are not part of the ABI, to avoid depending > on a specific version of the Microsoft C runtime DLL on Windows. https://bugs.python.org/issue43868
This commit is contained in:
		
							parent
							
								
									dcf658157d
								
							
						
					
					
						commit
						91b69b77cf
					
				
					 5 changed files with 10 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -1740,6 +1740,12 @@ Removed
 | 
			
		|||
  Use Python :mod:`symtable` module instead.
 | 
			
		||||
  (Contributed by Victor Stinner in :issue:`43244`.)
 | 
			
		||||
 | 
			
		||||
* Remove :c:func:`PyOS_ReadlineFunctionPointer` from the limited C API headers
 | 
			
		||||
  and from ``python3.dll``, the library that provides the stable ABI on
 | 
			
		||||
  Windows. Since the function takes a ``FILE*`` argument, its ABI stability
 | 
			
		||||
  cannot be guaranteed.
 | 
			
		||||
  (Contributed by Petr Viktorin in :issue:`43868`.)
 | 
			
		||||
 | 
			
		||||
* Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files.
 | 
			
		||||
  These functions were undocumented and excluded from the limited C API.
 | 
			
		||||
  Most names defined by these header files were not prefixed by ``Py`` and so
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -118,3 +118,4 @@ PyAPI_FUNC(PyObject *) PyRun_FileFlags(FILE *fp, const char *p, int s, PyObject
 | 
			
		|||
/* Stuff with no proper home (yet) */
 | 
			
		||||
PyAPI_FUNC(char *) PyOS_Readline(FILE *, FILE *, const char *);
 | 
			
		||||
PyAPI_DATA(PyThreadState*) _PyOS_ReadlineTState;
 | 
			
		||||
PyAPI_DATA(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,6 @@ PyAPI_FUNC(void) PyErr_Display(PyObject *, PyObject *, PyObject *);
 | 
			
		|||
 | 
			
		||||
/* Stuff with no proper home (yet) */
 | 
			
		||||
PyAPI_DATA(int) (*PyOS_InputHook)(void);
 | 
			
		||||
PyAPI_DATA(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *);
 | 
			
		||||
 | 
			
		||||
/* Stack size, in "pointers" (so we get extra safety margins
 | 
			
		||||
   on 64-bit platforms).  On a 32-bit platform, this translates
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
:c:func:`PyOS_ReadlineFunctionPointer` is no longer exported by limited C API
 | 
			
		||||
headers and by ``python3.dll`` on Windows. Like any function that takes
 | 
			
		||||
``FILE*``, it is not part of the stable ABI.
 | 
			
		||||
| 
						 | 
				
			
			@ -808,7 +808,6 @@ EXPORT_DATA(PyODictIter_Type)
 | 
			
		|||
EXPORT_DATA(PyODictKeys_Type)
 | 
			
		||||
EXPORT_DATA(PyODictValues_Type)
 | 
			
		||||
EXPORT_DATA(PyOS_InputHook)
 | 
			
		||||
EXPORT_DATA(PyOS_ReadlineFunctionPointer)
 | 
			
		||||
EXPORT_DATA(PyProperty_Type)
 | 
			
		||||
EXPORT_DATA(PyRange_Type)
 | 
			
		||||
EXPORT_DATA(PyRangeIter_Type)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue