patch 7.4.1731
Problem: Python: turns partial into simple funcref.
Solution: Use partials like partials. (Nikolai Pavlov, closes #734)
diff --git a/src/if_python.c b/src/if_python.c
index fa3fc88..a54a0e2 100644
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -1539,12 +1539,12 @@
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);
}