vim/python38-config.patch

48 lines
938 B
Diff
Raw Normal View History

--- a/src/if_python3.c
+++ b/src/if_python3.c
@@ -600,6 +600,44 @@ static struct
{"", NULL},
};
+# if PY_VERSION_HEX >= 0x030800f0
+ static inline void
+py3__Py_DECREF(const char *filename, int lineno, PyObject *op)
+{
+ (void)filename; /* may be unused, shut up -Wunused-parameter */
+ (void)lineno; /* may be unused, shut up -Wunused-parameter */
+ _Py_DEC_REFTOTAL;
+ if (--op->ob_refcnt != 0)
+ {
+# ifdef Py_REF_DEBUG
+ if (op->ob_refcnt < 0)
+ {
+ _Py_NegativeRefcount(filename, lineno, op);
+ }
+# endif
+ }
+ else
+ {
+ _Py_Dealloc(op);
+ }
+}
+
+# undef Py_DECREF
+# define Py_DECREF(op) py3__Py_DECREF(__FILE__, __LINE__, _PyObject_CAST(op))
+
+ static inline void
+py3__Py_XDECREF(PyObject *op)
+{
+ if (op != NULL)
+ {
+ Py_DECREF(op);
+ }
+}
+
+# undef Py_XDECREF
+# define Py_XDECREF(op) py3__Py_XDECREF(_PyObject_CAST(op))
+# endif
+
/*
* Free python.dll
*/