From 7f85d297dc80666946f7940bc06e45cc2aa79b5d Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 4 Feb 2012 20:17:26 +0100 Subject: updated for version 7.3.422 Problem: Python 3 does not have __members__. Solution: Add "name" and "number" in another way. (lilydjwg) --- src/if_python3.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/if_python3.c') diff --git a/src/if_python3.c b/src/if_python3.c index 18d5b7779..ac6f1666c 100644 --- a/src/if_python3.c +++ b/src/if_python3.c @@ -468,6 +468,7 @@ get_py3_exceptions() static PyObject *BufferNew (buf_T *); static PyObject *WindowNew(win_T *); static PyObject *LineToString(const char *); +static PyObject *BufferDir(PyObject *, PyObject *); static PyTypeObject RangeType; @@ -961,12 +962,17 @@ BufferGetattro(PyObject *self, PyObject*nameobj) 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) { -- cgit v1.2.1