updated for version 7.3.422
Problem: Python 3 does not have __members__.
Solution: Add "name" and "number" in another way. (lilydjwg)
diff --git a/src/if_python3.c b/src/if_python3.c
index 18d5b77..ac6f166 100644
--- a/src/if_python3.c
+++ b/src/if_python3.c
@@ -468,6 +468,7 @@
static PyObject *BufferNew (buf_T *);
static PyObject *WindowNew(win_T *);
static PyObject *LineToString(const char *);
+static PyObject *BufferDir(PyObject *, PyObject *);
static PyTypeObject RangeType;
@@ -961,13 +962,18 @@
return Py_BuildValue("s", this->buf->b_ffname);
else if (strcmp(name, "number") == 0)
return Py_BuildValue("n", this->buf->b_fnum);
- else if (strcmp(name,"__members__") == 0)
- return Py_BuildValue("[ss]", "name", "number");
else
return PyObject_GenericGetAttr(self, nameobj);
}
static PyObject *
+BufferDir(PyObject *self UNUSED, PyObject *args UNUSED)
+{
+ return Py_BuildValue("[sssss]", "name", "number",
+ "append", "mark", "range");
+}
+
+ static PyObject *
BufferRepr(PyObject *self)
{
static char repr[100];