forked from aniani/vim
patch 8.2.5013: after text formatting cursor may be in an invalid position
Problem: After text formatting the cursor may be in an invalid position. Solution: Correct the cursor position after formatting.
This commit is contained in:
@@ -1291,4 +1291,16 @@ func Test_fo_2()
|
|||||||
close!
|
close!
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
" This was leaving the cursor after the end of a line. Complicated way to
|
||||||
|
" have the problem show up with valgrind.
|
||||||
|
func Test_correct_cursor_position()
|
||||||
|
set encoding=iso8859
|
||||||
|
new
|
||||||
|
norm a0000
|
||||||
|
sil! norm gggg0i0gw0gg
|
||||||
|
|
||||||
|
bwipe!
|
||||||
|
set encoding=utf8
|
||||||
|
endfunc
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@@ -870,6 +870,9 @@ op_format(
|
|||||||
{
|
{
|
||||||
curwin->w_cursor = saved_cursor;
|
curwin->w_cursor = saved_cursor;
|
||||||
saved_cursor.lnum = 0;
|
saved_cursor.lnum = 0;
|
||||||
|
|
||||||
|
// formatting may have made the cursor position invalid
|
||||||
|
check_cursor();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (oap->is_VIsual)
|
if (oap->is_VIsual)
|
||||||
|
@@ -734,6 +734,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 */
|
||||||
|
/**/
|
||||||
|
5013,
|
||||||
/**/
|
/**/
|
||||||
5012,
|
5012,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user