forked from aniani/vim
updated for version 7.3.422
Problem: Python 3 does not have __members__. Solution: Add "name" and "number" in another way. (lilydjwg)
This commit is contained in:
parent
3c70f33440
commit
7f85d297dc
@ -1479,6 +1479,9 @@ static struct PyMethodDef BufferMethods[] = {
|
|||||||
{"append", BufferAppend, 1, "Append data to Vim buffer" },
|
{"append", BufferAppend, 1, "Append data to Vim buffer" },
|
||||||
{"mark", BufferMark, 1, "Return (row,col) representing position of named mark" },
|
{"mark", BufferMark, 1, "Return (row,col) representing position of named mark" },
|
||||||
{"range", BufferRange, 1, "Return a range object which represents the part of the given buffer between line numbers s and e" },
|
{"range", BufferRange, 1, "Return a range object which represents the part of the given buffer between line numbers s and e" },
|
||||||
|
#if PY_VERSION_HEX >= 0x03000000
|
||||||
|
{"__dir__", BufferDir, 4, "List its attributes" },
|
||||||
|
#endif
|
||||||
{ NULL, NULL, 0, NULL }
|
{ NULL, NULL, 0, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -468,6 +468,7 @@ get_py3_exceptions()
|
|||||||
static PyObject *BufferNew (buf_T *);
|
static PyObject *BufferNew (buf_T *);
|
||||||
static PyObject *WindowNew(win_T *);
|
static PyObject *WindowNew(win_T *);
|
||||||
static PyObject *LineToString(const char *);
|
static PyObject *LineToString(const char *);
|
||||||
|
static PyObject *BufferDir(PyObject *, PyObject *);
|
||||||
|
|
||||||
static PyTypeObject RangeType;
|
static PyTypeObject RangeType;
|
||||||
|
|
||||||
@ -961,12 +962,17 @@ BufferGetattro(PyObject *self, PyObject*nameobj)
|
|||||||
return Py_BuildValue("s", this->buf->b_ffname);
|
return Py_BuildValue("s", this->buf->b_ffname);
|
||||||
else if (strcmp(name, "number") == 0)
|
else if (strcmp(name, "number") == 0)
|
||||||
return Py_BuildValue("n", this->buf->b_fnum);
|
return Py_BuildValue("n", this->buf->b_fnum);
|
||||||
else if (strcmp(name,"__members__") == 0)
|
|
||||||
return Py_BuildValue("[ss]", "name", "number");
|
|
||||||
else
|
else
|
||||||
return PyObject_GenericGetAttr(self, nameobj);
|
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 *
|
static PyObject *
|
||||||
BufferRepr(PyObject *self)
|
BufferRepr(PyObject *self)
|
||||||
{
|
{
|
||||||
|
@ -714,6 +714,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
422,
|
||||||
/**/
|
/**/
|
||||||
421,
|
421,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user