Mercurial > vim
diff src/evalfunc.c @ 13262:69278c25429d v8.0.1505
patch 8.0.1505: debugger can't break on a condition
commit https://github.com/vim/vim/commit/c6f9f739d32084923c3031cbf6f581f8c8bf7fd2
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Feb 11 19:06:26 2018 +0100
patch 8.0.1505: debugger can't break on a condition
Problem: Debugger can't break on a condition. (Charles Campbell)
Solution: Add ":breakadd expr". (Christian Brabandt, closes https://github.com/vim/vim/issues/859)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 11 Feb 2018 19:15:05 +0100 |
parents | 5958573d8a72 |
children | abaebba89fd4 |
line wrap: on
line diff
--- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -2991,9 +2991,7 @@ f_exepath(typval_T *argvars, typval_T *r 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 *re } 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;