# HG changeset patch # User Bram Moolenaar # Date 1602949504 -7200 # Node ID f773ac13c093c27cb9cb0bd19eb90917a41aad53 # Parent 18958d4b31d1de284084b6e5209456afbeb3c47e patch 8.2.1856: "2resize" uses size of current window Commit: https://github.com/vim/vim/commit/9668cc57a1e70c99163f90f58202e206d12f40c8 Author: Bram Moolenaar Date: Sat Oct 17 17:39:55 2020 +0200 patch 8.2.1856: "2resize" uses size of current window Problem: "2resize" uses size of current window. Solution: Use size of resized window. (Yasuhiro Matsumoto, closes https://github.com/vim/vim/issues/7152) diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -6365,7 +6365,7 @@ ex_resize(exarg_T *eap) if (cmdmod.split & WSP_VERT) { if (*eap->arg == '-' || *eap->arg == '+') - n += curwin->w_width; + n += wp->w_width; else if (n == 0 && eap->arg[0] == NUL) // default is very wide n = 9999; win_setwidth_win((int)n, wp); @@ -6373,7 +6373,7 @@ ex_resize(exarg_T *eap) else { if (*eap->arg == '-' || *eap->arg == '+') - n += curwin->w_height; + n += wp->w_height; else if (n == 0 && eap->arg[0] == NUL) // default is very high n = 9999; win_setheight_win((int)n, wp); diff --git a/src/testdir/test_window_cmd.vim b/src/testdir/test_window_cmd.vim --- a/src/testdir/test_window_cmd.vim +++ b/src/testdir/test_window_cmd.vim @@ -1144,6 +1144,10 @@ func Test_window_resize() exe other_winnr .. 'resize 10' call assert_equal(10, winheight(other_winnr)) call assert_equal(&lines - 10 - 3, winheight(0)) + exe other_winnr .. 'resize +1' + exe other_winnr .. 'resize +1' + call assert_equal(12, winheight(other_winnr)) + call assert_equal(&lines - 10 - 3 -2, winheight(0)) %bwipe! endfunc diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1856, +/**/ 1855, /**/ 1854,