diff options
author | Bram Moolenaar <Bram@vim.org> | 2014-02-22 23:03:55 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2014-02-22 23:03:55 +0100 |
commit | b1d90a3d770c5e513e6cad8284a5168ac5535883 (patch) | |
tree | 5cf472c7e8c9b9c43ddabaeef69927364eafdbc5 /src/ops.c | |
parent | 631abc35dfc7ad87255c940fd22eee416c731658 (diff) | |
download | vim-git-b1d90a3d770c5e513e6cad8284a5168ac5535883.tar.gz |
updated for version 7.4.186v7.4.186
Problem: Insert in Visual mode sometimes gives incorrect results.
(Dominique Pelle)
Solution: Remember the original insert start position. (Christian Brabandt,
Dominique Pelle)
Diffstat (limited to 'src/ops.c')
-rw-r--r-- | src/ops.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -2643,20 +2643,20 @@ op_insert(oap, count1) /* The user may have moved the cursor before inserting something, try * to adjust the block for that. */ - if (oap->start.lnum == curbuf->b_op_start.lnum && !bd.is_MAX) + if (oap->start.lnum == curbuf->b_op_start_orig.lnum && !bd.is_MAX) { if (oap->op_type == OP_INSERT - && oap->start.col != curbuf->b_op_start.col) + && oap->start.col != curbuf->b_op_start_orig.col) { - oap->start.col = curbuf->b_op_start.col; + oap->start.col = curbuf->b_op_start_orig.col; pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) - oap->start_vcol; oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd); } else if (oap->op_type == OP_APPEND - && oap->end.col >= curbuf->b_op_start.col) + && oap->end.col >= curbuf->b_op_start_orig.col) { - oap->start.col = curbuf->b_op_start.col; + oap->start.col = curbuf->b_op_start_orig.col; /* reset pre_textlen to the value of OP_INSERT */ pre_textlen += bd.textlen; pre_textlen -= getviscol2(oap->start.col, oap->start.coladd) |