summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/testdir/test_vim9_script.vim4
-rw-r--r--src/version.c2
-rw-r--r--src/vim9compile.c5
3 files changed, 9 insertions, 2 deletions
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 6c8f1f0ce..58e214c7b 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -2032,6 +2032,10 @@ enddef
def Test_echowindow_cmd()
var local = 'local'
echowindow 'something' local # comment
+
+ # with modifier
+ unsilent echowin 'loud'
+
# output goes in message window
popup_clear()
enddef
diff --git a/src/version.c b/src/version.c
index 4017c4720..662835ebf 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 811,
+/**/
810,
/**/
809,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 73bfa6c6a..fb66a7880 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -2712,8 +2712,9 @@ get_cmd_count(char_u *line, exarg_T *eap)
;
if (!isdigit(*p))
{
- // the command must be following
- if (p < eap->cmd)
+ // The command or modifiers must be following. Assume a lower case
+ // character means there is a modifier.
+ if (p < eap->cmd && !vim_islower(*p))
{
emsg(_(e_invalid_range));
return -1;