mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 7.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.
This commit is contained in:
12
src/window.c
12
src/window.c
@@ -5674,8 +5674,6 @@ set_fraction(win_T *wp)
|
||||
void
|
||||
win_new_height(win_T *wp, int height)
|
||||
{
|
||||
linenr_T lnum;
|
||||
int sline, line_size;
|
||||
int prev_height = wp->w_height;
|
||||
|
||||
/* Don't want a negative height. Happens when splitting a tiny window.
|
||||
@@ -5701,6 +5699,16 @@ win_new_height(win_T *wp, int height)
|
||||
wp->w_height = height;
|
||||
wp->w_skipcol = 0;
|
||||
|
||||
scroll_to_fraction(wp, prev_height);
|
||||
}
|
||||
|
||||
void
|
||||
scroll_to_fraction(win_T *wp, int prev_height)
|
||||
{
|
||||
linenr_T lnum;
|
||||
int sline, line_size;
|
||||
int height = wp->w_height;
|
||||
|
||||
/* Don't change w_topline when height is zero. Don't set w_topline when
|
||||
* 'scrollbind' is set and this isn't the current window. */
|
||||
if (height > 0
|
||||
|
Reference in New Issue
Block a user