From: Bram Moolenaar Date: Wed, 24 Mar 2021 19:08:12 +0000 (+0100) Subject: patch 8.2.2649: Vim9: some wincmd arguments cause a white space error X-Git-Tag: v8.2.2649 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1ff89deeaa07a161afbe91f57c340f3758d34f49;p=vim patch 8.2.2649: Vim9: some wincmd arguments cause a white space error Problem: Vim9: some wincmd arguments cause a white space error. Solution: Insert a space before the count. (closes #8001) --- diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim index c21e55a47..c276a7e6f 100644 --- a/src/testdir/test_vim9_cmd.vim +++ b/src/testdir/test_vim9_cmd.vim @@ -1056,6 +1056,27 @@ def Test_wincmd() endif assert_notequal(id1, win_getid()) close + + split + var id = win_getid() + split + :2wincmd o + assert_equal(id, win_getid()) + only + + split + split + assert_equal(3, winnr('$')) + :2wincmd c + assert_equal(2, winnr('$')) + only + + split + split + assert_equal(3, winnr('$')) + :2wincmd q + assert_equal(2, winnr('$')) + only enddef def Test_windo_missing_endif() diff --git a/src/version.c b/src/version.c index b2b0beb73..0e02deb70 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2649, /**/ 2648, /**/ diff --git a/src/window.c b/src/window.c index 3e32b3759..3a68762a5 100644 --- a/src/window.c +++ b/src/window.c @@ -750,11 +750,10 @@ cmd_with_count( size_t bufsize, long Prenum) { - size_t len = STRLEN(cmd); - - STRCPY(bufp, cmd); if (Prenum > 0) - vim_snprintf((char *)bufp + len, bufsize - len, "%ld", Prenum); + vim_snprintf((char *)bufp, bufsize, "%s %ld", cmd, Prenum); + else + STRCPY(bufp, cmd); } /*