Mercurial > vim
comparison src/ops.c @ 25666:649d3e9c5914 v8.2.3369
patch 8.2.3369: auto formatting after "cw" leaves cursor in wrong spot
Commit: https://github.com/vim/vim/commit/6b36d2a16d7931bac82ef8b5654c68ac456b24bf
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Aug 23 21:19:01 2021 +0200
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 https://github.com/vim/vim/issues/8789)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 23 Aug 2021 21:30:04 +0200 |
parents | c26ff3203b43 |
children | b1440083f0da |
comparison
equal
deleted
inserted
replaced
25665:24738d70517a | 25666:649d3e9c5914 |
---|---|
940 (void)del_bytes((long)n, !virtual_op, | 940 (void)del_bytes((long)n, !virtual_op, |
941 oap->op_type == OP_DELETE && !oap->is_VIsual); | 941 oap->op_type == OP_DELETE && !oap->is_VIsual); |
942 curwin->w_cursor = curpos; // restore curwin->w_cursor | 942 curwin->w_cursor = curpos; // restore curwin->w_cursor |
943 (void)do_join(2, FALSE, FALSE, FALSE, FALSE); | 943 (void)do_join(2, FALSE, FALSE, FALSE, FALSE); |
944 } | 944 } |
945 auto_format(FALSE, TRUE); | 945 if (oap->op_type == OP_DELETE) |
946 auto_format(FALSE, TRUE); | |
946 } | 947 } |
947 | 948 |
948 msgmore(curbuf->b_ml.ml_line_count - old_lcount); | 949 msgmore(curbuf->b_ml.ml_line_count - old_lcount); |
949 | 950 |
950 setmarks: | 951 setmarks: |
1807 changed_lines(oap->start.lnum + 1, 0, oap->end.lnum + 1, 0L); | 1808 changed_lines(oap->start.lnum + 1, 0, oap->end.lnum + 1, 0L); |
1808 } | 1809 } |
1809 vim_free(ins_text); | 1810 vim_free(ins_text); |
1810 } | 1811 } |
1811 } | 1812 } |
1813 auto_format(FALSE, TRUE); | |
1812 | 1814 |
1813 return retval; | 1815 return retval; |
1814 } | 1816 } |
1815 | 1817 |
1816 /* | 1818 /* |