summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2012-10-21 22:18:21 +0200
committerBram Moolenaar <bram@vim.org>2012-10-21 22:18:21 +0200
commit4276d6879ce70cdecebdaf9e01042cc33cfa582a (patch)
tree1777d0a35d3a2c7f743b179b8ea56cce821b0ad9
parentecd908948ea832e1a021628e577df5ed8a688499 (diff)
downloadvim-7.3.708.tar.gz
updated for version 7.3.708v7.3.708v7-3-708
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.c6
-rw-r--r--src/testdir/test47.in17
-rw-r--r--src/testdir/test47.ok1
-rw-r--r--src/version.c2
4 files changed, 23 insertions, 3 deletions
diff --git a/src/diff.c b/src/diff.c
index d9aaec82..864e6091 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -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,