mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 8.0.1765: CTRL-G j in Insert mode is incorrect when 'virtualedit' set
Problem: CTRL-G j in Insert mode is incorrect when 'virtualedit' is set. Solution: Take coladd into account. (Christian Brabandt, closes #2743)
This commit is contained in:
@@ -1417,7 +1417,12 @@ getvcol_nolist(pos_T *posp)
|
|||||||
colnr_T vcol;
|
colnr_T vcol;
|
||||||
|
|
||||||
curwin->w_p_list = FALSE;
|
curwin->w_p_list = FALSE;
|
||||||
getvcol(curwin, posp, NULL, &vcol, NULL);
|
#ifdef FEAT_VIRTUALEDIT
|
||||||
|
if (posp->coladd)
|
||||||
|
getvvcol(curwin, posp, NULL, &vcol, NULL);
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
getvcol(curwin, posp, NULL, &vcol, NULL);
|
||||||
curwin->w_p_list = list_save;
|
curwin->w_p_list = list_save;
|
||||||
return vcol;
|
return vcol;
|
||||||
}
|
}
|
||||||
|
@@ -38,6 +38,24 @@ func Test_paste_end_of_line()
|
|||||||
exe "normal! 2G$lllA\<C-O>:normal! \"agP\r"
|
exe "normal! 2G$lllA\<C-O>:normal! \"agP\r"
|
||||||
call assert_equal('123456', getline(2))
|
call assert_equal('123456', getline(2))
|
||||||
|
|
||||||
|
bwipe!
|
||||||
|
set virtualedit=
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func Test_edit_CTRL_G()
|
||||||
|
new
|
||||||
|
set virtualedit=insert
|
||||||
|
call setline(1, ['123', '1', '12'])
|
||||||
|
exe "normal! ggA\<c-g>jx\<c-g>jx"
|
||||||
|
call assert_equal(['123', '1 x', '12 x'], getline(1,'$'))
|
||||||
|
|
||||||
|
set virtualedit=all
|
||||||
|
%d_
|
||||||
|
call setline(1, ['1', '12'])
|
||||||
|
exe "normal! ggllix\<c-g>jx"
|
||||||
|
call assert_equal(['1 x', '12x'], getline(1,'$'))
|
||||||
|
|
||||||
|
|
||||||
bwipe!
|
bwipe!
|
||||||
set virtualedit=
|
set virtualedit=
|
||||||
endfunc
|
endfunc
|
||||||
|
@@ -761,6 +761,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1765,
|
||||||
/**/
|
/**/
|
||||||
1764,
|
1764,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user