patch 8.2.1011: Vim9: some code not tested
Problem: Vim9: some code not tested.
Solution: Add a few more test cases. Reorder checks for clearer error.
Remove unreachable code.
diff --git a/src/evalvars.c b/src/evalvars.c
index 0a0bbc4..fa52e96 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -2886,10 +2886,6 @@
return;
}
- if (var_check_ro(di->di_flags, name, FALSE)
- || var_check_lock(di->di_tv.v_lock, name, FALSE))
- return;
-
if (is_script_local
&& current_sctx.sc_version == SCRIPT_VERSION_VIM9)
{
@@ -2900,8 +2896,13 @@
}
// check the type
- check_script_var_type(&di->di_tv, tv, name);
+ if (check_script_var_type(&di->di_tv, tv, name) == FAIL)
+ return;
}
+
+ if (var_check_ro(di->di_flags, name, FALSE)
+ || var_check_lock(di->di_tv.v_lock, name, FALSE))
+ return;
}
else
// can only redefine once