patch 8.2.2372: confusing error message for wrong :let command
Problem: Confusing error message for wrong :let command.
Solution: Only check for type in Vim9 script.
diff --git a/src/evalvars.c b/src/evalvars.c
index d98d9e4..200fb8f 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1061,7 +1061,8 @@
char_u *
skip_var_one(char_u *arg, int include_type)
{
- char_u *end;
+ char_u *end;
+ int vim9 = in_vim9script();
if (*arg == '@' && arg[1] != NUL)
return arg + 2;
@@ -1070,10 +1071,10 @@
// "a: type" is declaring variable "a" with a type, not "a:".
// Same for "s: type".
- if (end == arg + 2 && end[-1] == ':')
+ if (vim9 && end == arg + 2 && end[-1] == ':')
--end;
- if (include_type && in_vim9script())
+ if (include_type && vim9)
{
if (*end == ':')
end = skip_type(skipwhite(end + 1), FALSE);