vim-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 vim/vim#8789)
6b36d2a16d
This commit is contained in:
Sean Dewar 2021-08-23 20:37:26 +01:00
parent ebd035f08b
commit d78f06852e
No known key found for this signature in database
GPG Key ID: 08CC2C83AD41B581
2 changed files with 11 additions and 1 deletions

View File

@ -1725,7 +1725,9 @@ int op_delete(oparg_T *oap)
(int)oap->line_count-1, n, deleted_bytes,
0, 0, 0, kExtmarkUndo);
}
auto_format(false, true);
if (oap->op_type == OP_DELETE) {
auto_format(false, true);
}
}
msgmore(curbuf->b_ml.ml_line_count - old_lcount);
@ -2486,6 +2488,7 @@ int op_change(oparg_T *oap)
xfree(ins_text);
}
}
auto_format(false, true);
return retval;
}

View File

@ -975,6 +975,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!