patch 8.2.2681: Vim9: test fails for redeclaring script variable
Problem: Vim9: test fails for redeclaring script variable.
Solution: It's OK to assign to an existing script variable in legacy.
diff --git a/src/evalvars.c b/src/evalvars.c
index a482453..67abdcb 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -3219,16 +3219,17 @@
goto failed;
}
+ if (is_script_local && vim9script
+ && (flags & (ASSIGN_NO_DECL | ASSIGN_DECL)) == 0)
+ {
+ semsg(_(e_redefining_script_item_str), name);
+ goto failed;
+ }
+
if (var_in_vim9script)
{
where_T where;
- if ((flags & (ASSIGN_NO_DECL | ASSIGN_DECL)) == 0)
- {
- semsg(_(e_redefining_script_item_str), name);
- goto failed;
- }
-
// check the type and adjust to bool if needed
where.wt_index = var_idx;
where.wt_variable = TRUE;
diff --git a/src/version.c b/src/version.c
index d448b94..104073d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2681,
+/**/
2680,
/**/
2679,