| To: vim-dev@vim.org |
| Subject: Patch 7.1.307 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=ISO-8859-1 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.1.307 |
| Problem: Many warnings when compiling with Python 2.5. |
| Solution: Use ssize_t instead of int for some types. (James Vega) |
| Files: src/if_python.c |
| |
| |
| |
| |
| |
| *** 38,43 **** |
| --- 38,45 ---- |
| # undef HAVE_STDARG_H /* Python's config.h defines it as well. */ |
| #endif |
| |
| + #define PY_SSIZE_T_CLEAN |
| + |
| #include <Python.h> |
| #if defined(MACOS) && !defined(MACOS_X_UNIX) |
| # include "macglue.h" |
| |
| *** 55,60 **** |
| --- 57,78 ---- |
| # define PySequenceMethods int |
| #endif |
| |
| + #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02050000 |
| + # define PyInt Py_ssize_t |
| + # define PyInquiry lenfunc |
| + # define PyIntArgFunc ssizeargfunc |
| + # define PyIntIntArgFunc ssizessizeargfunc |
| + # define PyIntObjArgProc ssizeobjargproc |
| + # define PyIntIntObjArgProc ssizessizeobjargproc |
| + #else |
| + # define PyInt int |
| + # define PyInquiry inquiry |
| + # define PyIntArgFunc intargfunc |
| + # define PyIntIntArgFunc intintargfunc |
| + # define PyIntObjArgProc intobjargproc |
| + # define PyIntIntObjArgProc intintobjargproc |
| + #endif |
| + |
| /* Parser flags */ |
| #define single_input 256 |
| #define file_input 257 |
| |
| *** 150,160 **** |
| static long(*dll_PyInt_AsLong)(PyObject *); |
| static PyObject*(*dll_PyInt_FromLong)(long); |
| static PyTypeObject* dll_PyInt_Type; |
| ! static PyObject*(*dll_PyList_GetItem)(PyObject *, int); |
| static PyObject*(*dll_PyList_Append)(PyObject *, PyObject *); |
| ! static PyObject*(*dll_PyList_New)(int size); |
| ! static int(*dll_PyList_SetItem)(PyObject *, int, PyObject *); |
| ! static int(*dll_PyList_Size)(PyObject *); |
| static PyTypeObject* dll_PyList_Type; |
| static PyObject*(*dll_PyImport_ImportModule)(const char *); |
| static PyObject*(*dll_PyDict_New)(void); |
| --- 168,178 ---- |
| static long(*dll_PyInt_AsLong)(PyObject *); |
| static PyObject*(*dll_PyInt_FromLong)(long); |
| static PyTypeObject* dll_PyInt_Type; |
| ! static PyObject*(*dll_PyList_GetItem)(PyObject *, PyInt); |
| static PyObject*(*dll_PyList_Append)(PyObject *, PyObject *); |
| ! static PyObject*(*dll_PyList_New)(PyInt size); |
| ! static int(*dll_PyList_SetItem)(PyObject *, PyInt, PyObject *); |
| ! static PyInt(*dll_PyList_Size)(PyObject *); |
| static PyTypeObject* dll_PyList_Type; |
| static PyObject*(*dll_PyImport_ImportModule)(const char *); |
| static PyObject*(*dll_PyDict_New)(void); |
| |
| *** 163,170 **** |
| static int(*dll_PyRun_SimpleString)(char *); |
| static char*(*dll_PyString_AsString)(PyObject *); |
| static PyObject*(*dll_PyString_FromString)(const char *); |
| ! static PyObject*(*dll_PyString_FromStringAndSize)(const char *, int); |
| ! static int(*dll_PyString_Size)(PyObject *); |
| static PyTypeObject* dll_PyString_Type; |
| static int(*dll_PySys_SetObject)(char *, PyObject *); |
| static int(*dll_PySys_SetArgv)(int, char **); |
| --- 181,188 ---- |
| static int(*dll_PyRun_SimpleString)(char *); |
| static char*(*dll_PyString_AsString)(PyObject *); |
| static PyObject*(*dll_PyString_FromString)(const char *); |
| ! static PyObject*(*dll_PyString_FromStringAndSize)(const char *, PyInt); |
| ! static PyInt(*dll_PyString_Size)(PyObject *); |
| static PyTypeObject* dll_PyString_Type; |
| static int(*dll_PySys_SetObject)(char *, PyObject *); |
| static int(*dll_PySys_SetArgv)(int, char **); |
| |
| *** 367,376 **** |
| * ---------------------------------------------- |
| */ |
| static PyObject *GetBufferLine(buf_T *, int); |
| ! static PyObject *GetBufferLineList(buf_T *, int, int); |
| |
| static int SetBufferLine(buf_T *, int, PyObject *, int *); |
| ! static int SetBufferLineList(buf_T *, int, int, PyObject *, int *); |
| static int InsertBufferLines(buf_T *, int, PyObject *, int *); |
| |
| static PyObject *LineToString(const char *); |
| --- 385,394 ---- |
| * ---------------------------------------------- |
| */ |
| static PyObject *GetBufferLine(buf_T *, int); |
| ! static PyObject *GetBufferLineList(buf_T *, PyInt, PyInt); |
| |
| static int SetBufferLine(buf_T *, int, PyObject *, int *); |
| ! static int SetBufferLineList(buf_T *, PyInt, PyInt, PyObject *, int *); |
| static int InsertBufferLines(buf_T *, int, PyObject *, int *); |
| |
| static PyObject *LineToString(const char *); |
| |
| *** 773,780 **** |
| static PyObject * |
| OutputWritelines(PyObject *self, PyObject *args) |
| { |
| ! int n; |
| ! int i; |
| PyObject *list; |
| int error = ((OutputObject *)(self))->error; |
| |
| --- 791,798 ---- |
| static PyObject * |
| OutputWritelines(PyObject *self, PyObject *args) |
| { |
| ! PyInt n; |
| ! PyInt i; |
| PyObject *list; |
| int error = ((OutputObject *)(self))->error; |
| |
| |
| *** 986,996 **** |
| static PyObject *BufferGetattr(PyObject *, char *); |
| static PyObject *BufferRepr(PyObject *); |
| |
| ! static int BufferLength(PyObject *); |
| ! static PyObject *BufferItem(PyObject *, int); |
| ! static PyObject *BufferSlice(PyObject *, int, int); |
| ! static int BufferAssItem(PyObject *, int, PyObject *); |
| ! static int BufferAssSlice(PyObject *, int, int, PyObject *); |
| |
| static PyObject *BufferAppend(PyObject *, PyObject *); |
| static PyObject *BufferMark(PyObject *, PyObject *); |
| --- 1004,1014 ---- |
| static PyObject *BufferGetattr(PyObject *, char *); |
| static PyObject *BufferRepr(PyObject *); |
| |
| ! static PyInt BufferLength(PyObject *); |
| ! static PyObject *BufferItem(PyObject *, PyInt); |
| ! static PyObject *BufferSlice(PyObject *, PyInt, PyInt); |
| ! static PyInt BufferAssItem(PyObject *, PyInt, PyObject *); |
| ! static PyInt BufferAssSlice(PyObject *, PyInt, PyInt, PyObject *); |
| |
| static PyObject *BufferAppend(PyObject *, PyObject *); |
| static PyObject *BufferMark(PyObject *, PyObject *); |
| |
| *** 1017,1027 **** |
| static PyObject *RangeGetattr(PyObject *, char *); |
| static PyObject *RangeRepr(PyObject *); |
| |
| ! static int RangeLength(PyObject *); |
| ! static PyObject *RangeItem(PyObject *, int); |
| ! static PyObject *RangeSlice(PyObject *, int, int); |
| ! static int RangeAssItem(PyObject *, int, PyObject *); |
| ! static int RangeAssSlice(PyObject *, int, int, PyObject *); |
| |
| static PyObject *RangeAppend(PyObject *, PyObject *); |
| |
| --- 1035,1045 ---- |
| static PyObject *RangeGetattr(PyObject *, char *); |
| static PyObject *RangeRepr(PyObject *); |
| |
| ! static PyInt RangeLength(PyObject *); |
| ! static PyObject *RangeItem(PyObject *, PyInt); |
| ! static PyObject *RangeSlice(PyObject *, PyInt, PyInt); |
| ! static PyInt RangeAssItem(PyObject *, PyInt, PyObject *); |
| ! static PyInt RangeAssSlice(PyObject *, PyInt, PyInt, PyObject *); |
| |
| static PyObject *RangeAppend(PyObject *, PyObject *); |
| |
| |
| *** 1029,1043 **** |
| * ------------------------------------------- |
| */ |
| |
| ! static int WinListLength(PyObject *); |
| ! static PyObject *WinListItem(PyObject *, int); |
| |
| /* Buffer list type - Implementation functions |
| * ------------------------------------------- |
| */ |
| |
| ! static int BufListLength(PyObject *); |
| ! static PyObject *BufListItem(PyObject *, int); |
| |
| /* Current objects type - Implementation functions |
| * ----------------------------------------------- |
| --- 1047,1061 ---- |
| * ------------------------------------------- |
| */ |
| |
| ! static PyInt WinListLength(PyObject *); |
| ! static PyObject *WinListItem(PyObject *, PyInt); |
| |
| /* Buffer list type - Implementation functions |
| * ------------------------------------------- |
| */ |
| |
| ! static PyInt BufListLength(PyObject *); |
| ! static PyObject *BufListItem(PyObject *, PyInt); |
| |
| /* Current objects type - Implementation functions |
| * ----------------------------------------------- |
| |
| *** 1130,1135 **** |
| --- 1148,1163 ---- |
| result = Py_BuildValue("s", buf); |
| PyDict_SetItemString(lookupDict, ptrBuf, result); |
| } |
| + #ifdef FEAT_FLOAT |
| + else if (our_tv->v_type == VAR_FLOAT) |
| + { |
| + char buf[NUMBUFLEN]; |
| + |
| + sprintf(buf, "%f", our_tv->vval.v_float); |
| + result = Py_BuildValue("s", buf); |
| + PyDict_SetItemString(lookupDict, ptrBuf, result); |
| + } |
| + #endif |
| else if (our_tv->v_type == VAR_LIST) |
| { |
| list_T *list = our_tv->vval.v_list; |
| |
| *** 1245,1251 **** |
| } |
| |
| static PyObject * |
| ! RBItem(BufferObject *self, int n, int start, int end) |
| { |
| if (CheckBuffer(self)) |
| return NULL; |
| --- 1273,1279 ---- |
| } |
| |
| static PyObject * |
| ! RBItem(BufferObject *self, PyInt n, int start, int end) |
| { |
| if (CheckBuffer(self)) |
| return NULL; |
| |
| *** 1260,1268 **** |
| } |
| |
| static PyObject * |
| ! RBSlice(BufferObject *self, int lo, int hi, int start, int end) |
| { |
| ! int size; |
| |
| if (CheckBuffer(self)) |
| return NULL; |
| --- 1288,1296 ---- |
| } |
| |
| static PyObject * |
| ! RBSlice(BufferObject *self, PyInt lo, PyInt hi, int start, int end) |
| { |
| ! PyInt size; |
| |
| if (CheckBuffer(self)) |
| return NULL; |
| |
| *** 1283,1290 **** |
| return GetBufferLineList(self->buf, lo+start, hi+start); |
| } |
| |
| ! static int |
| ! RBAssItem(BufferObject *self, int n, PyObject *val, int start, int end, int *new_end) |
| { |
| int len_change; |
| |
| --- 1311,1318 ---- |
| return GetBufferLineList(self->buf, lo+start, hi+start); |
| } |
| |
| ! static PyInt |
| ! RBAssItem(BufferObject *self, PyInt n, PyObject *val, int start, int end, int *new_end) |
| { |
| int len_change; |
| |
| |
| *** 1306,1313 **** |
| return 0; |
| } |
| |
| ! static int |
| ! RBAssSlice(BufferObject *self, int lo, int hi, PyObject *val, int start, int end, int *new_end) |
| { |
| int size; |
| int len_change; |
| --- 1334,1341 ---- |
| return 0; |
| } |
| |
| ! static PyInt |
| ! RBAssSlice(BufferObject *self, PyInt lo, PyInt hi, PyObject *val, int start, int end, int *new_end) |
| { |
| int size; |
| int len_change; |
| |
| *** 1384,1396 **** |
| }; |
| |
| static PySequenceMethods BufferAsSeq = { |
| ! (inquiry) BufferLength, /* sq_length, len(x) */ |
| (binaryfunc) 0, /* BufferConcat, */ /* sq_concat, x+y */ |
| ! (intargfunc) 0, /* BufferRepeat, */ /* sq_repeat, x*n */ |
| ! (intargfunc) BufferItem, /* sq_item, x[i] */ |
| ! (intintargfunc) BufferSlice, /* sq_slice, x[i:j] */ |
| ! (intobjargproc) BufferAssItem, /* sq_ass_item, x[i]=v */ |
| ! (intintobjargproc) BufferAssSlice, /* sq_ass_slice, x[i:j]=v */ |
| }; |
| |
| static PyTypeObject BufferType = { |
| --- 1412,1424 ---- |
| }; |
| |
| static PySequenceMethods BufferAsSeq = { |
| ! (PyInquiry) BufferLength, /* sq_length, len(x) */ |
| (binaryfunc) 0, /* BufferConcat, */ /* sq_concat, x+y */ |
| ! (PyIntArgFunc) 0, /* BufferRepeat, */ /* sq_repeat, x*n */ |
| ! (PyIntArgFunc) BufferItem, /* sq_item, x[i] */ |
| ! (PyIntIntArgFunc) BufferSlice, /* sq_slice, x[i:j] */ |
| ! (PyIntObjArgProc) BufferAssItem, /* sq_ass_item, x[i]=v */ |
| ! (PyIntIntObjArgProc) BufferAssSlice, /* sq_ass_slice, x[i:j]=v */ |
| }; |
| |
| static PyTypeObject BufferType = { |
| |
| *** 1516,1522 **** |
| |
| / |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| *** 1527,1555 **** |
| } |
| |
| static PyObject * |
| ! BufferItem(PyObject *self, int n) |
| { |
| return RBItem((BufferObject *)(self), n, 1, |
| (int)((BufferObject *)(self))->buf->b_ml.ml_line_count); |
| } |
| |
| static PyObject * |
| ! BufferSlice(PyObject *self, int lo, int hi) |
| { |
| return RBSlice((BufferObject *)(self), lo, hi, 1, |
| (int)((BufferObject *)(self))->buf->b_ml.ml_line_count); |
| } |
| |
| ! static int |
| ! BufferAssItem(PyObject *self, int n, PyObject *val) |
| { |
| return RBAssItem((BufferObject *)(self), n, val, 1, |
| (int)((BufferObject *)(self))->buf->b_ml.ml_line_count, |
| NULL); |
| } |
| |
| ! static int |
| ! BufferAssSlice(PyObject *self, int lo, int hi, PyObject *val) |
| { |
| return RBAssSlice((BufferObject *)(self), lo, hi, val, 1, |
| (int)((BufferObject *)(self))->buf->b_ml.ml_line_count, |
| --- 1555,1583 ---- |
| } |
| |
| static PyObject * |
| ! BufferItem(PyObject *self, PyInt n) |
| { |
| return RBItem((BufferObject *)(self), n, 1, |
| (int)((BufferObject *)(self))->buf->b_ml.ml_line_count); |
| } |
| |
| static PyObject * |
| ! BufferSlice(PyObject *self, PyInt lo, PyInt hi) |
| { |
| return RBSlice((BufferObject *)(self), lo, hi, 1, |
| (int)((BufferObject *)(self))->buf->b_ml.ml_line_count); |
| } |
| |
| ! static PyInt |
| ! BufferAssItem(PyObject *self, PyInt n, PyObject *val) |
| { |
| return RBAssItem((BufferObject *)(self), n, val, 1, |
| (int)((BufferObject *)(self))->buf->b_ml.ml_line_count, |
| NULL); |
| } |
| |
| ! static PyInt |
| ! BufferAssSlice(PyObject *self, PyInt lo, PyInt hi, PyObject *val) |
| { |
| return RBAssSlice((BufferObject *)(self), lo, hi, val, 1, |
| (int)((BufferObject *)(self))->buf->b_ml.ml_line_count, |
| |
| *** 1627,1639 **** |
| }; |
| |
| static PySequenceMethods RangeAsSeq = { |
| ! (inquiry) RangeLength, /* sq_length, len(x) */ |
| (binaryfunc) 0, /* RangeConcat, */ /* sq_concat, x+y */ |
| ! (intargfunc) 0, /* RangeRepeat, */ /* sq_repeat, x*n */ |
| ! (intargfunc) RangeItem, /* sq_item, x[i] */ |
| ! (intintargfunc) RangeSlice, /* sq_slice, x[i:j] */ |
| ! (intobjargproc) RangeAssItem, /* sq_ass_item, x[i]=v */ |
| ! (intintobjargproc) RangeAssSlice, /* sq_ass_slice, x[i:j]=v */ |
| }; |
| |
| static PyTypeObject RangeType = { |
| --- 1655,1667 ---- |
| }; |
| |
| static PySequenceMethods RangeAsSeq = { |
| ! (PyInquiry) RangeLength, /* sq_length, len(x) */ |
| (binaryfunc) 0, /* RangeConcat, */ /* sq_concat, x+y */ |
| ! (PyIntArgFunc) 0, /* RangeRepeat, */ /* sq_repeat, x*n */ |
| ! (PyIntArgFunc) RangeItem, /* sq_item, x[i] */ |
| ! (PyIntIntArgFunc) RangeSlice, /* sq_slice, x[i:j] */ |
| ! (PyIntObjArgProc) RangeAssItem, /* sq_ass_item, x[i]=v */ |
| ! (PyIntIntObjArgProc) RangeAssSlice, /* sq_ass_slice, x[i:j]=v */ |
| }; |
| |
| static PyTypeObject RangeType = { |
| |
| *** 1738,1744 **** |
| |
| / |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| *** 1749,1755 **** |
| } |
| |
| static PyObject * |
| ! RangeItem(PyObject *self, int n) |
| { |
| return RBItem(((RangeObject *)(self))->buf, n, |
| ((RangeObject *)(self))->start, |
| --- 1777,1783 ---- |
| } |
| |
| static PyObject * |
| ! RangeItem(PyObject *self, PyInt n) |
| { |
| return RBItem(((RangeObject *)(self))->buf, n, |
| ((RangeObject *)(self))->start, |
| |
| *** 1757,1771 **** |
| } |
| |
| static PyObject * |
| ! RangeSlice(PyObject *self, int lo, int hi) |
| { |
| return RBSlice(((RangeObject *)(self))->buf, lo, hi, |
| ((RangeObject *)(self))->start, |
| ((RangeObject *)(self))->end); |
| } |
| |
| ! static int |
| ! RangeAssItem(PyObject *self, int n, PyObject *val) |
| { |
| return RBAssItem(((RangeObject *)(self))->buf, n, val, |
| ((RangeObject *)(self))->start, |
| --- 1785,1799 ---- |
| } |
| |
| static PyObject * |
| ! RangeSlice(PyObject *self, PyInt lo, PyInt hi) |
| { |
| return RBSlice(((RangeObject *)(self))->buf, lo, hi, |
| ((RangeObject *)(self))->start, |
| ((RangeObject *)(self))->end); |
| } |
| |
| ! static PyInt |
| ! RangeAssItem(PyObject *self, PyInt n, PyObject *val) |
| { |
| return RBAssItem(((RangeObject *)(self))->buf, n, val, |
| ((RangeObject *)(self))->start, |
| |
| *** 1773,1780 **** |
| &((RangeObject *)(self))->end); |
| } |
| |
| ! static int |
| ! RangeAssSlice(PyObject *self, int lo, int hi, PyObject *val) |
| { |
| return RBAssSlice(((RangeObject *)(self))->buf, lo, hi, val, |
| ((RangeObject *)(self))->start, |
| --- 1801,1808 ---- |
| &((RangeObject *)(self))->end); |
| } |
| |
| ! static PyInt |
| ! RangeAssSlice(PyObject *self, PyInt lo, PyInt hi, PyObject *val) |
| { |
| return RBAssSlice(((RangeObject *)(self))->buf, lo, hi, val, |
| ((RangeObject *)(self))->start, |
| |
| *** 1801,1813 **** |
| BufListObject; |
| |
| static PySequenceMethods BufListAsSeq = { |
| ! (inquiry) BufListLength, /* sq_length, len(x) */ |
| (binaryfunc) 0, /* sq_concat, x+y */ |
| ! (intargfunc) 0, /* sq_repeat, x*n */ |
| ! (intargfunc) BufListItem, /* sq_item, x[i] */ |
| ! (intintargfunc) 0, /* sq_slice, x[i:j] */ |
| ! (intobjargproc) 0, /* sq_ass_item, x[i]=v */ |
| ! (intintobjargproc) 0, /* sq_ass_slice, x[i:j]=v */ |
| }; |
| |
| static PyTypeObject BufListType = { |
| --- 1829,1841 ---- |
| BufListObject; |
| |
| static PySequenceMethods BufListAsSeq = { |
| ! (PyInquiry) BufListLength, /* sq_length, len(x) */ |
| (binaryfunc) 0, /* sq_concat, x+y */ |
| ! (PyIntArgFunc) 0, /* sq_repeat, x*n */ |
| ! (PyIntArgFunc) BufListItem, /* sq_item, x[i] */ |
| ! (PyIntIntArgFunc) 0, /* sq_slice, x[i:j] */ |
| ! (PyIntObjArgProc) 0, /* sq_ass_item, x[i]=v */ |
| ! (PyIntIntObjArgProc) 0, /* sq_ass_slice, x[i:j]=v */ |
| }; |
| |
| static PyTypeObject BufListType = { |
| |
| *** 1837,1843 **** |
| */ |
| |
| /*ARGSUSED*/ |
| ! static int |
| BufListLength(PyObject *self) |
| { |
| buf_T *b = firstbuf; |
| --- 1865,1871 ---- |
| */ |
| |
| /*ARGSUSED*/ |
| ! static PyInt |
| BufListLength(PyObject *self) |
| { |
| buf_T *b = firstbuf; |
| |
| *** 1854,1860 **** |
| |
| /*ARGSUSED*/ |
| static PyObject * |
| ! BufListItem(PyObject *self, int n) |
| { |
| buf_T *b; |
| |
| --- 1882,1888 ---- |
| |
| /*ARGSUSED*/ |
| static PyObject * |
| ! BufListItem(PyObject *self, PyInt n) |
| { |
| buf_T *b; |
| |
| |
| *** 2119,2131 **** |
| WinListObject; |
| |
| static PySequenceMethods WinListAsSeq = { |
| ! (inquiry) WinListLength, /* sq_length, len(x) */ |
| (binaryfunc) 0, /* sq_concat, x+y */ |
| ! (intargfunc) 0, /* sq_repeat, x*n */ |
| ! (intargfunc) WinListItem, /* sq_item, x[i] */ |
| ! (intintargfunc) 0, /* sq_slice, x[i:j] */ |
| ! (intobjargproc) 0, /* sq_ass_item, x[i]=v */ |
| ! (intintobjargproc) 0, /* sq_ass_slice, x[i:j]=v */ |
| }; |
| |
| static PyTypeObject WinListType = { |
| --- 2147,2159 ---- |
| WinListObject; |
| |
| static PySequenceMethods WinListAsSeq = { |
| ! (PyInquiry) WinListLength, /* sq_length, len(x) */ |
| (binaryfunc) 0, /* sq_concat, x+y */ |
| ! (PyIntArgFunc) 0, /* sq_repeat, x*n */ |
| ! (PyIntArgFunc) WinListItem, /* sq_item, x[i] */ |
| ! (PyIntIntArgFunc) 0, /* sq_slice, x[i:j] */ |
| ! (PyIntObjArgProc) 0, /* sq_ass_item, x[i]=v */ |
| ! (PyIntIntObjArgProc) 0, /* sq_ass_slice, x[i:j]=v */ |
| }; |
| |
| static PyTypeObject WinListType = { |
| |
| *** 2154,2160 **** |
| /* Window list object - Implementation |
| */ |
| /*ARGSUSED*/ |
| ! static int |
| WinListLength(PyObject *self) |
| { |
| win_T *w = firstwin; |
| --- 2182,2188 ---- |
| /* Window list object - Implementation |
| */ |
| /*ARGSUSED*/ |
| ! static PyInt |
| WinListLength(PyObject *self) |
| { |
| win_T *w = firstwin; |
| |
| *** 2171,2177 **** |
| |
| /*ARGSUSED*/ |
| static PyObject * |
| ! WinListItem(PyObject *self, int n) |
| { |
| win_T *w; |
| |
| --- 2199,2205 ---- |
| |
| /*ARGSUSED*/ |
| static PyObject * |
| ! WinListItem(PyObject *self, PyInt n) |
| { |
| win_T *w; |
| |
| |
| *** 2351,2360 **** |
| * including, hi. The list is returned as a Python list of string objects. |
| */ |
| static PyObject * |
| ! GetBufferLineList(buf_T *buf, int lo, int hi) |
| { |
| ! int i; |
| ! int n = hi - lo; |
| PyObject *list = PyList_New(n); |
| |
| if (list == NULL) |
| --- 2379,2388 ---- |
| * including, hi. The list is returned as a Python list of string objects. |
| */ |
| static PyObject * |
| ! GetBufferLineList(buf_T *buf, PyInt lo, PyInt hi) |
| { |
| ! PyInt i; |
| ! PyInt n = hi - lo; |
| PyObject *list = PyList_New(n); |
| |
| if (list == NULL) |
| |
| *** 2517,2523 **** |
| * is set to the change in the buffer length. |
| */ |
| static int |
| ! SetBufferLineList(buf_T *buf, int lo, int hi, PyObject *list, int *len_change) |
| { |
| /* First of all, we check the thpe of the supplied Python object. |
| * There are three cases: |
| --- 2545,2551 ---- |
| * is set to the change in the buffer length. |
| */ |
| static int |
| ! SetBufferLineList(buf_T *buf, PyInt lo, PyInt hi, PyObject *list, int *len_change) |
| { |
| /* First of all, we check the thpe of the supplied Python object. |
| * There are three cases: |
| |
| *** 2527,2534 **** |
| */ |
| if (list == Py_None || list == NULL) |
| { |
| ! int i; |
| ! int n = hi - lo; |
| buf_T *savebuf = curbuf; |
| |
| PyErr_Clear(); |
| --- 2555,2562 ---- |
| */ |
| if (list == Py_None || list == NULL) |
| { |
| ! PyInt i; |
| ! PyInt n = hi - lo; |
| buf_T *savebuf = curbuf; |
| |
| PyErr_Clear(); |
| |
| *** 2564,2572 **** |
| } |
| else if (PyList_Check(list)) |
| { |
| ! int i; |
| ! int new_len = PyList_Size(list); |
| ! int old_len = hi - lo; |
| int extra = 0; /* lines added to text, can be negative */ |
| char **array; |
| buf_T *savebuf; |
| --- 2592,2600 ---- |
| } |
| else if (PyList_Check(list)) |
| { |
| ! PyInt i; |
| ! PyInt new_len = PyList_Size(list); |
| ! PyInt old_len = hi - lo; |
| int extra = 0; /* lines added to text, can be negative */ |
| char **array; |
| buf_T *savebuf; |
| |
| *** 2745,2752 **** |
| } |
| else if (PyList_Check(lines)) |
| { |
| ! int i; |
| ! int size = PyList_Size(lines); |
| char **array; |
| buf_T *savebuf; |
| |
| --- 2773,2780 ---- |
| } |
| else if (PyList_Check(lines)) |
| { |
| ! PyInt i; |
| ! PyInt size = PyList_Size(lines); |
| char **array; |
| buf_T *savebuf; |
| |
| |
| *** 2831,2837 **** |
| LineToString(const char *str) |
| { |
| PyObject *result; |
| ! int len = strlen(str); |
| char *p; |
| |
| /* Allocate an Python string object, with uninitialised contents. We |
| --- 2859,2865 ---- |
| LineToString(const char *str) |
| { |
| PyObject *result; |
| ! PyInt len = strlen(str); |
| char *p; |
| |
| /* Allocate an Python string object, with uninitialised contents. We |
| |
| *** 2871,2878 **** |
| { |
| const char *str; |
| char *save; |
| ! int len; |
| ! int i; |
| char *p; |
| |
| if (obj == NULL || !PyString_Check(obj)) |
| --- 2899,2906 ---- |
| { |
| const char *str; |
| char *save; |
| ! PyInt len; |
| ! PyInt i; |
| char *p; |
| |
| if (obj == NULL || !PyString_Check(obj)) |
| |
| |
| |
| *** 668,669 **** |
| --- 673,676 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 307, |
| /**/ |
| |
| -- |
| For humans, honesty is a matter of degree. Engineers are always honest in |
| matters of technology and human relationships. That's why it's a good idea |
| to keep engineers away from customers, romantic interests, and other people |
| who can't handle the truth. |
| (Scott Adams - The Dilbert principle) |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ download, build and distribute -- http://www.A-A-P.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |