1
0
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:
Bram Moolenaar
2022-05-24 13:57:54 +01:00
parent 53737b5eee
commit 78d52883e1
3 changed files with 17 additions and 0 deletions

View File

@@ -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 a000“0
sil! norm gggg0i0gw0gg
bwipe!
set encoding=utf8
endfunc
" vim: shiftwidth=2 sts=2 expandtab " vim: shiftwidth=2 sts=2 expandtab

View File

@@ -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)

View File

@@ -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,
/**/ /**/