diff options
author | Yegappan Lakshmanan <yegappan@yahoo.com> | 2024-05-17 18:20:43 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2024-05-17 18:20:43 +0200 |
commit | fe424d13ef6e5486923f23f15bb6951e3079412e (patch) | |
tree | 7d0bcbeab9b24aa19a24296f9e8e210ad238cc35 /src/evalfunc.c | |
parent | e595e9c31b651bcb15d2f40ff00fffa432370484 (diff) |
patch 9.1.0415: Some functions are not testedv9.1.0415
Problem: Some functions are not tested
Solution: Add a few more tests, fix a few minor problems
(Yegappan Lakshmanan)
closes: #14789
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/evalfunc.c')
-rw-r--r-- | src/evalfunc.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c index 44c7d06761..fecdc43514 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -7533,6 +7533,7 @@ indexof_blob(blob_T *b, long startidx, typval_T *expr) set_vim_var_type(VV_KEY, VAR_NUMBER); set_vim_var_type(VV_VAL, VAR_NUMBER); + int called_emsg_start = called_emsg; for (idx = startidx; idx < blob_len(b); ++idx) { set_vim_var_nr(VV_KEY, idx); @@ -7540,6 +7541,9 @@ indexof_blob(blob_T *b, long startidx, typval_T *expr) if (indexof_eval_expr(expr)) return idx; + + if (called_emsg != called_emsg_start) + return -1; } return -1; @@ -7575,6 +7579,7 @@ indexof_list(list_T *l, long startidx, typval_T *expr) set_vim_var_type(VV_KEY, VAR_NUMBER); + int called_emsg_start = called_emsg; for ( ; item != NULL; item = item->li_next, ++idx) { set_vim_var_nr(VV_KEY, idx); @@ -7585,6 +7590,9 @@ indexof_list(list_T *l, long startidx, typval_T *expr) if (found) return idx; + + if (called_emsg != called_emsg_start) + return -1; } return -1; @@ -7608,7 +7616,9 @@ f_indexof(typval_T *argvars, typval_T *rettv) || check_for_opt_dict_arg(argvars, 2) == FAIL) return; - if ((argvars[1].v_type == VAR_STRING && argvars[1].vval.v_string == NULL) + if ((argvars[1].v_type == VAR_STRING && + (argvars[1].vval.v_string == NULL + || *argvars[1].vval.v_string == NUL)) || (argvars[1].v_type == VAR_FUNC && argvars[1].vval.v_partial == NULL)) return; |