patch 8.2.4227: Vim9: using "lockvar!" in :def function does not work
Problem: Vim9: using "lockvar!" in :def function does not work.
Solution: Add "!" instead of "-1". (closes #9634)
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index 7b2edfd..cfbac9a 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -1425,6 +1425,17 @@
assert_equal([0, 1, 2], g:therange)
unlet g:therange
+ # use exclamation mark for locking deeper
+ g:nestedlist = [1, [2, 3], 4]
+ lockvar! g:nestedlist
+ try
+ g:nestedlist[1][0] = 9
+ catch /E1119:/
+ caught = true
+ endtry
+ assert_true(caught)
+ unlet g:nestedlist
+
var d = {a: 1, b: 2}
d.a = 3
d.b = 4