To: vim_dev@googlegroups.com
Subject: Patch 7.3.708
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.3.708
Problem:    Filler lines above the first line may be hidden when opening Vim.
Solution:   Change how topfill is computed. (Christian Brabandt)
Files:      src/diff.c, src/testdir/test47.in, src/testdir/test47.ok


*** ../vim-7.3.707/src/diff.c	2012-05-18 18:47:11.000000000 +0200
--- src/diff.c	2012-10-21 22:08:44.000000000 +0200
***************
*** 615,625 ****
  #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->w_topfill > n)
  		    wp->w_topfill = (n < 0 ? 0 : n);
  	    }
  	}
  }
--- 615,627 ----
  #endif
  	    /* A change may have made filler lines invalid, need to take care
  	     * of that for other windows. */
! 	    n = diff_check(wp, wp->w_topline);
! 	    if ((wp != curwin && wp->w_topfill > 0) || n > 0)
  	    {
  		if (wp->w_topfill > n)
  		    wp->w_topfill = (n < 0 ? 0 : n);
+ 		else if (n > 0 && n > wp->w_topfill)
+ 		    wp->w_topfill = n;
  	    }
  	}
  }
*** ../vim-7.3.707/src/testdir/test47.in	2010-08-15 21:57:29.000000000 +0200
--- src/testdir/test47.in	2012-10-21 22:08:44.000000000 +0200
***************
*** 36,42 ****
  :call append("$", two)
  :call append("$", three)
  :$-2,$w! test.out
! :unlet one two three
  :qa!
  ENDTEST
  
--- 36,57 ----
  :call append("$", two)
  :call append("$", three)
  :$-2,$w! test.out
! :" 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
  
*** ../vim-7.3.707/src/testdir/test47.ok	2010-08-15 21:57:29.000000000 +0200
--- src/testdir/test47.ok	2012-10-21 22:08:44.000000000 +0200
***************
*** 1,3 ****
--- 1,4 ----
  2-4-5-6-8-9
  1-2-4-5-8
  2-3-4-5-6-7-8
+ 1
*** ../vim-7.3.707/src/version.c	2012-10-21 21:38:42.000000000 +0200
--- src/version.c	2012-10-21 22:10:42.000000000 +0200
***************
*** 727,728 ****
--- 727,730 ----
  {   /* Add new patch number below this line */
+ /**/
+     708,
  /**/

-- 
At some point in the project somebody will start whining about the need to
determine the project "requirements".  This involves interviewing people who
don't know what they want but, curiously, know exactly when they need it.
				(Scott Adams - The Dilbert principle)

 /// 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    ///
