1
0
forked from aniani/vim

patch 9.0.1172: when 'selection' is "exclusive" then "1v" is one char short

Problem:    When 'selection' is "exclusive" then "1v" is one char short.
Solution:   Add one character when 'selection' is "exclusive. (closes #11791)
This commit is contained in:
Bram Moolenaar
2023-01-10 17:29:29 +00:00
parent 2bc849ff81
commit 79c11e399b
3 changed files with 17 additions and 1 deletions

View File

@@ -5472,7 +5472,9 @@ nv_visual(cmdarg_T *cap)
if (resel_VIsual_line_count <= 1)
{
update_curswant_force();
curwin->w_curswant += resel_VIsual_vcol * cap->count0 - 1;
curwin->w_curswant += resel_VIsual_vcol * cap->count0;
if (*p_sel != 'e')
--curwin->w_curswant;
}
else
curwin->w_curswant = resel_VIsual_vcol;

View File

@@ -1336,6 +1336,18 @@ func Test_visual_reselect_with_count()
bwipe!
endfunc
func Test_visual_reselect_exclusive()
new
call setline(1, ['abcde', 'abcde'])
set selection=exclusive
normal 1G0viwd
normal 2G01vd
call assert_equal(['', ''], getline(1, 2))
set selection&
bwipe!
endfunc
func Test_visual_block_insert_round_off()
new
" The number of characters are tuned to fill a 4096 byte allocated block,

View File

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