patch 8.2.3581: reading character past end of line
Problem: Reading character past end of line.
Solution: Correct the cursor column.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 072effd..052f230 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -7774,6 +7774,7 @@
eap->forceit = TRUE;
}
curwin->w_cursor.lnum = eap->line2;
+ check_cursor_col();
do_put(eap->regname, NULL, eap->forceit ? BACKWARD : FORWARD, 1L,
PUT_LINE|PUT_CURSLINE);
}
diff --git a/src/testdir/test_put.vim b/src/testdir/test_put.vim
index 1b67c85..b2f2120 100644
--- a/src/testdir/test_put.vim
+++ b/src/testdir/test_put.vim
@@ -159,5 +159,14 @@
bwipe!
endfunc
+func Test_put_above_first_line()
+ new
+ let @" = 'text'
+ silent! normal 0o00
+ 0put
+ call assert_equal('text', getline(1))
+ bwipe!
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 3d34c03..7bb4236 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3581,
+/**/
3580,
/**/
3579,