mirror of
https://github.com/vim/vim
synced 2025-07-16 01:01:58 +00:00
patch 9.1.1472: if_python: PySequence_Fast_{GET_SIZE,GET_ITEM} removed
Problem: if_python: PySequence_Fast_{GET_SIZE,GET_ITEM} removed with python3.14 in stable ABI Solution: use PySequence_{Size,GetItem} instead (Zdenek Dohnal) Python 3.14 removed those two functions from stable API because of reasoning these function shouldn't be part of stable API at the first place. Moving to PySequence_GetSize and PySequence_GetItem fixes the build failure when Vim is built with dynamic Python and stable API for Python 3.8. closes: #17575 Signed-off-by: Zdenek Dohnal <zdohnal@redhat.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
5fbe72edda
commit
c50f4d07c4
@ -2409,18 +2409,18 @@ DictionaryUpdate(DictionaryObject *self, PyObject *args, PyObject *kwargs)
|
||||
|
||||
Py_DECREF(item);
|
||||
|
||||
if (PySequence_Fast_GET_SIZE(fast) != 2)
|
||||
if (PySequence_Size(fast) != 2)
|
||||
{
|
||||
Py_DECREF(iterator);
|
||||
Py_DECREF(fast);
|
||||
PyErr_FORMAT(PyExc_ValueError,
|
||||
N_("expected sequence element of size 2, "
|
||||
"but got sequence of size %d"),
|
||||
(int) PySequence_Fast_GET_SIZE(fast));
|
||||
(int) PySequence_Size(fast));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
keyObject = PySequence_Fast_GET_ITEM(fast, 0);
|
||||
keyObject = PySequence_GetItem(fast, 0);
|
||||
|
||||
if (!(key = StringToChars(keyObject, &todecref)))
|
||||
{
|
||||
@ -2442,7 +2442,7 @@ DictionaryUpdate(DictionaryObject *self, PyObject *args, PyObject *kwargs)
|
||||
}
|
||||
di->di_tv.v_type = VAR_UNKNOWN;
|
||||
|
||||
valObject = PySequence_Fast_GET_ITEM(fast, 1);
|
||||
valObject = PySequence_GetItem(fast, 1);
|
||||
|
||||
if (ConvertFromPyObject(valObject, &di->di_tv) == -1)
|
||||
{
|
||||
|
@ -709,6 +709,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1472,
|
||||
/**/
|
||||
1471,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user