summaryrefslogtreecommitdiff
path: root/src/ex_docmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ex_docmd.c')
-rw-r--r--src/ex_docmd.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 9409d7c5e..0bb5142d7 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1737,7 +1737,7 @@ do_one_cmd(
int starts_with_colon = FALSE;
#ifdef FEAT_EVAL
int may_have_range;
- int vim9script = in_vim9script();
+ int vim9script;
int did_set_expr_line = FALSE;
#endif
int sourcing = flags & DOCMD_VERBOSE;
@@ -1785,7 +1785,7 @@ do_one_cmd(
if (parse_command_modifiers(&ea, &errormsg, &cmdmod, FALSE) == FAIL)
goto doend;
apply_cmdmod(&cmdmod);
-
+ vim9script = in_vim9script();
after_modifier = ea.cmd;
#ifdef FEAT_EVAL
@@ -2933,6 +2933,17 @@ parse_command_modifiers(
cmod->cmod_split |= WSP_VERT;
continue;
}
+ if (checkforcmd(&eap->cmd, "vim9cmd", 4))
+ {
+ if (ends_excmd2(p, eap->cmd))
+ {
+ *errormsg =
+ _(e_vim9cmd_must_be_followed_by_command);
+ return FAIL;
+ }
+ cmod->cmod_flags |= CMOD_VIM9CMD;
+ continue;
+ }
if (!checkforcmd(&p, "verbose", 4))
break;
if (vim_isdigit(*eap->cmd))