diff src/window.c @ 16690:4e3c4e8e465c v8.1.1347

patch 8.1.1347: fractional scroll position not restored after closing window commit https://github.com/vim/vim/commit/bd2d68c2f42c7689f681aeaf82606d17f8a0312f Author: Bram Moolenaar <Bram@vim.org> Date: Sat May 18 15:36:11 2019 +0200 patch 8.1.1347: fractional scroll position not restored after closing window Problem: Fractional scroll position not restored after closing window. Solution: Do restore fraction if topline is not one.
author Bram Moolenaar <Bram@vim.org>
date Sat, 18 May 2019 15:45:05 +0200
parents 06fd0eaada01
children 695d9ef00b03
line wrap: on
line diff
--- a/src/window.c
+++ b/src/window.c
@@ -5830,10 +5830,11 @@ scroll_to_fraction(win_T *wp, int prev_h
     // Don't change w_topline in any of these cases:
     // - window height is 0
     // - 'scrollbind' is set and this isn't the current window
-    // - window height is sufficient to display the whole buffer
+    // - window height is sufficient to display the whole buffer and first line
+    //   is visible.
     if (height > 0
         && (!wp->w_p_scb || wp == curwin)
-        && (height < wp->w_buffer->b_ml.ml_line_count))
+        && (height < wp->w_buffer->b_ml.ml_line_count || wp->w_topline > 1))
     {
 	/*
 	 * Find a value for w_topline that shows the cursor at the same