diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-03-24 20:08:12 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-03-24 20:08:12 +0100 |
commit | 1ff89deeaa07a161afbe91f57c340f3758d34f49 (patch) | |
tree | 28243c15cb05fa45c226be2b3c96c097ea616c1e | |
parent | c54f347d63bcca97ead673d01ac6b59914bb04e5 (diff) |
patch 8.2.2649: Vim9: some wincmd arguments cause a white space errorv8.2.2649
Problem: Vim9: some wincmd arguments cause a white space error.
Solution: Insert a space before the count. (closes #8001)
-rw-r--r-- | src/testdir/test_vim9_cmd.vim | 21 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/window.c | 7 |
3 files changed, 26 insertions, 4 deletions
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim index c21e55a477..c276a7e6f5 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 b2b0beb731..0e02deb70b 100644 --- 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 index 3e32b3759e..3a68762a59 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); } /* |