updated for version 7.3.1060
Problem: Python: can't repr() a function.
Solution: Python patch 19: add FunctionRepr(). (ZyX)
diff --git a/src/if_py_both.h b/src/if_py_both.h
index 97721b2..edae12b 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -1584,6 +1584,12 @@
return result;
}
+ static PyObject *
+FunctionRepr(FunctionObject *self)
+{
+ return PyString_FromFormat("<vim.Function '%s'>", self->name);
+}
+
static struct PyMethodDef FunctionMethods[] = {
{"__call__",(PyCFunction)FunctionCall, METH_VARARGS|METH_KEYWORDS, ""},
{"__dir__", (PyCFunction)FunctionDir, METH_NOARGS, ""},
@@ -4640,6 +4646,7 @@
FunctionType.tp_flags = Py_TPFLAGS_DEFAULT;
FunctionType.tp_doc = "object that calls vim function";
FunctionType.tp_methods = FunctionMethods;
+ FunctionType.tp_repr = (reprfunc)FunctionRepr;
#if PY_MAJOR_VERSION >= 3
FunctionType.tp_getattro = (getattrofunc)FunctionGetattro;
#else
diff --git a/src/version.c b/src/version.c
index b8f82f1..ec01993 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1060,
+/**/
1059,
/**/
1058,