diff --git a/src/if_python.c b/src/if_python.c index adcb52d2bdb97577210d887823a8277805cb2423..0e06d36e4bb24e45b0037682f2c1a9cbbbaf99c3 100644 --- a/src/if_python.c +++ b/src/if_python.c @@ -2410,6 +2410,8 @@ py_fix_cursor(int lo, int hi, int extra) curwin->w_cursor.lnum = lo; check_cursor(); } + else + check_cursor_col(); changed_cline_bef_curs(); } invalidate_botline(); @@ -2487,6 +2489,10 @@ SetBufferLine(buf_T *buf, int n, PyObject *line, int *len_change) curbuf = savebuf; + /* Check that the cursor is not beyond the end of the line now. */ + if (buf == curwin->w_buffer) + check_cursor_col(); + if (PyErr_Occurred() || VimErrorCheck()) return FAIL; diff --git a/src/version.c b/src/version.c index 331e75ff5ae20b36eeda0f356b13a5b4d3f1a16d..77f71c87a1a15529ac70df9a87f71488ca01a644 100644 --- a/src/version.c +++ b/src/version.c @@ -666,6 +666,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 209, /**/ 208, /**/