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)
diff --git a/src/move.c b/src/move.c
index 0242fef..594f9ac 100644
--- a/src/move.c
+++ b/src/move.c
@@ -1732,7 +1732,7 @@
* - 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 @@
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 2aa3807..7b0ad1b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 853,
+/**/
852,
/**/
851,