Mercurial > vim
changeset 4625:cb5c1e37ad4d v7.3.1060
updated for version 7.3.1060
Problem: Python: can't repr() a function.
Solution: Python patch 19: add FunctionRepr(). (ZyX)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Thu, 30 May 2013 12:43:54 +0200 |
parents | 37268588e917 |
children | 329c896801ce |
files | src/if_py_both.h src/version.c |
diffstat | 2 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -1584,6 +1584,12 @@ FunctionCall(FunctionObject *self, PyObj 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 @@ init_structs(void) 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