patch 8.2.2194: Vim9: cannot use :const or :final at the script level

Problem:    Vim9: cannot use :const or :final at the script level.
Solution:   Support using :const and :final. (closes #7526)
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index bfc2d20..d5e1b33 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -1127,6 +1127,30 @@
 
     const FOO: number = 123
     assert_equal(123, FOO)
+    const FOOS = 'foos'
+    assert_equal('foos', FOOS)
+    final FLIST = [1]
+    assert_equal([1], FLIST)
+    FLIST[0] = 11
+    assert_equal([11], FLIST)
+
+    const g:FOO: number = 321
+    assert_equal(321, g:FOO)
+    const g:FOOS = 'gfoos'
+    assert_equal('gfoos', g:FOOS)
+    final g:FLIST = [2]
+    assert_equal([2], g:FLIST)
+    g:FLIST[0] = 22
+    assert_equal([22], g:FLIST)
+
+    const w:FOO: number = 46
+    assert_equal(46, w:FOO)
+    const w:FOOS = 'wfoos'
+    assert_equal('wfoos', w:FOOS)
+    final w:FLIST = [3]
+    assert_equal([3], w:FLIST)
+    w:FLIST[0] = 33
+    assert_equal([33], w:FLIST)
 
     var s:other: number
     other = 1234
@@ -1150,6 +1174,12 @@
   unlet g:var_test
   unlet g:var_prefixed
   unlet g:other_var
+  unlet g:FOO
+  unlet g:FOOS
+  unlet g:FLIST
+  unlet w:FOO
+  unlet w:FOOS
+  unlet w:FLIST
 enddef
 
 def Test_var_declaration_fails()
@@ -1161,6 +1191,22 @@
 
   lines =<< trim END
     vim9script
+    const g:constvar = 'string'
+    g:constvar = 'xx'
+  END
+  CheckScriptFailure(lines, 'E741:')
+  unlet g:constvar
+
+  lines =<< trim END
+    vim9script
+    final w:finalvar = [9]
+    w:finalvar = [8]
+  END
+  CheckScriptFailure(lines, 'E1122:')
+  unlet w:finalvar
+
+  lines =<< trim END
+    vim9script
     const var: string
   END
   CheckScriptFailure(lines, 'E1021:')
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index bdced02..749b8e8 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1032,7 +1032,7 @@
       call Change()
       unlet g:Aconst
   END
-  CheckScriptFailure(lines, 'E741: Value is locked: Aconst', 2)
+  CheckScriptFailure(lines, 'E1122: Variable is locked: Aconst', 2)
 enddef
 
 " Test that inside :function a Python function can be defined, :def is not