From cb4eb1b33b96788f013ec23ddb554027b63382fd Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sat, 18 Apr 2026 21:53:28 -0400 Subject: [PATCH 1/2] vim-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 vim/vim#7571) https://github.com/vim/vim/commit/285b15fce164ade8b1537b884cc15aebaa60e9ef Co-authored-by: Bram Moolenaar --- src/nvim/eval/window.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nvim/eval/window.c b/src/nvim/eval/window.c index 5b4b371f01..2c22f0a97d 100644 --- a/src/nvim/eval/window.c +++ b/src/nvim/eval/window.c @@ -869,10 +869,10 @@ void f_winrestcmd(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) continue; } size_t buflen = vim_snprintf_safelen(buf, sizeof(buf), - "%dresize %d|", winnr, wp->w_height); + ":%dresize %d|", winnr, wp->w_height); ga_concat_len(&ga, buf, buflen); buflen = vim_snprintf_safelen(buf, sizeof(buf), - "vert %dresize %d|", winnr, wp->w_width); + "vert :%dresize %d|", winnr, wp->w_width); ga_concat_len(&ga, buf, buflen); winnr++; } From 9ded2fb7c8fa71837777ddd99321b24d2cb70649 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sat, 18 Apr 2026 22:10:20 -0400 Subject: [PATCH 2/2] vim-patch:8.2.3024: execute() function test fails Problem: execute() function test fails. Solution: Adjust test for different error. https://github.com/vim/vim/commit/2fb1b89d721682585228f9a6ee7da4b6d3c6634d Co-authored-by: Bram Moolenaar --- test/old/testdir/test_execute_func.vim | 2 +- test/old/testdir/vim9.vim | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/test/old/testdir/test_execute_func.vim b/test/old/testdir/test_execute_func.vim index 1f6492b994..1b3e8ba314 100644 --- a/test/old/testdir/test_execute_func.vim +++ b/test/old/testdir/test_execute_func.vim @@ -45,7 +45,7 @@ func Test_execute_string() if has('float') call assert_fails('call execute(3.4)', 'E492:') call assert_equal("\nx", execute("echo \"x\"", 3.4)) - call CheckDefExecAndScriptFailure(['execute("echo \"x\"", 3.4)'], 'E806:') + call CheckDefExecAndScriptFailure2(['execute("echo \"x\"", 3.4)'], 'E1013: Argument 2: type mismatch, expected string but got float', 'E806:') endif endfunc diff --git a/test/old/testdir/vim9.vim b/test/old/testdir/vim9.vim index 1a4ade3417..66e157cfa2 100644 --- a/test/old/testdir/vim9.vim +++ b/test/old/testdir/vim9.vim @@ -58,6 +58,11 @@ func CheckDefExecAndScriptFailure(lines, error, lnum = -3) return endfunc +" As CheckDefExecAndScriptFailure() but with two different expected errors. +func CheckDefExecAndScriptFailure2(lines, errorDef, errorScript, lnum = -3) + return +endfunc + " Check that "lines" inside a legacy function has no error. func CheckLegacySuccess(lines) let cwd = getcwd()