# HG changeset patch # User Bram Moolenaar # Date 1616613304 -3600 # Node ID 77cb22562852689dda179f571739542922bb2e4f # Parent 34ce0274f6f315b3ae3a01e38868922e850cfebb patch 8.2.2649: Vim9: some wincmd arguments cause a white space error Commit: https://github.com/vim/vim/commit/1ff89deeaa07a161afbe91f57c340f3758d34f49 Author: Bram Moolenaar Date: Wed Mar 24 20:08:12 2021 +0100 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 https://github.com/vim/vim/issues/8001) diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim --- 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 --- 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 */ /**/ + 2649, +/**/ 2648, /**/ 2647, diff --git a/src/window.c b/src/window.c --- 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); } /*