Mercurial > vim
diff src/testdir/test_vim9_assign.vim @ 24305:c88d0b5c5a42 v8.2.2693
patch 8.2.2693: Vim9: locked script variable can be changed
Commit: https://github.com/vim/vim/commit/dcf29ac87f4d7a62c503ba6de0d92c7779446bf2
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Apr 2 14:44:02 2021 +0200
patch 8.2.2693: Vim9: locked script variable can be changed
Problem: Vim9: locked script variable can be changed.
Solution: Check legacy script variable for being locked. (issue https://github.com/vim/vim/issues/8031)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 02 Apr 2021 14:45:07 +0200 |
parents | 17b49af76766 |
children | 52a0e187264b |
line wrap: on
line diff
--- a/src/testdir/test_vim9_assign.vim +++ b/src/testdir/test_vim9_assign.vim @@ -1355,7 +1355,17 @@ def Test_var_declaration_fails() enddef SetLocked() END - CheckScriptFailure(lines, 'E741: Value is locked: name') + CheckScriptFailure(lines, 'E741: Value is locked: name', 1) + + lines =<< trim END + let s:legacy = 'one' + lockvar s:legacy + def SetLocked() + s:legacy = 'two' + enddef + call SetLocked() + END + CheckScriptFailure(lines, 'E741: Value is locked: s:legacy', 1) lines =<< trim END vim9script @@ -1365,7 +1375,7 @@ def Test_var_declaration_fails() SetGlobalConst() g:globConst = 234 END - CheckScriptFailure(lines, 'E741: Value is locked: globConst') + CheckScriptFailure(lines, 'E741: Value is locked: globConst', 1) unlet g:globConst lines =<< trim END