diff src/vim9compile.c @ 27968:40c6e5f849dc v8.2.4509

patch 8.2.4509: Vim9: can declare a variable with ":va" Commit: https://github.com/vim/vim/commit/e1d1211799bc37c063666e97437cf4e9af4782b0 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 5 11:37:48 2022 +0000 patch 8.2.4509: Vim9: can declare a variable with ":va" Problem: Vim9: can declare a variable with ":va". Solution: Disallow using ":va", require using ":var".
author Bram Moolenaar <Bram@vim.org>
date Sat, 05 Mar 2022 12:45:03 +0100
parents 6a0ecde89d35
children 212c5894b8b1
line wrap: on
line diff
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -1883,7 +1883,14 @@ compile_assignment(char_u *arg, exarg_T 
     lhs_T	lhs;
     long	start_lnum = SOURCING_LNUM;
 
-    // Skip over the "var" or "[var, var]" to get to any "=".
+    p = eap->cmd;
+    if (eap->cmdidx == CMD_var && arg > p && !checkforcmd_noparen(&p, "var", 3))
+    {
+	emsg(_(e_must_use_var_instead_of_va));
+	return NULL;
+    }
+
+    // Skip over the "varname" or "[varname, varname]" to get to any "=".
     p = skip_var_list(arg, TRUE, &var_count, &semicolon, TRUE);
     if (p == NULL)
 	return *arg == '[' ? arg : NULL;