Mercurial > vim
changeset 6535:f9d02ce2f745 v7.4.594
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)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Tue, 27 Jan 2015 13:22:20 +0100 |
parents | 47b3f1674787 |
children | 9d13989414cf |
files | src/ops.c src/testdir/test_breakindent.in src/testdir/test_breakindent.ok src/version.c |
diffstat | 4 files changed, 30 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ops.c +++ b/src/ops.c @@ -5308,10 +5308,7 @@ block_prep(oap, bdp, lnum, is_del) { /* Count a tab for what it's worth (if list mode not on) */ prev_pend = pend; - /* TODO: is passing prev_pend for start of the line OK? - * perhaps it should be "line". */ - incr = lbr_chartabsize_adv(prev_pend, &pend, - (colnr_T)bdp->end_vcol); + incr = lbr_chartabsize_adv(line, &pend, (colnr_T)bdp->end_vcol); bdp->end_vcol += incr; } if (bdp->end_vcol <= oap->end_vcol
--- a/src/testdir/test_breakindent.in +++ b/src/testdir/test_breakindent.in @@ -99,6 +99,23 @@ fygjyl:let line2 = @0 :$put =line1 :$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 :qa! ENDTEST