diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2021-04-08 09:32:37 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-08 09:32:37 -0400 |
commit | ed3c0a27c7e693baf5c817bede081d27ea4dba4c (patch) | |
tree | 3738b59b12942a301449d2410544fa78bc9d75bb /src/nvim/eval/funcs.c | |
parent | 48e80572855042ceb1d9191bc11f8b60275426eb (diff) | |
parent | d99ce54252cf7cac37f346484c6cce64b2257173 (diff) | |
download | rneovim-ed3c0a27c7e693baf5c817bede081d27ea4dba4c.tar.gz rneovim-ed3c0a27c7e693baf5c817bede081d27ea4dba4c.tar.bz2 rneovim-ed3c0a27c7e693baf5c817bede081d27ea4dba4c.zip |
Merge pull request #14314 from janlazo/vim-8.2.2720
vim-patch:8.0.{1505,1511},8.2.{1304,1305,1393,1508,1791,2720}
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r-- | src/nvim/eval/funcs.c | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index fb72b9425e..0d288e2cc2 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -2051,7 +2051,6 @@ static void f_exepath(typval_T *argvars, typval_T *rettv, FunPtr fptr) static void f_exists(typval_T *argvars, typval_T *rettv, FunPtr fptr) { int n = false; - int len = 0; const char *p = tv_get_string(&argvars[0]); if (*p == '$') { // Environment variable. @@ -2082,29 +2081,7 @@ static void f_exists(typval_T *argvars, typval_T *rettv, FunPtr fptr) n = au_exists(p + 1); } } else { // Internal variable. - typval_T tv; - - // get_name_len() takes care of expanding curly braces - const char *name = p; - char *tofree; - len = get_name_len((const char **)&p, &tofree, true, false); - if (len > 0) { - if (tofree != NULL) { - name = tofree; - } - n = (get_var_tv(name, len, &tv, NULL, false, true) == OK); - if (n) { - // Handle d.key, l[idx], f(expr). - n = (handle_subscript(&p, &tv, true, false) == OK); - if (n) { - tv_clear(&tv); - } - } - } - if (*p != NUL) - n = FALSE; - - xfree(tofree); + n = var_exists(p); } rettv->vval.v_number = n; |