Mercurial > vim
diff src/if_python.c @ 8889:8755d57debaa v7.4.1731
commit https://github.com/vim/vim/commit/8110a091bc749d8748a20807a724a3af3ca6d509
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Apr 14 15:56:09 2016 +0200
patch 7.4.1731
Problem: Python: turns partial into simple funcref.
Solution: Use partials like partials. (Nikolai Pavlov, closes https://github.com/vim/vim/issues/734)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 14 Apr 2016 16:00:06 +0200 |
parents | c337c813c64d |
children | df5f9284fcba |
line wrap: on
line diff
--- a/src/if_python.c +++ b/src/if_python.c @@ -1539,12 +1539,12 @@ ListGetattr(PyObject *self, char *name) static PyObject * FunctionGetattr(PyObject *self, char *name) { - FunctionObject *this = (FunctionObject *)(self); + PyObject *r; - if (strcmp(name, "name") == 0) - return PyString_FromString((char *)(this->name)); - else if (strcmp(name, "__members__") == 0) - return ObjectDir(NULL, FunctionAttrs); + r = FunctionAttr((FunctionObject *)(self), name); + + if (r || PyErr_Occurred()) + return r; else return Py_FindMethod(FunctionMethods, self, name); }