diff options
author | Yaakov Selkowitz <yselkowi@redhat.com> | 2024-07-04 16:36:05 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2024-07-04 16:36:05 +0200 |
commit | 4179f193ccc26e95fec66273ffa036be1ab85e0a (patch) | |
tree | c9e1a0486b186a9899c35c081279dfc2368f88d6 | |
parent | f4af331d084b4f2c63710179a2f1fa360cc7d74b (diff) |
patch 9.1.0521: if_py: _PyObject_CallFunction_SizeT is dropped in Python 3.13v9.1.0521
Problem: if_py: _PyObject_CallFunction_SizeT is dropped in Python 3.13
Solution: define PyObject_CallFunction for Python >= 3.13
(Yaakov Selkowitz)
references: python/cpython#105051
closes: #15088
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
-rw-r--r-- | src/if_python3.c | 14 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/if_python3.c b/src/if_python3.c index c135e7e6fd..96c9497712 100644 --- a/src/if_python3.c +++ b/src/if_python3.c @@ -232,7 +232,11 @@ static HINSTANCE hinstPy3 = 0; // Instance of python.dll # define PyObject_HasAttrString py3_PyObject_HasAttrString # define PyObject_SetAttrString py3_PyObject_SetAttrString # define PyObject_CallFunctionObjArgs py3_PyObject_CallFunctionObjArgs -# define _PyObject_CallFunction_SizeT py3__PyObject_CallFunction_SizeT +# if PY_VERSION_HEX >= 0x030d0000 +# define PyObject_CallFunction py3_PyObject_CallFunction +# else +# define _PyObject_CallFunction_SizeT py3__PyObject_CallFunction_SizeT +# endif # define PyObject_Call py3_PyObject_Call # define PyEval_GetLocals py3_PyEval_GetLocals # define PyEval_GetGlobals py3_PyEval_GetGlobals @@ -398,7 +402,11 @@ static PyObject* (*py3_PyObject_GetAttrString)(PyObject *, const char *); static int (*py3_PyObject_HasAttrString)(PyObject *, const char *); static int (*py3_PyObject_SetAttrString)(PyObject *, const char *, PyObject *); static PyObject* (*py3_PyObject_CallFunctionObjArgs)(PyObject *, ...); +# if PY_VERSION_HEX >= 0x030d0000 +static PyObject* (*py3_PyObject_CallFunction)(PyObject *, char *, ...); +# else static PyObject* (*py3__PyObject_CallFunction_SizeT)(PyObject *, char *, ...); +# endif static PyObject* (*py3_PyObject_Call)(PyObject *, PyObject *, PyObject *); static PyObject* (*py3_PyEval_GetGlobals)(void); static PyObject* (*py3_PyEval_GetLocals)(void); @@ -601,7 +609,11 @@ static struct {"PyObject_HasAttrString", (PYTHON_PROC*)&py3_PyObject_HasAttrString}, {"PyObject_SetAttrString", (PYTHON_PROC*)&py3_PyObject_SetAttrString}, {"PyObject_CallFunctionObjArgs", (PYTHON_PROC*)&py3_PyObject_CallFunctionObjArgs}, +# if PY_VERSION_HEX >= 0x030d0000 + {"PyObject_CallFunction", (PYTHON_PROC*)&py3_PyObject_CallFunction}, +# else {"_PyObject_CallFunction_SizeT", (PYTHON_PROC*)&py3__PyObject_CallFunction_SizeT}, +# endif {"PyObject_Call", (PYTHON_PROC*)&py3_PyObject_Call}, {"PyEval_GetGlobals", (PYTHON_PROC*)&py3_PyEval_GetGlobals}, {"PyEval_GetLocals", (PYTHON_PROC*)&py3_PyEval_GetLocals}, diff --git a/src/version.c b/src/version.c index ec993ab6bb..7e4b647a76 100644 --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 521, +/**/ 520, /**/ 519, |