patch 8.2.0605: Vim9: cannot unlet an environment variable
Problem: Vim9: cannot unlet an environment variable.
Solution: Implement unlet for $VAR.
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index 7f6d86a..7814952 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -130,6 +130,7 @@
g:somevar = "value"
unlet g:somevar
unlet! g:somevar
+ unlet $SOMEVAR
enddef
def Test_disassemble_unlet()
@@ -141,7 +142,9 @@
'unlet g:somevar.*' ..
'\d UNLET g:somevar.*' ..
'unlet! g:somevar.*' ..
- '\d UNLET! g:somevar.*',
+ '\d UNLET! g:somevar.*' ..
+ 'unlet $SOMEVAR.*' ..
+ '\d UNLETENV $SOMEVAR.*',
res)
enddef
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 568338b..4b73399 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -289,6 +289,11 @@
' unlet s:svar',
'enddef',
], 'E1081:')
+
+ $ENVVAR = 'foobar'
+ assert_equal('foobar', $ENVVAR)
+ unlet $ENVVAR
+ assert_equal('', $ENVVAR)
enddef
func Test_wrong_type()