From 8fb786e415d1c3538452885455b2268d13f640a6 Mon Sep 17 00:00:00 2001 From: Sean Dewar Date: Wed, 2 Dec 2020 13:44:13 +0000 Subject: vim-patch:8.2.0602: :unlet $VAR does not work properly (#13238) Problem: :unlet $VAR does not work properly. Solution: Make ":lockvar $VAR" fail. Check the "skip" flag. https://github.com/vim/vim/commit/7e0868efcf094f2cc59fa4e18af3a8dc7aedd64f Include patch 8.2.0601 changes so that ex_unletlock() can execute a callback if there are no errors. --- src/nvim/testdir/test_vimscript.vim | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/nvim/testdir/test_vimscript.vim') diff --git a/src/nvim/testdir/test_vimscript.vim b/src/nvim/testdir/test_vimscript.vim index 072c3d28e7..4edf8308e7 100644 --- a/src/nvim/testdir/test_vimscript.vim +++ b/src/nvim/testdir/test_vimscript.vim @@ -1393,6 +1393,20 @@ func Test_compound_assignment_operators() let @/ = '' endfunc +func Test_unlet_env() + let $TESTVAR = 'yes' + call assert_equal('yes', $TESTVAR) + call assert_fails('lockvar $TESTVAR', 'E940') + call assert_fails('unlockvar $TESTVAR', 'E940') + call assert_equal('yes', $TESTVAR) + if 0 + unlet $TESTVAR + endif + call assert_equal('yes', $TESTVAR) + unlet $TESTVAR + call assert_equal('', $TESTVAR) +endfunc + func Test_funccall_garbage_collect() func Func(x, ...) call add(a:x, a:000) -- cgit