diff --git a/src/ex_docmd.c b/src/ex_docmd.c index bd3de8ff8f..85747d5f4c 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -3324,6 +3324,14 @@ find_ex_command( return eap->cmd; } } + + // Recognize using a type for a w:, b:, t: or g: variable: + // "w:varname: number = 123". + if (eap->cmd[1] == ':' && *p == ':') + { + eap->cmdidx = CMD_eval; + return eap->cmd; + } } #endif diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim index fd572d742f..d7464856b3 100644 --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -376,6 +376,15 @@ def Test_assignment_failure() call assert_fails('s/^/\=Mess()/n', 'E794:') call CheckDefFailure(['let var: dict