updated for version 7.3.584
Problem: PyCObject is not always defined.
Solution: Use PyObject instead.
diff --git a/src/if_py_both.h b/src/if_py_both.h
index 0912ee0..530c6d8 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -2432,32 +2432,25 @@
convert_dl(PyObject *obj, typval_T *tv,
pytotvfunc py_to_tv, PyObject *lookupDict)
{
-# ifdef PY_USE_CAPSULE
PyObject *capsule;
-# else
- PyCObject *cobject;
-# endif
char hexBuf[sizeof(void *) * 2 + 3];
sprintf(hexBuf, "%p", obj);
# ifdef PY_USE_CAPSULE
capsule = PyDict_GetItemString(lookupDict, hexBuf);
- if (capsule == NULL)
# else
- cobject = (PyCObject *)PyDict_GetItemString(lookupDict, hexBuf);
- if (cobject == NULL)
+ capsule = (PyObject *)PyDict_GetItemString(lookupDict, hexBuf);
# endif
+ if (capsule == NULL)
{
# ifdef PY_USE_CAPSULE
capsule = PyCapsule_New(tv, NULL, NULL);
+# else
+ capsule = PyCObject_FromVoidPtr(tv, NULL);
+# endif
PyDict_SetItemString(lookupDict, hexBuf, capsule);
Py_DECREF(capsule);
-# else
- cobject = PyCObject_FromVoidPtr(tv, NULL);
- PyDict_SetItemString(lookupDict, hexBuf, cobject);
- Py_DECREF(cobject);
-# endif
if (py_to_tv(obj, tv, lookupDict) == -1)
{
tv->v_type = VAR_UNKNOWN;
@@ -2478,7 +2471,7 @@
# ifdef PY_USE_CAPSULE
v = PyCapsule_GetPointer(capsule, NULL);
# else
- v = PyCObject_AsVoidPtr(cobject);
+ v = PyCObject_AsVoidPtr(capsule);
# endif
copy_tv(v, tv);
}
diff --git a/src/if_python.c b/src/if_python.c
index 6674df7..1740979 100644
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -327,8 +327,8 @@
static PyObject* (*dll_PyCapsule_New)(void *, char *, PyCapsule_Destructor);
static void* (*dll_PyCapsule_GetPointer)(PyObject *, char *);
# else
-static PyCObject* (*dll_PyCObject_FromVoidPtr)(void *cobj, void (*destr)(void *));
-static void* (*dll_PyCObject_AsVoidPtr)(PyCObject *);
+static PyObject* (*dll_PyCObject_FromVoidPtr)(void *cobj, void (*destr)(void *));
+static void* (*dll_PyCObject_AsVoidPtr)(PyObject *);
# endif
static HINSTANCE hinstPython = 0; /* Instance of python.dll */
diff --git a/src/version.c b/src/version.c
index f9d2eda..526669d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 584,
+/**/
583,
/**/
582,