diff --git a/src/ops.c b/src/ops.c index 7fb7f5887d..9e7927d9a2 100644 --- a/src/ops.c +++ b/src/ops.c @@ -3493,8 +3493,15 @@ do_put(regname, dir, count, flags) # endif if (flags & PUT_CURSEND) { + colnr_T len; + curwin->w_cursor = curbuf->b_op_end; curwin->w_cursor.col++; + + /* in Insert mode we might be after the NUL, correct for that */ + len = (colnr_T)STRLEN(ml_get_curline()); + if (curwin->w_cursor.col > len) + curwin->w_cursor.col = len; } else curwin->w_cursor.lnum = lnum; diff --git a/src/version.c b/src/version.c index 48e0fd67e9..b5698aac1b 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 */ +/**/ + 42, /**/ 41, /**/