aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/window.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-05-18 18:54:25 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-10-01 22:27:44 -0400
commit90c2abc53faed9aab8ad71395068e7b09d6dea85 (patch)
tree7faf46e1c6ea015a9adbfdb40e9692e47d73f702 /src/nvim/window.c
parent6ed20ff25cd738ab2b9e79af8e3a9c37ba52dbcf (diff)
downloadrneovim-90c2abc53faed9aab8ad71395068e7b09d6dea85.tar.gz
rneovim-90c2abc53faed9aab8ad71395068e7b09d6dea85.tar.bz2
rneovim-90c2abc53faed9aab8ad71395068e7b09d6dea85.zip
vim-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. https://github.com/vim/vim/commit/bd2d68c2f42c7689f681aeaf82606d17f8a0312f
Diffstat (limited to 'src/nvim/window.c')
-rw-r--r--src/nvim/window.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/nvim/window.c b/src/nvim/window.c
index 1f23646bdf..4d8eaa9dcc 100644
--- a/src/nvim/window.c
+++ b/src/nvim/window.c
@@ -5613,10 +5613,11 @@ void scroll_to_fraction(win_T *wp, int prev_height)
// 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