diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-08-23 21:19:01 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-08-23 21:19:01 +0200 |
commit | 6b36d2a16d7931bac82ef8b5654c68ac456b24bf (patch) | |
tree | a1a9f7e2d0a1f1a16955e701307c97e08cadbd57 | |
parent | 9cd91a1e8816d727fbdbf0b3062288e15abc5f4d (diff) | |
download | vim-git-6b36d2a16d7931bac82ef8b5654c68ac456b24bf.tar.gz |
patch 8.2.3369: auto formatting after "cw" leaves cursor in wrong spotv8.2.3369
Problem: Auto formatting after "cw" leaves cursor in wrong spot.
Solution: Do not auto-format after the delete. (closes #8789)
-rw-r--r-- | src/ops.c | 4 | ||||
-rw-r--r-- | src/testdir/test_textformat.vim | 7 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 12 insertions, 1 deletions
@@ -942,7 +942,8 @@ op_delete(oparg_T *oap) curwin->w_cursor = curpos; // restore curwin->w_cursor (void)do_join(2, FALSE, FALSE, FALSE, FALSE); } - auto_format(FALSE, TRUE); + if (oap->op_type == OP_DELETE) + auto_format(FALSE, TRUE); } msgmore(curbuf->b_ml.ml_line_count - old_lcount); @@ -1809,6 +1810,7 @@ op_change(oparg_T *oap) vim_free(ins_text); } } + auto_format(FALSE, TRUE); return retval; } diff --git a/src/testdir/test_textformat.vim b/src/testdir/test_textformat.vim index 0dc28c730..2b7629277 100644 --- a/src/testdir/test_textformat.vim +++ b/src/testdir/test_textformat.vim @@ -967,6 +967,13 @@ func Test_fo_a_w() exe "normal f4xx" 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 fo& %bw! diff --git a/src/version.c b/src/version.c index a439d99d4..aa5d02a6f 100644 --- a/src/version.c +++ b/src/version.c @@ -756,6 +756,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3369, +/**/ 3368, /**/ 3367, |