]> granicus.if.org Git - python/commitdiff
Add missed details of the C API introduced in 3.7. (GH-7047)
authorSerhiy Storchaka <storchaka@gmail.com>
Tue, 22 May 2018 17:59:42 +0000 (20:59 +0300)
committerGitHub <noreply@github.com>
Tue, 22 May 2018 17:59:42 +0000 (20:59 +0300)
* Set the limited API version for PyImport_GetModule and PyOS_*Fork
  functions.
* Add PyImport_GetModule and Py_UTF8Mode in PC/python3.def.
* Add several functions in Doc/data/refcounts.dat.

Doc/data/refcounts.dat
Include/import.h
Include/intrcheck.h
PC/python3.def

index f403c16547c47ec209959779f9af815674bae614..62cc93832783b7ef770f0f3c9f39c64d71063ecf 100644 (file)
@@ -152,6 +152,47 @@ PyComplex_ImagAsDouble:PyObject*:op:0:
 PyComplex_RealAsDouble:double:::
 PyComplex_RealAsDouble:PyObject*:op:0:
 
+PyContext_CheckExact:int:::
+PyContext_CheckExact:PyObject*:o:0:
+
+PyContext_ClearFreeList:int:::
+
+PyContext_Copy:PyObject*::+1:
+PyContext_Copy:PyObject*:ctx:0:
+
+PyContext_CopyCurrent:PyObject*::+1:
+
+PyContext_Enter:int:::
+PyContext_Enter:PyObject*:ctx:+1:
+
+PyContext_Exit:int:::
+PyContext_Exit:PyObject*:ctx:-1:
+
+PyContext_New:PyObject*::+1:
+
+PyContextToken_CheckExact:int:::
+PyContextToken_CheckExact:PyObject*:o:0:
+
+PyContextVar_CheckExact:int:::
+PyContextVar_CheckExact:PyObject*:o:0:
+
+PyContextVar_Get:int:::
+PyContextVar_Get:PyObject*:var:0:
+PyContextVar_Get:PyObject*:default_value:0:
+PyContextVar_Get:PyObject**:value:+1:???
+
+PyContextVar_New:PyObject*::+1:
+PyContextVar_New:const char*:name::
+PyContextVar_New:PyObject*:def:+1:
+
+PyContextVar_Set:PyObject*::+1:
+PyContextVar_Set:PyObject*:var:0:
+PyContextVar_Set:PyObject*:value:+1:
+
+PyContextVar_Reset:int:::
+PyContextVar_Reset:PyObject*:var:0:
+PyContextVar_Reset:PyObject*:token:-1:
+
 PyDate_FromDate:PyObject*::+1:
 PyDate_FromDate:int:year::
 PyDate_FromDate:int:month::
@@ -541,6 +582,9 @@ PyImport_ExecCodeModuleEx:const char*:pathname::
 
 PyImport_GetMagicNumber:long:::
 
+PyImport_GetModule:PyObject*::+1:
+PyImport_GetModule:PyObject*:name:0:
+
 PyImport_GetModuleDict:PyObject*::0:
 
 PyImport_Import:PyObject*::+1:
@@ -605,6 +649,9 @@ PyInterpreterState_Clear:PyInterpreterState*:interp::
 PyInterpreterState_Delete:void:::
 PyInterpreterState_Delete:PyInterpreterState*:interp::
 
+PyInterpreterState_GetID:int64_t:::
+PyInterpreterState_GetID:PyInterpreterState*:interp::
+
 PyInterpreterState_New:PyInterpreterState*:::
 
 PyIter_Check:int:o:0:
@@ -933,6 +980,14 @@ PyNumber_Xor:PyObject*:o2:0:
 PyObject_AsFileDescriptor:int:::
 PyObject_AsFileDescriptor:PyObject*:o:0:
 
+PyOS_AfterFork:void:::
+
+PyOS_AfterFork_Child:void:::
+
+PyOS_AfterFork_Parent:void:::
+
+PyOS_BeforeFork:void:::
+
 PyOS_FSPath:PyObject*::+1:
 PyOS_FSPath:PyObject*:path:0:
 
@@ -1252,6 +1307,12 @@ PySet_Pop:PyObject*:set:0:
 PySet_Size:int:::
 PySet_Size:PyObject*:anyset:0:
 
