aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJurica Bradaric <jbradaric@gmail.com>2016-02-09 23:44:16 +0100
committerJurica Bradaric <jbradaric@gmail.com>2016-02-09 23:51:28 +0100
commit37288e522a0efae191b85ae5c73996cefa74315e (patch)
tree47c5260af90b5dc27a01eabca8e558bd112ca323
parent84281bf675f77f417d26a68611406ef43fd82f7f (diff)
downloadrneovim-37288e522a0efae191b85ae5c73996cefa74315e.tar.gz
rneovim-37288e522a0efae191b85ae5c73996cefa74315e.tar.bz2
rneovim-37288e522a0efae191b85ae5c73996cefa74315e.zip
vim-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) https://github.com/vim/vim/commit/cf619daa8e0ef9a335f27f65eb74e422a17d4f92
-rw-r--r--src/nvim/move.c15
-rw-r--r--src/nvim/version.c2
2 files changed, 11 insertions, 6 deletions
diff --git a/src/nvim/move.c b/src/nvim/move.c
index eb55397511..64f7b27cf2 100644
--- a/src/nvim/move.c
+++ b/src/nvim/move.c
@@ -1288,9 +1288,10 @@ void scroll_cursor_top(int min_scroll, int always)
* - at least 'scrolloff' lines above and below the cursor
*/
validate_cheight();
- int used = curwin->w_cline_height;
- if (curwin->w_cursor.lnum < curwin->w_topline)
+ int used = curwin->w_cline_height; // includes filler lines above
+ if (curwin->w_cursor.lnum < curwin->w_topline) {
scrolled = used;
+ }
if (hasFolding(curwin->w_cursor.lnum, &top, &bot)) {
--top;
@@ -1301,9 +1302,13 @@ void scroll_cursor_top(int min_scroll, int always)
}
new_topline = top + 1;
- /* count filler lines of the cursor window as context */
- int extra = diff_check_fill(curwin, curwin->w_cursor.lnum);
- used += extra;
+ // 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
+ // int extra += diff_check_fill(curwin, curwin->w_cursor.lnum);
+ int extra = 0;
/*
* Check if the lines from "top" to "bot" fit in the window. If they do,
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 487f3fc27b..74b45cea53 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -435,7 +435,7 @@ static int included_patches[] = {
// 856,
// 855 NA
// 854 NA
- // 853,
+ 853,
// 852 NA
// 851 NA
// 850 NA