home *** CD-ROM | disk | FTP | other *** search
- To: vim_dev@googlegroups.com
- Subject: Patch 7.4.085
- Fcc: outbox
- From: Bram Moolenaar <Bram@moolenaar.net>
- Mime-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
- ------------
-
- Patch 7.4.085
- Problem: When inserting text in Visual block mode and moving the cursor the
- wrong text gets repeated in other lines.
- Solution: Use the '[ mark to find the start of the actually inserted text.
- (Christian Brabandt)
- Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok
-
-
- *** ../vim-7.4.084/src/ops.c 2013-11-05 07:12:59.000000000 +0100
- --- src/ops.c 2013-11-11 01:23:14.000000000 +0100
- ***************
- *** 2640,2645 ****
- --- 2640,2670 ----
- {
- struct block_def bd2;
-
- + /* 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)
- + {
- + if (oap->op_type == OP_INSERT
- + && oap->start.col != curbuf->b_op_start.col)
- + {
- + oap->start.col = curbuf->b_op_start.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->start.col = curbuf->b_op_start.col;
- + /* reset pre_textlen to the value of OP_INSERT */
- + pre_textlen += bd.textlen;
- + pre_textlen -= getviscol2(oap->start.col, oap->start.coladd)
- + - oap->start_vcol;
- + oap->start_vcol = getviscol2(oap->start.col, oap->start.coladd);
- + oap->op_type = OP_INSERT;
- + }
- + }
- +
- /*
- * Spaces and tabs in the indent may have changed to other spaces and
- * tabs. Get the starting column again and correct the length.
- *** ../vim-7.4.084/src/testdir/test39.in 2013-11-04 01:41:11.000000000 +0100
- --- src/testdir/test39.in 2013-11-11 01:20:51.000000000 +0100
- ***************
- *** 19,24 ****
- --- 19,28 ----
- :" Test block-change
- G$khhhhhkkcmno
- :$-4,$w! test.out
- + :" Test block-insert using cursor keys for movement
- + /^aaaa/
- + :exe ":norm! l\<C-V>jjjlllI\<Right>\<Right> \<Esc>"
- + :/^aa/,/^$/w >> test.out
- :" gUe must uppercase a whole word, also when ▀ changes to SS
- Gothe youtu▀euu endYpk0wgUe
- :" gUfx must uppercase until x, inclusive.
- ***************
- *** 40,45 ****
- --- 44,54 ----
- :qa!
- ENDTEST
-
- + aaaaaa
- + bbbbbb
- + cccccc
- + dddddd
- +
- abcdefghijklm
- abcdefghijklm
- abcdefghijklm
- *** ../vim-7.4.084/src/testdir/test39.ok 2013-11-04 01:41:11.000000000 +0100
- --- src/testdir/test39.ok 2013-11-11 01:20:51.000000000 +0100
- ***************
- *** 3,8 ****
- --- 3,13 ----
- axyzqqqqef mno ghijklm
- axyzqqqqefgmnoklm
- abcdqqqqijklm
- + aaa aaa
- + bbb bbb
- + ccc ccc
- + ddd ddd
- +
- the YOUTUSSEUU end
- - yOUSSTUSSEXu -
- THE YOUTUSSEUU END
- *** ../vim-7.4.084/src/version.c 2013-11-11 01:05:43.000000000 +0100
- --- src/version.c 2013-11-11 01:18:01.000000000 +0100
- ***************
- *** 740,741 ****
- --- 740,743 ----
- { /* Add new patch number below this line */
- + /**/
- + 85,
- /**/
-
- --
- SOLDIER: What? Ridden on a horse?
- ARTHUR: Yes!
- SOLDIER: You're using coconuts!
- "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
- /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
- \\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
-