mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
updated for version 7.3.584
Problem: PyCObject is not always defined. Solution: Use PyObject instead.
This commit is contained in:
parent
e721122b79
commit
221d6872c4
@ -2432,32 +2432,25 @@ typedef int (*pytotvfunc)(PyObject *, typval_T *, PyObject *);
|
|||||||
convert_dl(PyObject *obj, typval_T *tv,
|
convert_dl(PyObject *obj, typval_T *tv,
|
||||||
pytotvfunc py_to_tv, PyObject *lookupDict)
|
pytotvfunc py_to_tv, PyObject *lookupDict)
|
||||||
{
|
{
|
||||||
# ifdef PY_USE_CAPSULE
|
|
||||||
PyObject *capsule;
|
PyObject *capsule;
|
||||||
# else
|
|
||||||
PyCObject *cobject;
|
|
||||||
# endif
|
|
||||||
char hexBuf[sizeof(void *) * 2 + 3];
|
char hexBuf[sizeof(void *) * 2 + 3];
|
||||||
|
|
||||||
sprintf(hexBuf, "%p", obj);
|
sprintf(hexBuf, "%p", obj);
|
||||||
|
|
||||||
# ifdef PY_USE_CAPSULE
|
# ifdef PY_USE_CAPSULE
|
||||||
capsule = PyDict_GetItemString(lookupDict, hexBuf);
|
capsule = PyDict_GetItemString(lookupDict, hexBuf);
|
||||||
if (capsule == NULL)
|
|
||||||
# else
|
# else
|
||||||
cobject = (PyCObject *)PyDict_GetItemString(lookupDict, hexBuf);
|
capsule = (PyObject *)PyDict_GetItemString(lookupDict, hexBuf);
|
||||||
if (cobject == NULL)
|
|
||||||
# endif
|
# endif
|
||||||
|
if (capsule == NULL)
|
||||||
{
|
{
|
||||||
# ifdef PY_USE_CAPSULE
|
# ifdef PY_USE_CAPSULE
|
||||||
capsule = PyCapsule_New(tv, NULL, NULL);
|
capsule = PyCapsule_New(tv, NULL, NULL);
|
||||||
|
# else
|
||||||
|
capsule = PyCObject_FromVoidPtr(tv, NULL);
|
||||||
|
# endif
|
||||||
PyDict_SetItemString(lookupDict, hexBuf, capsule);
|
PyDict_SetItemString(lookupDict, hexBuf, capsule);
|
||||||
Py_DECREF(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)
|
if (py_to_tv(obj, tv, lookupDict) == -1)
|
||||||
{
|
{
|
||||||
tv->v_type = VAR_UNKNOWN;
|
tv->v_type = VAR_UNKNOWN;
|
||||||
@ -2478,7 +2471,7 @@ convert_dl(PyObject *obj, typval_T *tv,
|
|||||||
# ifdef PY_USE_CAPSULE
|
# ifdef PY_USE_CAPSULE
|
||||||
v = PyCapsule_GetPointer(capsule, NULL);
|
v = PyCapsule_GetPointer(capsule, NULL);
|
||||||
# else
|
# else
|
||||||
v = PyCObject_AsVoidPtr(cobject);
|
v = PyCObject_AsVoidPtr(capsule);
|
||||||
# endif
|
# endif
|
||||||
copy_tv(v, tv);
|
copy_tv(v, tv);
|
||||||
}
|
}
|
||||||
|
@ -327,8 +327,8 @@ static void (*dll_PyObject_Free)(void*);
|
|||||||
static PyObject* (*dll_PyCapsule_New)(void *, char *, PyCapsule_Destructor);
|
static PyObject* (*dll_PyCapsule_New)(void *, char *, PyCapsule_Destructor);
|
||||||
static void* (*dll_PyCapsule_GetPointer)(PyObject *, char *);
|
static void* (*dll_PyCapsule_GetPointer)(PyObject *, char *);
|
||||||
# else
|
# else
|
||||||
static PyCObject* (*dll_PyCObject_FromVoidPtr)(void *cobj, void (*destr)(void *));
|
static PyObject* (*dll_PyCObject_FromVoidPtr)(void *cobj, void (*destr)(void *));
|
||||||
static void* (*dll_PyCObject_AsVoidPtr)(PyCObject *);
|
static void* (*dll_PyCObject_AsVoidPtr)(PyObject *);
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
static HINSTANCE hinstPython = 0; /* Instance of python.dll */
|
static HINSTANCE hinstPython = 0; /* Instance of python.dll */
|
||||||
|
@ -714,6 +714,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
584,
|
||||||
/**/
|
/**/
|
||||||
583,
|
583,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user