0
0
mirror of https://github.com/vim/vim.git synced 2025-10-12 06:44:06 -04:00

patch 8.2.2687: Vim9: cannot use "const" for global variable in :def function

Problem:    Vim9: cannot use "const" for global variable in :def function.
Solution:   Do allow using :const for a global variable. (closes #8030)
This commit is contained in:
Bram Moolenaar
2021-04-01 19:42:48 +02:00
parent ce0b75711a
commit d877a5700f
4 changed files with 27 additions and 2 deletions

View File

@@ -1277,6 +1277,13 @@ def Test_var_declaration()
g:FLIST[0] = 22
assert_equal([22], g:FLIST)
def SetGlobalConst()
const g:globConst = 123
enddef
SetGlobalConst()
assert_equal(123, g:globConst)
assert_true(islocked('g:globConst'))
const w:FOO: number = 46
assert_equal(46, w:FOO)
const w:FOOS = 'wfoos'
@@ -1339,6 +1346,17 @@ def Test_var_declaration_fails()
CheckScriptFailure(lines, 'E741:')
unlet g:constvar
lines =<< trim END
vim9script
def SetGlobalConst()
const g:globConst = 123
enddef
SetGlobalConst()
g:globConst = 234
END
CheckScriptFailure(lines, 'E741: Value is locked: globConst')
unlet g:globConst
lines =<< trim END
vim9script
const cdict: dict<string> = {}