patch 8.2.0602: :unlet $VAR does not work properly
Problem: :unlet $VAR does not work properly.
Solution: Make ":lockvar $VAR" fail. Check the "skip" flag.
diff --git a/src/testdir/test_vimscript.vim b/src/testdir/test_vimscript.vim
index abd0a7e..cef4505 100644
--- a/src/testdir/test_vimscript.vim
+++ b/src/testdir/test_vimscript.vim
@@ -1711,6 +1711,20 @@
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_refcount()
" Immediate values
call assert_equal(-1, test_refcount(1))