patch 8.0.1832: cannot use :unlet for an environment variable
Problem: Cannot use :unlet for an environment variable.
Solution: Make it work. Use unsetenv() if available. (Ken Takata,
closes #2855)
diff --git a/src/eval.c b/src/eval.c
index b787474..2ba9e82 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -2758,6 +2758,20 @@
do
{
+ if (*arg == '$')
+ {
+ char_u *name = ++arg;
+
+ if (get_env_len(&arg) == 0)
+ {
+ EMSG2(_(e_invarg2), name - 1);
+ return;
+ }
+ vim_unsetenv(name);
+ arg = skipwhite(arg);
+ continue;
+ }
+
/* Parse the name and find the end. */
name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, 0,
FNE_CHECK_START);