From 43e969d3f98766824c18d20b84f2fab00feef683 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 23 Jul 2020 21:14:43 +0200 Subject: [PATCH] patch 8.2.1286: Vim9: No error when using a type to a window variable Problem: Vim9: No error when using a type to a window variable Solution: Recognize the syntax and give an error. (closes #6521) --- src/ex_docmd.c | 8 ++++++++ src/testdir/test_vim9_script.vim | 9 +++++++++ src/version.c | 2 ++ 3 files changed, 19 insertions(+) diff --git a/src/ex_docmd.c b/src/ex_docmd.c index bd3de8ff8..85747d5f4 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 fd572d742..d7464856b 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