diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-02-11 19:06:26 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-02-11 19:06:26 +0100 |
commit | c6f9f739d32084923c3031cbf6f581f8c8bf7fd2 (patch) | |
tree | 4f20ee6cbf98f72b164337f14251020ecc07d410 /src/evalfunc.c | |
parent | c33ecb291518044f661c5fc10b704fc718321794 (diff) |
patch 8.0.1505: debugger can't break on a conditionv8.0.1505
Problem: Debugger can't break on a condition. (Charles Campbell)
Solution: Add ":breakadd expr". (Christian Brabandt, closes #859)
Diffstat (limited to 'src/evalfunc.c')
-rw-r--r-- | src/evalfunc.c | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c index f30dd9b54c..3977944ca3 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -2991,9 +2991,7 @@ f_exepath(typval_T *argvars, typval_T *rettv) f_exists(typval_T *argvars, typval_T *rettv) { char_u *p; - char_u *name; int n = FALSE; - int len = 0; p = get_tv_string(&argvars[0]); if (*p == '$') /* environment variable */ @@ -3035,29 +3033,7 @@ f_exists(typval_T *argvars, typval_T *rettv) } else /* internal variable */ { - char_u *tofree; - typval_T tv; - - /* get_name_len() takes care of expanding curly braces */ - name = p; - len = get_name_len(&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) - clear_tv(&tv); - } - } - if (*p != NUL) - n = FALSE; - - vim_free(tofree); + n = var_exists(p); } rettv->vval.v_number = n; |