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 #7571)
diff --git a/src/evalwindow.c b/src/evalwindow.c
index 884f409..492269e 100644
--- a/src/evalwindow.c
+++ b/src/evalwindow.c
@@ -1010,9 +1010,9 @@
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
index 4abdcdb..3fd3e6d 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -716,5 +716,15 @@
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
index 20bd86f..bee026c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2245,
+/**/
2244,
/**/
2243,