diff options
Diffstat (limited to 'src/if_py_both.h')
-rw-r--r-- | src/if_py_both.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/if_py_both.h b/src/if_py_both.h index c7df93be2..5bd6a0e67 100644 --- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -3374,7 +3374,7 @@ OptionsItem(OptionsObject *self, PyObject *keyObject) char_u *stringval; PyObject *todecref; - if (self->Check(self->from)) + if (self->Check(self->fromObj)) return NULL; if (!(key = StringToChars(keyObject, &todecref))) @@ -3565,7 +3565,7 @@ OptionsAssItem(OptionsObject *self, PyObject *keyObject, PyObject *valObject) int ret = 0; PyObject *todecref; - if (self->Check(self->from)) + if (self->Check(self->fromObj)) return -1; if (!(key = StringToChars(keyObject, &todecref))) @@ -4334,10 +4334,15 @@ GetBufferLineList(buf_T *buf, PyInt lo, PyInt hi) for (i = 0; i < n; ++i) { - PyObject *string = LineToString( - (char *)ml_get_buf(buf, (linenr_T)(lo+i), FALSE)); + linenr_T lnum = (linenr_T)(lo + i); + char *text; + PyObject *string; - // Error check - was the Python string creation OK? + if (lnum > buf->b_ml.ml_line_count) + text = ""; + else + text = (char *)ml_get_buf(buf, lnum, FALSE); + string = LineToString(text); if (string == NULL) { Py_DECREF(list); |