119 lines
3.5 KiB
Plaintext
119 lines
3.5 KiB
Plaintext
|
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 <20> changes to SS
|
|||
|
Gothe youtu<74>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 ///
|