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.
diff --git a/src/diff.c b/src/diff.c
index 35e29fc..05ca7ac 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -1075,6 +1075,10 @@
#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 @@
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);
}
}
}