void
ex_var(exarg_T *eap)
{
+ char_u *p = eap->cmd;
+
if (!in_vim9script())
{
semsg(_(e_str_cannot_be_used_in_legacy_vim_script), ":var");
return;
}
- if (current_sctx.sc_sid == 0)
+ if (current_sctx.sc_sid == 0 && checkforcmd_noparen(&p, "var", 3))
{
emsg(_(e_cannot_declare_variable_on_command_line));
return;
def Run_test_reject_declaration()
var buf = g:RunVimInTerminal('', {'rows': 6})
term_sendkeys(buf, ":vim9cmd var x: number\<CR>")
- g:VerifyScreenDump(buf, 'Test_vim9_reject_declaration', {})
+ g:VerifyScreenDump(buf, 'Test_vim9_reject_declaration_1', {})
+ term_sendkeys(buf, ":\<CR>")
+ term_sendkeys(buf, ":vim9cmd g:foo = 123 | echo g:foo\<CR>")
+ g:VerifyScreenDump(buf, 'Test_vim9_reject_declaration_2', {})
# clean up
g:StopVimInTerminal(buf)