From: Bram Moolenaar Date: Sat, 5 Dec 2015 18:47:04 +0000 (+0100) Subject: patch 7.4.961 X-Git-Tag: v7.4.961 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9dc2ce398bb3456cc8f590ef0260459798b34d2a;p=vim patch 7.4.961 Problem: Test107 fails in some circunstances. Solution: When using "zt", "zb" and "z=" recompute the fraction. --- diff --git a/src/normal.c b/src/normal.c index b9170ace5..89c67d9c8 100644 --- a/src/normal.c +++ b/src/normal.c @@ -4880,6 +4880,7 @@ dozet: case 't': scroll_cursor_top(0, TRUE); redraw_later(VALID); + set_fraction(curwin); break; /* "z." and "zz": put cursor in middle of screen */ @@ -4888,6 +4889,7 @@ dozet: case 'z': scroll_cursor_halfway(TRUE); redraw_later(VALID); + set_fraction(curwin); break; /* "z^", "z-" and "zb": put cursor at bottom of screen */ @@ -4910,6 +4912,7 @@ dozet: case 'b': scroll_cursor_bot(0, TRUE); redraw_later(VALID); + set_fraction(curwin); break; /* "zH" - scroll screen right half-page */ diff --git a/src/proto/window.pro b/src/proto/window.pro index 0d719f0cc..ffead2c80 100644 --- a/src/proto/window.pro +++ b/src/proto/window.pro @@ -53,6 +53,7 @@ void win_setwidth_win __ARGS((int width, win_T *wp)); void win_setminheight __ARGS((void)); void win_drag_status_line __ARGS((win_T *dragwin, int offset)); void win_drag_vsep_line __ARGS((win_T *dragwin, int offset)); +void set_fraction __ARGS((win_T *wp)); void win_new_height __ARGS((win_T *wp, int height)); void win_new_width __ARGS((win_T *wp, int width)); void win_comp_scroll __ARGS((win_T *wp)); diff --git a/src/version.c b/src/version.c index 052bbc9fb..514f8be76 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 */ +/**/ + 961, /**/ 960, /**/ diff --git a/src/window.c b/src/window.c index 010d7ae50..613cc5fb2 100644 --- a/src/window.c +++ b/src/window.c @@ -75,7 +75,6 @@ static int frame_check_width __ARGS((frame_T *topfrp, int width)); #endif /* FEAT_WINDOWS */ static win_T *win_alloc __ARGS((win_T *after, int hidden)); -static void set_fraction __ARGS((win_T *wp)); #define URL_SLASH 1 /* path_is_url() has found "://" */ #define URL_BACKSLASH 2 /* path_is_url() has found ":\\" */ @@ -5828,7 +5827,7 @@ win_drag_vsep_line(dragwin, offset) /* * Set wp->w_fraction for the current w_wrow and w_height. */ - static void + void set_fraction(wp) win_T *wp; {