diff options
author | Bram Moolenaar <bram@vim.org> | 2012-10-21 22:18:21 +0200 |
---|---|---|
committer | Bram Moolenaar <bram@vim.org> | 2012-10-21 22:18:21 +0200 |
commit | 4276d6879ce70cdecebdaf9e01042cc33cfa582a (patch) | |
tree | 1777d0a35d3a2c7f743b179b8ea56cce821b0ad9 | |
parent | ecd908948ea832e1a021628e577df5ed8a688499 (diff) | |
download | vim-7.3.708.tar.gz |
Problem: Filler lines above the first line may be hidden when opening Vim.
Solution: Change how topfill is computed. (Christian Brabandt)
-rw-r--r-- | src/diff.c | 6 | ||||
-rw-r--r-- | src/testdir/test47.in | 17 | ||||
-rw-r--r-- | src/testdir/test47.ok | 1 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 23 insertions, 3 deletions
@@ -615,11 +615,13 @@ diff_redraw(dofold) #endif /* A change may have made filler lines invalid, need to take care * of that for other windows. */ - if (wp != curwin && wp->w_topfill > 0) + n = diff_check(wp, wp->w_topline); + if ((wp != curwin && wp->w_topfill > 0) || n > 0) { - n = diff_check(wp, wp->w_topline); if (wp->w_topfill > n) wp->w_topfill = (n < 0 ? 0 : n); + else if (n > 0 && n > wp->w_topfill) + wp->w_topfill = n; } } } diff --git a/src/testdir/test47.in b/src/testdir/test47.in index c87387b2..13ad8246 100644 --- a/src/testdir/test47.in +++ b/src/testdir/test47.in @@ -36,7 +36,22 @@ j:let three = three . "-" . winline() :call append("$", two) :call append("$", three) :$-2,$w! test.out -:unlet one two three +:" Test that diffing shows correct filler lines +:diffoff! +:windo :bw! +:enew +:put =range(4,10) +:1d _ +:vnew +:put =range(1,10) +:1d _ +:windo :diffthis +:wincmd h +:let w0=line('w0') +:enew +:put =w0 +:.w >> test.out +:unlet! one two three w0 :qa! ENDTEST diff --git a/src/testdir/test47.ok b/src/testdir/test47.ok index 3307b934..b1cba92b 100644 --- a/src/testdir/test47.ok +++ b/src/testdir/test47.ok @@ -1,3 +1,4 @@ 2-4-5-6-8-9 1-2-4-5-8 2-3-4-5-6-7-8 +1 diff --git a/src/version.c b/src/version.c index 4631c720..ddd39342 100644 --- a/src/version.c +++ b/src/version.c @@ -726,6 +726,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 708, +/**/ 707, /**/ 706, |