diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-08-28 15:39:57 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-08-28 15:39:57 +0200 |
commit | 46328f9a1cc8047d1e05095bc9f531038c5a4028 (patch) | |
tree | 6c304ad0ec0fdaafa7e4e490681a959f36ad46f2 /src/diff.c | |
parent | 4427db9bb2f4b4587559eac18cc7ba10c52c6e8b (diff) | |
download | vim-git-46328f9a1cc8047d1e05095bc9f531038c5a4028.tar.gz |
patch 7.4.2279v7.4.2279
Problem: Starting diff mode with the cursor in the last line might end up
only showing one closed fold. (John Beckett)
Solution: Scroll the window to show the same relative cursor position.
Diffstat (limited to 'src/diff.c')
-rw-r--r-- | src/diff.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/diff.c b/src/diff.c index 35e29fcdf..05ca7ac25 100644 --- a/src/diff.c +++ b/src/diff.c @@ -1075,6 +1075,10 @@ ex_diffsplit(exarg_T *eap) #ifdef FEAT_GUI need_mouse_correct = TRUE; #endif + /* Need to compute w_fraction when no redraw happened yet. */ + validate_cursor(); + set_fraction(curwin); + /* don't use a new tab page, each tab page has its own diffs */ cmdmod.tab = 0; @@ -1101,6 +1105,9 @@ ex_diffsplit(exarg_T *eap) curbuf, curwin->w_cursor.lnum); } + /* Now that lines are folded scroll to show the cursor at the same + * relative position. */ + scroll_to_fraction(curwin, curwin->w_height); } } } |