+PySlice_AdjustIndices:Py_ssize_t:::
+PySlice_AdjustIndices:Py_ssize_t:length::
+PySlice_AdjustIndices:Py_ssize_t*:start::
+PySlice_AdjustIndices:Py_ssize_t*:stop::
+PySlice_AdjustIndices:Py_ssize_t*:step::
+
 PySlice_Check:int:::
 PySlice_Check:PyObject*:ob:0:
 
@@ -1260,6 +1321,12 @@ PySlice_New:PyObject*:start:0:
 PySlice_New:PyObject*:stop:0:
 PySlice_New:PyObject*:step:0:
 
+PySlice_Unpack:int:::
+PySlice_Unpack:PyObject*:slice:0:
+PySlice_Unpack:Py_ssize_t*:start::
+PySlice_Unpack:Py_ssize_t*:stop::
+PySlice_Unpack:Py_ssize_t*:step::
+
 PyString_AS_STRING:const char*:::
 PyString_AS_STRING:PyObject*:string:0:
 
@@ -1410,6 +1477,15 @@ PyTime_FromTime:int:minute::
 PyTime_FromTime:int:second::
 PyTime_FromTime:int:usecond::
 
+PyTraceMalloc_Track:int:::
+PyTraceMalloc_Track:unsigned int:domain::
+PyTraceMalloc_Track:uintptr_t:ptr::
+PyTraceMalloc_Track:size_t:size::
+
+PyTraceMalloc_Untrack:int:::
+PyTraceMalloc_Untrack:unsigned int:domain::
+PyTraceMalloc_Untrack:uintptr_t:ptr::
+
 PyTuple_Check:int:::
 PyTuple_Check:PyObject*:p:0:
 
index ac3fc3bd28c017288c22f3b59c6dd8abb00d6b13..13f32a1004cff5646586955d25166a8eaff2ca4c 100644 (file)
@@ -38,7 +38,9 @@ PyAPI_FUNC(PyObject *) PyImport_ExecCodeModuleObject(
     );
 #endif
 PyAPI_FUNC(PyObject *) PyImport_GetModuleDict(void);
+#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000
 PyAPI_FUNC(PyObject *) PyImport_GetModule(PyObject *name);
+#endif
 #ifndef Py_LIMITED_API
 PyAPI_FUNC(int) _PyImport_IsInitialized(PyInterpreterState *);
 PyAPI_FUNC(PyObject *) _PyImport_GetModuleId(struct _Py_Identifier *name);
index 944968bd11712a67bacea1ea47d5af48deffe3a3..2e17336ca659ed25638a5f129ee69e009ab1ba3e 100644 (file)
@@ -8,10 +8,12 @@ extern "C" {
 PyAPI_FUNC(int) PyOS_InterruptOccurred(void);
 PyAPI_FUNC(void) PyOS_InitInterrupts(void);
 #ifdef HAVE_FORK
+#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000
 PyAPI_FUNC(void) PyOS_BeforeFork(void);
 PyAPI_FUNC(void) PyOS_AfterFork_Parent(void);
 PyAPI_FUNC(void) PyOS_AfterFork_Child(void);
 #endif
+#endif
 /* Deprecated, please use PyOS_AfterFork_Child() instead */
 PyAPI_FUNC(void) PyOS_AfterFork(void) Py_DEPRECATED(3.7);
 
index fb36f300ae651077795c6dcf98a388d853654fcf..48a2d07aab13dae68d9015291d07cace3e13bc1e 100644 (file)
@@ -284,6 +284,7 @@ EXPORTS
   PyImport_GetImporter=python38.PyImport_GetImporter
   PyImport_GetMagicNumber=python38.PyImport_GetMagicNumber
   PyImport_GetMagicTag=python38.PyImport_GetMagicTag
+  PyImport_GetModule=python38.PyImport_GetModule
   PyImport_GetModuleDict=python38.PyImport_GetModuleDict
   PyImport_Import=python38.PyImport_Import
   PyImport_ImportFrozenModule=python38.PyImport_ImportFrozenModule
@@ -757,6 +758,7 @@ EXPORTS
   Py_SetPythonHome=python38.Py_SetPythonHome
   Py_SetRecursionLimit=python38.Py_SetRecursionLimit
   Py_SymtableString=python38.Py_SymtableString
+  Py_UTF8Mode=python38.Py_UTF8Mode DATA
   Py_VaBuildValue=python38.Py_VaBuildValue
   _PyArg_ParseTupleAndKeywords_SizeT=python38._PyArg_ParseTupleAndKeywords_SizeT
   _PyArg_ParseTuple_SizeT=python38._PyArg_ParseTuple_SizeT