Problem: Vim9: no check for sandbox when setting v:var.
Solution: Check for sandbox.
clear_tv(tv);
return FAIL;
}
+ // VV_RO is also checked when compiling, but let's check here as well.
+ if (vimvars[idx].vv_flags & VV_RO)
+ {
+ semsg(_(e_readonlyvar), vimvars[idx].vv_name);
+ return FAIL;
+ }
+ if (sandbox && (vimvars[idx].vv_flags & VV_RO_SBX))
+ {
+ semsg(_(e_readonlysbx), vimvars[idx].vv_name);
+ return FAIL;
+ }
clear_tv(&vimvars[idx].vv_di.di_tv);
vimvars[idx].vv_di.di_tv = *tv;
return OK;
assert_equal(5678, nr)
enddef
+def Mess(): string
+ v:foldstart = 123
+ return 'xxx'
+enddef
+
func Test_assignment_failure()
call CheckDefFailure(['let var=234'], 'E1004:')
call CheckDefFailure(['let var =234'], 'E1004:')
call CheckDefFailure(['let var: dict <number>'], 'E1068:')
call CheckDefFailure(['let var: dict<number'], 'E1009:')
+
+ call assert_fails('s/^/\=Mess()/n', 'E794:')
+ call CheckDefFailure(['let var: dict<number'], 'E1009:')
endfunc
func Test_wrong_type()
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 537,
/**/
536,
/**/