0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

updated for version 7.4.594

Problem:    Using a block delete while 'breakindent' is set does not work
            properly.
Solution:   Use "line" instead of "prev_pend" as the first argument to
            lbr_chartabsize_adv().  (Hirohito Higashi)
This commit is contained in:
Bram Moolenaar
2015-01-27 13:22:20 +01:00
parent e0ad365498
commit 1dc92334eb
4 changed files with 30 additions and 4 deletions

View File

@@ -5308,10 +5308,7 @@ block_prep(oap, bdp, lnum, is_del)
{ {
/* Count a tab for what it's worth (if list mode not on) */ /* Count a tab for what it's worth (if list mode not on) */
prev_pend = pend; prev_pend = pend;
/* TODO: is passing prev_pend for start of the line OK? incr = lbr_chartabsize_adv(line, &pend, (colnr_T)bdp->end_vcol);
* perhaps it should be "line". */
incr = lbr_chartabsize_adv(prev_pend, &pend,
(colnr_T)bdp->end_vcol);
bdp->end_vcol += incr; bdp->end_vcol += incr;
} }
if (bdp->end_vcol <= oap->end_vcol if (bdp->end_vcol <= oap->end_vcol

View File

@@ -99,6 +99,23 @@ fygjyl:let line2 = @0
:$put =line1 :$put =line1
:$put =line2 :$put =line2
:" :"
:let g:test="Test 14: breakindent + visual blockwise delete #1"
:set all& breakindent
:30vnew
:normal! 3a1234567890
:normal! a abcde
:exec "normal! 0\<C-V>tex"
:let line1=ScreenChar(line('.'),8)
:call DoRecordScreen()
:"
:let g:test="Test 15: breakindent + visual blockwise delete #2"
:%d
:normal! 4a1234567890
:exec "normal! >>\<C-V>3f0x"
:let line1=ScreenChar(line('.'),20)
:call DoRecordScreen()
:quit!
:"
:%w! test.out :%w! test.out
:qa! :qa!
ENDTEST ENDTEST

View File

@@ -62,3 +62,13 @@ strdisplaywidth: 46 == calculated: 64
Test 13: breakindent with wrapping Tab Test 13: breakindent with wrapping Tab
d d
w w
Test 14: breakindent + visual blockwise delete #1
e
~
~
Test 15: breakindent + visual blockwise delete #2
1234567890
~
~

View File

@@ -741,6 +741,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
594,
/**/ /**/
593, 593,
/**/ /**/