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:
@@ -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;
|
||||||
}
|
}
|
||||||
|
@@ -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!
|
||||||
|
@@ -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,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user