# HG changeset patch # User Bram Moolenaar # Date 1609270206 -3600 # Node ID a6b6bcc004f21d84f44884473491b5e6fc2c7c26 # Parent 370b7b1726a36838bc93951941450fd0911fbae4 patch 8.2.2245: Vim9: return value of winrestcmd() cannot be executed Commit: https://github.com/vim/vim/commit/285b15fce164ade8b1537b884cc15aebaa60e9ef Author: Bram Moolenaar Date: Tue Dec 29 20:25:19 2020 +0100 patch 8.2.2245: Vim9: return value of winrestcmd() cannot be executed Problem: Vim9: return value of winrestcmd() cannot be executed. Solution: Put colons before each range. (closes https://github.com/vim/vim/issues/7571) diff --git a/src/evalwindow.c b/src/evalwindow.c --- a/src/evalwindow.c +++ b/src/evalwindow.c @@ -1010,9 +1010,9 @@ f_winrestcmd(typval_T *argvars UNUSED, t ga_init2(&ga, (int)sizeof(char), 70); FOR_ALL_WINDOWS(wp) { - sprintf((char *)buf, "%dresize %d|", winnr, wp->w_height); + sprintf((char *)buf, ":%dresize %d|", winnr, wp->w_height); ga_concat(&ga, buf); - sprintf((char *)buf, "vert %dresize %d|", winnr, wp->w_width); + sprintf((char *)buf, "vert :%dresize %d|", winnr, wp->w_width); ga_concat(&ga, buf); ++winnr; } diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim --- a/src/testdir/test_vim9_builtin.vim +++ b/src/testdir/test_vim9_builtin.vim @@ -716,5 +716,15 @@ def Test_win_splitmove() close enddef +def Test_winrestcmd() + split + var cmd = winrestcmd() + wincmd _ + exe cmd + assert_equal(cmd, winrestcmd()) + close +enddef + + " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker 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 */ /**/ + 2245, +/**/ 2244, /**/ 2243,