1
0
forked from aniani/vim

patch 9.0.0765: with a Visual block a put command column may go negative

Problem:    With a Visual block a put command column may go negative.
Solution:   Check that the column does not become negative.
This commit is contained in:
Bram Moolenaar 2022-10-15 19:04:05 +01:00
parent c8b6735573
commit 36343ae0fb
3 changed files with 16 additions and 0 deletions

View File

@ -1960,6 +1960,8 @@ do_put(
// adjust '] mark
curbuf->b_op_end.lnum = curwin->w_cursor.lnum - 1;
curbuf->b_op_end.col = bd.textcol + totlen - 1;
if (curbuf->b_op_end.col < 0)
curbuf->b_op_end.col = 0;
curbuf->b_op_end.coladd = 0;
if (flags & PUT_CURSEND)
{

View File

@ -483,6 +483,18 @@ func Test_visual_block_put()
bw!
endfunc
func Test_visual_block_put_invalid()
enew!
behave mswin
norm yy
norm v)Ps/^/
" this was causing the column to become negative
silent norm ggv)P
bwipe!
behave xterm
endfunc
" Visual modes (v V CTRL-V) followed by an operator; count; repeating
func Test_visual_mode_op()
new

View File

@ -695,6 +695,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
765,
/**/
764,
/**/