Mercurial > vim
diff src/if_python3.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_python3.c +++ b/src/if_python3.c @@ -1528,14 +1528,16 @@ ListSetattro(PyObject *self, PyObject *n static PyObject * FunctionGetattro(PyObject *self, PyObject *nameobj) { + PyObject *r; FunctionObject *this = (FunctionObject *)(self); GET_ATTR_STRING(name, nameobj); - if (strcmp(name, "name") == 0) - return PyUnicode_FromString((char *)(this->name)); - - return PyObject_GenericGetAttr(self, nameobj); + r = FunctionAttr(this, name); + if (r || PyErr_Occurred()) + return r; + else + return PyObject_GenericGetAttr(self, nameobj); } /* External interface