diff --git a/src/if_python.c b/src/if_python.c index e483bfc8a8..b9a12fa212 100644 --- a/src/if_python.c +++ b/src/if_python.c @@ -2058,6 +2058,7 @@ WindowSetattr(PyObject *self, char *name, PyObject *val) { long lnum; long col; + long len; if (!PyArg_Parse(val, "(ll)", &lnum, &col)) return -1; @@ -2072,10 +2073,16 @@ WindowSetattr(PyObject *self, char *name, PyObject *val) if (VimErrorCheck()) return -1; - /* NO CHECK ON COLUMN - SEEMS NOT TO MATTER */ + /* When column is out of range silently correct it. */ + len = STRLEN(ml_get_buf(this->win->w_buffer, lnum, FALSE)); + if (col > len) + col = len; this->win->w_cursor.lnum = lnum; this->win->w_cursor.col = col; +#ifdef FEAT_VIRTUALEDIT + this->win->w_cursor.coladd = 0; +#endif update_screen(VALID); return 0; diff --git a/src/version.c b/src/version.c index a1e052c4dd..9230571082 100644 --- a/src/version.c +++ b/src/version.c @@ -676,6 +676,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 268, /**/ 267, /**/