Mercurial > vim
comparison src/eval.c @ 13923:e4d5726e1678 v8.0.1832
patch 8.0.1832: cannot use :unlet for an environment variable
commit https://github.com/vim/vim/commit/137374fd6538cf9dee0cb22907728d8fdecb5832
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun May 13 15:59:50 2018 +0200
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)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 13 May 2018 16:00:07 +0200 |
parents | eadecbe4e390 |
children | c1fcfafa8d1a |
comparison
equal
deleted
inserted
replaced
13922:1a30d378b70b | 13923:e4d5726e1678 |
---|---|
2756 int error = FALSE; | 2756 int error = FALSE; |
2757 lval_T lv; | 2757 lval_T lv; |
2758 | 2758 |
2759 do | 2759 do |
2760 { | 2760 { |
2761 if (*arg == '$') | |
2762 { | |
2763 char_u *name = ++arg; | |
2764 | |
2765 if (get_env_len(&arg) == 0) | |
2766 { | |
2767 EMSG2(_(e_invarg2), name - 1); | |
2768 return; | |
2769 } | |
2770 vim_unsetenv(name); | |
2771 arg = skipwhite(arg); | |
2772 continue; | |
2773 } | |
2774 | |
2761 /* Parse the name and find the end. */ | 2775 /* Parse the name and find the end. */ |
2762 name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, 0, | 2776 name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, 0, |
2763 FNE_CHECK_START); | 2777 FNE_CHECK_START); |
2764 if (lv.ll_name == NULL) | 2778 if (lv.ll_name == NULL) |
2765 error = TRUE; /* error but continue parsing */ | 2779 error = TRUE; /* error but continue parsing */ |