0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

patch 8.2.3369: auto formatting after "cw" leaves cursor in wrong spot

Problem:    Auto formatting after "cw" leaves cursor in wrong spot.
Solution:   Do not auto-format after the delete. (closes #8789)
This commit is contained in:
Bram Moolenaar
2021-08-23 21:19:01 +02:00
parent 9cd91a1e88
commit 6b36d2a16d
3 changed files with 12 additions and 1 deletions

View File

@@ -942,6 +942,7 @@ op_delete(oparg_T *oap)
curwin->w_cursor = curpos; // restore curwin->w_cursor curwin->w_cursor = curpos; // restore curwin->w_cursor
(void)do_join(2, FALSE, FALSE, FALSE, FALSE); (void)do_join(2, FALSE, FALSE, FALSE, FALSE);
} }
if (oap->op_type == OP_DELETE)
auto_format(FALSE, TRUE); auto_format(FALSE, TRUE);
} }
@@ -1809,6 +1810,7 @@ op_change(oparg_T *oap)
vim_free(ins_text); vim_free(ins_text);
} }
} }
auto_format(FALSE, TRUE);
return retval; return retval;
} }

View File

@@ -967,6 +967,13 @@ func Test_fo_a_w()
exe "normal f4xx" exe "normal f4xx"
call assert_equal(['1 2 5 6 7 ', '8 9'], getline(1, 2)) call assert_equal(['1 2 5 6 7 ', '8 9'], getline(1, 2))
" using "cw" leaves cursor in right spot
call setline(1, ['Now we g whether that nation, or',
\ 'any nation so conceived and,'])
set fo=tcqa tw=35
exe "normal 2G0cwx\<Esc>"
call assert_equal(['Now we g whether that nation, or x', 'nation so conceived and,'], getline(1, 2))
set tw=0 set tw=0
set fo& set fo&
%bw! %bw!

View File

@@ -755,6 +755,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 */
/**/
3369,
/**/ /**/
3368, 3368,
/**/ /**/