From cf619daa8e0ef9a335f27f65eb74e422a17d4f92 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 1 Sep 2015 20:53:24 +0200 Subject: patch 7.4.853 Problem: "zt" in diff mode does not always work properly. (Gary Johnson) Solution: Don't count filler lines twice. (Christian Brabandt) --- src/move.c | 12 +++++++----- src/version.c | 2 ++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/move.c b/src/move.c index 0242fefa6..594f9acf5 100644 --- a/src/move.c +++ b/src/move.c @@ -1732,7 +1732,7 @@ scroll_cursor_top(min_scroll, always) * - at least 'scrolloff' lines above and below the cursor */ validate_cheight(); - used = curwin->w_cline_height; + used = curwin->w_cline_height; /* includes filler lines above */ if (curwin->w_cursor.lnum < curwin->w_topline) scrolled = used; @@ -1751,10 +1751,12 @@ scroll_cursor_top(min_scroll, always) new_topline = top + 1; #ifdef FEAT_DIFF - /* count filler lines of the cursor window as context */ - i = diff_check_fill(curwin, curwin->w_cursor.lnum); - used += i; - extra += i; + /* used already contains the number of filler lines above, don't add it + * again. + * TODO: if filler lines above new top are to be considered as context for + * the current window, leave next statement commented, else hide filler + * lines above cursor line, by adding them to extra */ + /* extra += diff_check_fill(curwin, curwin->w_cursor.lnum); */ #endif /* diff --git a/src/version.c b/src/version.c index 2aa380747..7b0ad1b98 100644 --- a/src/version.c +++ b/src/version.c @@ -741,6 +741,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 853, /**/ 852, /**/ -- cgit v1.2.1