diff options
Diffstat (limited to 'data/vim/patches/8.1.0615')
-rw-r--r-- | data/vim/patches/8.1.0615 | 8621 |
1 files changed, 0 insertions, 8621 deletions
diff --git a/data/vim/patches/8.1.0615 b/data/vim/patches/8.1.0615 deleted file mode 100644 index 19004a485..000000000 --- a/data/vim/patches/8.1.0615 +++ /dev/null @@ -1,8621 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 8.1.0615 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 8.1.0615 -Problem: Get_tv function names are not consistent. -Solution: Rename to tv_get. -Files: src/eval.c, src/proto/eval.pro, src/channel.c, src/dict.c, - src/evalfunc.c, src/list.c, src/message.c, src/tag.c, - src/terminal.c, src/textprop.c, src/window.c, src/ex_cmds.c, - src/os_unix.c, src/os_win32.c, src/json.c, src/regexp.c, - src/edit.c, src/misc2.c, src/popupmnu.c - - -*** ../vim-8.1.0614/src/eval.c 2018-12-14 15:38:28.327597664 +0100 ---- src/eval.c 2018-12-21 15:59:46.202241682 +0100 -*************** -*** 681,687 **** - *error = FALSE; - if (!skip) - { -! retval = (get_tv_number_chk(&tv, error) != 0); - clear_tv(&tv); - } - } ---- 681,687 ---- - *error = FALSE; - if (!skip) - { -! retval = (tv_get_number_chk(&tv, error) != 0); - clear_tv(&tv); - } - } -*************** -*** 720,726 **** - } - else - { -! s = get_tv_string_buf_chk(expr, buf); - if (s == NULL) - return FAIL; - s = skipwhite(s); ---- 720,726 ---- - } - else - { -! s = tv_get_string_buf_chk(expr, buf); - if (s == NULL) - return FAIL; - s = skipwhite(s); -*************** -*** 751,757 **** - *error = TRUE; - return FALSE; - } -! res = (get_tv_number_chk(&rettv, error) != 0); - clear_tv(&rettv); - return res; - } ---- 751,757 ---- - *error = TRUE; - return FALSE; - } -! res = (tv_get_number_chk(&rettv, error) != 0); - clear_tv(&rettv); - return res; - } -*************** -*** 776,782 **** - retval = NULL; - else - { -! retval = vim_strsave(get_tv_string(&tv)); - clear_tv(&tv); - } - if (skip) ---- 776,782 ---- - retval = NULL; - else - { -! retval = vim_strsave(tv_get_string(&tv)); - clear_tv(&tv); - } - if (skip) -*************** -*** 841,847 **** - } - #endif - else -! retval = vim_strsave(get_tv_string(&tv)); - clear_tv(&tv); - } - ---- 841,847 ---- - } - #endif - else -! retval = vim_strsave(tv_get_string(&tv)); - clear_tv(&tv); - } - -*************** -*** 891,897 **** - retval = -1; - else - { -! retval = get_tv_number_chk(&rettv, NULL); - clear_tv(&rettv); - } - --emsg_off; ---- 891,897 ---- - retval = -1; - else - { -! retval = tv_get_number_chk(&rettv, NULL); - clear_tv(&rettv); - } - --emsg_off; -*************** -*** 982,993 **** - li = list->lv_first; - if (li == NULL) - return -1; -! *pp = get_tv_string(&li->li_tv); - - li = li->li_next; - if (li == NULL) - return -1; -! return (int)get_tv_number(&li->li_tv); - } - #endif - ---- 982,993 ---- - li = list->lv_first; - if (li == NULL) - return -1; -! *pp = tv_get_string(&li->li_tv); - - li = li->li_next; - if (li == NULL) - return -1; -! return (int)tv_get_number(&li->li_tv); - } - #endif - -*************** -*** 1053,1059 **** - if (call_vim_function(func, argc, argv, &rettv) == FAIL) - return -1; - -! retval = get_tv_number_chk(&rettv, NULL); - clear_tv(&rettv); - return retval; - } ---- 1053,1059 ---- - if (call_vim_function(func, argc, argv, &rettv) == FAIL) - return -1; - -! retval = tv_get_number_chk(&rettv, NULL); - clear_tv(&rettv); - return retval; - } -*************** -*** 1080,1086 **** - if (call_vim_function(func, argc, argv, &rettv) == FAIL) - return NULL; - -! retval = vim_strsave(get_tv_string(&rettv)); - clear_tv(&rettv); - return retval; - } ---- 1080,1086 ---- - if (call_vim_function(func, argc, argv, &rettv) == FAIL) - return NULL; - -! retval = vim_strsave(tv_get_string(&rettv)); - clear_tv(&rettv); - return retval; - } -*************** -*** 1654,1660 **** - { - c1 = name[len]; - name[len] = NUL; -! p = get_tv_string_chk(tv); - if (p != NULL && op != NULL && *op == '.') - { - int mustfree = FALSE; ---- 1654,1660 ---- - { - c1 = name[len]; - name[len] = NUL; -! p = tv_get_string_chk(tv); - if (p != NULL && op != NULL && *op == '.') - { - int mustfree = FALSE; -*************** -*** 1708,1715 **** - c1 = *p; - *p = NUL; - -! n = (long)get_tv_number(tv); -! s = get_tv_string_chk(tv); /* != NULL if number or string */ - if (s != NULL && op != NULL && *op != '=') - { - opt_type = get_option_value(arg, &numval, ---- 1708,1715 ---- - c1 = *p; - *p = NUL; - -! n = (long)tv_get_number(tv); -! s = tv_get_string_chk(tv); /* != NULL if number or string */ - if (s != NULL && op != NULL && *op != '=') - { - opt_type = get_option_value(arg, &numval, -*************** -*** 1763,1769 **** - char_u *ptofree = NULL; - char_u *s; - -! p = get_tv_string_chk(tv); - if (p != NULL && op != NULL && *op == '.') - { - s = get_reg_contents(*arg == '@' ? '"' : *arg, GREG_EXPR_SRC); ---- 1763,1769 ---- - char_u *ptofree = NULL; - char_u *s; - -! p = tv_get_string_chk(tv); - if (p != NULL && op != NULL && *op == '.') - { - s = get_reg_contents(*arg == '@' ? '"' : *arg, GREG_EXPR_SRC); -*************** -*** 1956,1962 **** - empty1 = FALSE; - if (eval1(&p, &var1, TRUE) == FAIL) /* recursive! */ - return NULL; -! if (get_tv_string_chk(&var1) == NULL) - { - /* not a number or string */ - clear_tv(&var1); ---- 1956,1962 ---- - empty1 = FALSE; - if (eval1(&p, &var1, TRUE) == FAIL) /* recursive! */ - return NULL; -! if (tv_get_string_chk(&var1) == NULL) - { - /* not a number or string */ - clear_tv(&var1); -*************** -*** 1993,1999 **** - clear_tv(&var1); - return NULL; - } -! if (get_tv_string_chk(&var2) == NULL) - { - /* not a number or string */ - clear_tv(&var1); ---- 1993,1999 ---- - clear_tv(&var1); - return NULL; - } -! if (tv_get_string_chk(&var2) == NULL) - { - /* not a number or string */ - clear_tv(&var1); -*************** -*** 2024,2030 **** - if (len == -1) - { - /* "[key]": get key from "var1" */ -! key = get_tv_string_chk(&var1); /* is number or string */ - if (key == NULL) - { - clear_tv(&var1); ---- 2024,2030 ---- - if (len == -1) - { - /* "[key]": get key from "var1" */ -! key = tv_get_string_chk(&var1); /* is number or string */ - if (key == NULL) - { - clear_tv(&var1); -*************** -*** 2106,2112 **** - lp->ll_n1 = 0; - else - /* is number or string */ -! lp->ll_n1 = (long)get_tv_number(&var1); - clear_tv(&var1); - - lp->ll_dict = NULL; ---- 2106,2112 ---- - lp->ll_n1 = 0; - else - /* is number or string */ -! lp->ll_n1 = (long)tv_get_number(&var1); - clear_tv(&var1); - - lp->ll_dict = NULL; -*************** -*** 2136,2142 **** - */ - if (lp->ll_range && !lp->ll_empty2) - { -! lp->ll_n2 = (long)get_tv_number(&var2); - /* is number or string */ - clear_tv(&var2); - if (lp->ll_n2 < 0) ---- 2136,2142 ---- - */ - if (lp->ll_range && !lp->ll_empty2) - { -! lp->ll_n2 = (long)tv_get_number(&var2); - /* is number or string */ - clear_tv(&var2); - if (lp->ll_n2 < 0) -*************** -*** 2367,2373 **** - if (*op == '+' || *op == '-') - { - /* nr += nr or nr -= nr*/ -! n = get_tv_number(tv1); - #ifdef FEAT_FLOAT - if (tv2->v_type == VAR_FLOAT) - { ---- 2367,2373 ---- - if (*op == '+' || *op == '-') - { - /* nr += nr or nr -= nr*/ -! n = tv_get_number(tv1); - #ifdef FEAT_FLOAT - if (tv2->v_type == VAR_FLOAT) - { -*************** -*** 2385,2393 **** - #endif - { - if (*op == '+') -! n += get_tv_number(tv2); - else -! n -= get_tv_number(tv2); - clear_tv(tv1); - tv1->v_type = VAR_NUMBER; - tv1->vval.v_number = n; ---- 2385,2393 ---- - #endif - { - if (*op == '+') -! n += tv_get_number(tv2); - else -! n -= tv_get_number(tv2); - clear_tv(tv1); - tv1->v_type = VAR_NUMBER; - tv1->vval.v_number = n; -*************** -*** 2399,2406 **** - break; - - /* str .= str */ -! s = get_tv_string(tv1); -! s = concat_str(s, get_tv_string_buf(tv2, numbuf)); - clear_tv(tv1); - tv1->v_type = VAR_STRING; - tv1->vval.v_string = s; ---- 2399,2406 ---- - break; - - /* str .= str */ -! s = tv_get_string(tv1); -! s = concat_str(s, tv_get_string_buf(tv2, numbuf)); - clear_tv(tv1); - tv1->v_type = VAR_STRING; - tv1->vval.v_string = s; -*************** -*** 2419,2425 **** - if (tv2->v_type == VAR_FLOAT) - f = tv2->vval.v_float; - else -! f = get_tv_number(tv2); - if (*op == '+') - tv1->vval.v_float += f; - else ---- 2419,2425 ---- - if (tv2->v_type == VAR_FLOAT) - f = tv2->vval.v_float; - else -! f = tv_get_number(tv2); - if (*op == '+') - tv1->vval.v_float += f; - else -*************** -*** 3271,3277 **** - { - int error = FALSE; - -! if (get_tv_number_chk(rettv, &error) != 0) - result = TRUE; - clear_tv(rettv); - if (error) ---- 3271,3277 ---- - { - int error = FALSE; - -! if (tv_get_number_chk(rettv, &error) != 0) - result = TRUE; - clear_tv(rettv); - if (error) -*************** -*** 3345,3351 **** - { - if (evaluate && first) - { -! if (get_tv_number_chk(rettv, &error) != 0) - result = TRUE; - clear_tv(rettv); - if (error) ---- 3345,3351 ---- - { - if (evaluate && first) - { -! if (tv_get_number_chk(rettv, &error) != 0) - result = TRUE; - clear_tv(rettv); - if (error) -*************** -*** 3365,3371 **** - */ - if (evaluate && !result) - { -! if (get_tv_number_chk(&var2, &error) != 0) - result = TRUE; - clear_tv(&var2); - if (error) ---- 3365,3371 ---- - */ - if (evaluate && !result) - { -! if (tv_get_number_chk(&var2, &error) != 0) - result = TRUE; - clear_tv(&var2); - if (error) -*************** -*** 3413,3419 **** - { - if (evaluate && first) - { -! if (get_tv_number_chk(rettv, &error) == 0) - result = FALSE; - clear_tv(rettv); - if (error) ---- 3413,3419 ---- - { - if (evaluate && first) - { -! if (tv_get_number_chk(rettv, &error) == 0) - result = FALSE; - clear_tv(rettv); - if (error) -*************** -*** 3433,3439 **** - */ - if (evaluate && result) - { -! if (get_tv_number_chk(&var2, &error) == 0) - result = FALSE; - clear_tv(&var2); - if (error) ---- 3433,3439 ---- - */ - if (evaluate && result) - { -! if (tv_get_number_chk(&var2, &error) == 0) - result = FALSE; - clear_tv(&var2); - if (error) -*************** -*** 3622,3628 **** - * we know that the first operand needs to be a string or number - * without evaluating the 2nd operand. So check before to avoid - * side effects after an error. */ -! if (evaluate && get_tv_string_chk(rettv) == NULL) - { - clear_tv(rettv); - return FAIL; ---- 3622,3628 ---- - * we know that the first operand needs to be a string or number - * without evaluating the 2nd operand. So check before to avoid - * side effects after an error. */ -! if (evaluate && tv_get_string_chk(rettv) == NULL) - { - clear_tv(rettv); - return FAIL; -*************** -*** 3646,3653 **** - */ - if (op == '.') - { -! s1 = get_tv_string_buf(rettv, buf1); /* already checked */ -! s2 = get_tv_string_buf_chk(&var2, buf2); - if (s2 == NULL) /* type error ? */ - { - clear_tv(rettv); ---- 3646,3653 ---- - */ - if (op == '.') - { -! s1 = tv_get_string_buf(rettv, buf1); /* already checked */ -! s2 = tv_get_string_buf_chk(&var2, buf2); - if (s2 == NULL) /* type error ? */ - { - clear_tv(rettv); -*************** -*** 3686,3692 **** - else - #endif - { -! n1 = get_tv_number_chk(rettv, &error); - if (error) - { - /* This can only happen for "list + non-list". For ---- 3686,3692 ---- - else - #endif - { -! n1 = tv_get_number_chk(rettv, &error); - if (error) - { - /* This can only happen for "list + non-list". For -*************** -*** 3709,3715 **** - else - #endif - { -! n2 = get_tv_number_chk(&var2, &error); - if (error) - { - clear_tv(rettv); ---- 3709,3715 ---- - else - #endif - { -! n2 = tv_get_number_chk(&var2, &error); - if (error) - { - clear_tv(rettv); -*************** -*** 3804,3810 **** - } - else - #endif -! n1 = get_tv_number_chk(rettv, &error); - clear_tv(rettv); - if (error) - return FAIL; ---- 3804,3810 ---- - } - else - #endif -! n1 = tv_get_number_chk(rettv, &error); - clear_tv(rettv); - if (error) - return FAIL; -*************** -*** 3835,3841 **** - else - #endif - { -! n2 = get_tv_number_chk(&var2, &error); - clear_tv(&var2); - if (error) - return FAIL; ---- 3835,3841 ---- - else - #endif - { -! n2 = tv_get_number_chk(&var2, &error); - clear_tv(&var2); - if (error) - return FAIL; -*************** -*** 4200,4206 **** - f = rettv->vval.v_float; - else - #endif -! val = get_tv_number_chk(rettv, &error); - if (error) - { - clear_tv(rettv); ---- 4200,4206 ---- - f = rettv->vval.v_float; - else - #endif -! val = tv_get_number_chk(rettv, &error); - if (error) - { - clear_tv(rettv); -*************** -*** 4326,4332 **** - empty1 = TRUE; - else if (eval1(arg, &var1, evaluate) == FAIL) /* recursive! */ - return FAIL; -! else if (evaluate && get_tv_string_chk(&var1) == NULL) - { - /* not a number or string */ - clear_tv(&var1); ---- 4326,4332 ---- - empty1 = TRUE; - else if (eval1(arg, &var1, evaluate) == FAIL) /* recursive! */ - return FAIL; -! else if (evaluate && tv_get_string_chk(&var1) == NULL) - { - /* not a number or string */ - clear_tv(&var1); -*************** -*** 4348,4354 **** - clear_tv(&var1); - return FAIL; - } -! else if (evaluate && get_tv_string_chk(&var2) == NULL) - { - /* not a number or string */ - if (!empty1) ---- 4348,4354 ---- - clear_tv(&var1); - return FAIL; - } -! else if (evaluate && tv_get_string_chk(&var2) == NULL) - { - /* not a number or string */ - if (!empty1) -*************** -*** 4376,4382 **** - n1 = 0; - if (!empty1 && rettv->v_type != VAR_DICT) - { -! n1 = get_tv_number(&var1); - clear_tv(&var1); - } - if (range) ---- 4376,4382 ---- - n1 = 0; - if (!empty1 && rettv->v_type != VAR_DICT) - { -! n1 = tv_get_number(&var1); - clear_tv(&var1); - } - if (range) -*************** -*** 4385,4391 **** - n2 = -1; - else - { -! n2 = get_tv_number(&var2); - clear_tv(&var2); - } - } ---- 4385,4391 ---- - n2 = -1; - else - { -! n2 = tv_get_number(&var2); - clear_tv(&var2); - } - } -*************** -*** 4403,4409 **** - - case VAR_NUMBER: - case VAR_STRING: -! s = get_tv_string(rettv); - len = (long)STRLEN(s); - if (range) - { ---- 4403,4409 ---- - - case VAR_NUMBER: - case VAR_STRING: -! s = tv_get_string(rettv); - len = (long)STRLEN(s); - if (range) - { -*************** -*** 4504,4510 **** - - if (len == -1) - { -! key = get_tv_string_chk(&var1); - if (key == NULL) - { - clear_tv(&var1); ---- 4504,4510 ---- - - if (len == -1) - { -! key = tv_get_string_chk(&var1); - if (key == NULL) - { - clear_tv(&var1); -*************** -*** 4974,4981 **** - return tv1->vval.v_number == tv2->vval.v_number; - - case VAR_STRING: -! s1 = get_tv_string_buf(tv1, buf1); -! s2 = get_tv_string_buf(tv2, buf2); - return ((ic ? MB_STRICMP(s1, s2) : STRCMP(s1, s2)) == 0); - - case VAR_SPECIAL: ---- 4974,4981 ---- - return tv1->vval.v_number == tv2->vval.v_number; - - case VAR_STRING: -! s1 = tv_get_string_buf(tv1, buf1); -! s2 = tv_get_string_buf(tv2, buf2); - return ((ic ? MB_STRICMP(s1, s2) : STRCMP(s1, s2)) == 0); - - case VAR_SPECIAL: -*************** -*** 5652,5664 **** - case VAR_NUMBER: - case VAR_UNKNOWN: - *tofree = NULL; -! r = get_tv_string_buf(tv, numbuf); - break; - - case VAR_JOB: - case VAR_CHANNEL: - *tofree = NULL; -! r = get_tv_string_buf(tv, numbuf); - if (composite_val) - { - *tofree = string_quote(r, FALSE); ---- 5652,5664 ---- - case VAR_NUMBER: - case VAR_UNKNOWN: - *tofree = NULL; -! r = tv_get_string_buf(tv, numbuf); - break; - - case VAR_JOB: - case VAR_CHANNEL: - *tofree = NULL; -! r = tv_get_string_buf(tv, numbuf); - if (composite_val) - { - *tofree = string_quote(r, FALSE); -*************** -*** 5913,5919 **** - return &pos; - } - -! name = get_tv_string_chk(varp); - if (name == NULL) - return NULL; - if (name[0] == '.') /* cursor */ ---- 5913,5919 ---- - return &pos; - } - -! name = tv_get_string_chk(varp); - if (name == NULL) - return NULL; - if (name[0] == '.') /* cursor */ -*************** -*** 6363,6369 **** - char_u * - get_vim_var_str(int idx) - { -! return get_tv_string(&vimvars[idx].vv_tv); - } - - /* ---- 6363,6369 ---- - char_u * - get_vim_var_str(int idx) - { -! return tv_get_string(&vimvars[idx].vv_tv); - } - - /* -*************** -*** 6936,6955 **** - * Get the number value of a variable. - * If it is a String variable, uses vim_str2nr(). - * For incompatible types, return 0. -! * get_tv_number_chk() is similar to get_tv_number(), but informs the - * caller of incompatible types: it sets *denote to TRUE if "denote" - * is not NULL or returns -1 otherwise. - */ - varnumber_T -! get_tv_number(typval_T *varp) - { - int error = FALSE; - -! return get_tv_number_chk(varp, &error); /* return 0L on error */ - } - - varnumber_T -! get_tv_number_chk(typval_T *varp, int *denote) - { - varnumber_T n = 0L; - ---- 6936,6955 ---- - * Get the number value of a variable. - * If it is a String variable, uses vim_str2nr(). - * For incompatible types, return 0. -! * tv_get_number_chk() is similar to tv_get_number(), but informs the - * caller of incompatible types: it sets *denote to TRUE if "denote" - * is not NULL or returns -1 otherwise. - */ - varnumber_T -! tv_get_number(typval_T *varp) - { - int error = FALSE; - -! return tv_get_number_chk(varp, &error); /* return 0L on error */ - } - - varnumber_T -! tv_get_number_chk(typval_T *varp, int *denote) - { - varnumber_T n = 0L; - -*************** -*** 6991,6997 **** - break; - #endif - case VAR_UNKNOWN: -! internal_error("get_tv_number(UNKNOWN)"); - break; - } - if (denote == NULL) /* useful for values that must be unsigned */ ---- 6991,6997 ---- - break; - #endif - case VAR_UNKNOWN: -! internal_error("tv_get_number(UNKNOWN)"); - break; - } - if (denote == NULL) /* useful for values that must be unsigned */ -*************** -*** 7003,7009 **** - - #ifdef FEAT_FLOAT - float_T -! get_tv_float(typval_T *varp) - { - switch (varp->v_type) - { ---- 7003,7009 ---- - - #ifdef FEAT_FLOAT - float_T -! tv_get_float(typval_T *varp) - { - switch (varp->v_type) - { -*************** -*** 7038,7044 **** - break; - # endif - case VAR_UNKNOWN: -! internal_error("get_tv_float(UNKNOWN)"); - break; - } - return 0; ---- 7038,7044 ---- - break; - # endif - case VAR_UNKNOWN: -! internal_error("tv_get_float(UNKNOWN)"); - break; - } - return 0; -*************** -*** 7048,7072 **** - /* - * Get the string value of a variable. - * If it is a Number variable, the number is converted into a string. -! * get_tv_string() uses a single, static buffer. YOU CAN ONLY USE IT ONCE! -! * get_tv_string_buf() uses a given buffer. - * If the String variable has never been set, return an empty string. - * Never returns NULL; -! * get_tv_string_chk() and get_tv_string_buf_chk() are similar, but return - * NULL on error. - */ - char_u * -! get_tv_string(typval_T *varp) - { - static char_u mybuf[NUMBUFLEN]; - -! return get_tv_string_buf(varp, mybuf); - } - - char_u * -! get_tv_string_buf(typval_T *varp, char_u *buf) - { -! char_u *res = get_tv_string_buf_chk(varp, buf); - - return res != NULL ? res : (char_u *)""; - } ---- 7048,7072 ---- - /* - * Get the string value of a variable. - * If it is a Number variable, the number is converted into a string. -! * tv_get_string() uses a single, static buffer. YOU CAN ONLY USE IT ONCE! -! * tv_get_string_buf() uses a given buffer. - * If the String variable has never been set, return an empty string. - * Never returns NULL; -! * tv_get_string_chk() and tv_get_string_buf_chk() are similar, but return - * NULL on error. - */ - char_u * -! tv_get_string(typval_T *varp) - { - static char_u mybuf[NUMBUFLEN]; - -! return tv_get_string_buf(varp, mybuf); - } - - char_u * -! tv_get_string_buf(typval_T *varp, char_u *buf) - { -! char_u *res = tv_get_string_buf_chk(varp, buf); - - return res != NULL ? res : (char_u *)""; - } -*************** -*** 7075,7089 **** - * Careful: This uses a single, static buffer. YOU CAN ONLY USE IT ONCE! - */ - char_u * -! get_tv_string_chk(typval_T *varp) - { - static char_u mybuf[NUMBUFLEN]; - -! return get_tv_string_buf_chk(varp, mybuf); - } - - char_u * -! get_tv_string_buf_chk(typval_T *varp, char_u *buf) - { - switch (varp->v_type) - { ---- 7075,7089 ---- - * Careful: This uses a single, static buffer. YOU CAN ONLY USE IT ONCE! - */ - char_u * -! tv_get_string_chk(typval_T *varp) - { - static char_u mybuf[NUMBUFLEN]; - -! return tv_get_string_buf_chk(varp, mybuf); - } - - char_u * -! tv_get_string_buf_chk(typval_T *varp, char_u *buf) - { - switch (varp->v_type) - { -*************** -*** 7298,7304 **** - - /* - * Get the string value of a (global/local) variable. -! * Note: see get_tv_string() for how long the pointer remains valid. - * Returns NULL when it doesn't exist. - */ - char_u * ---- 7298,7304 ---- - - /* - * Get the string value of a (global/local) variable. -! * Note: see tv_get_string() for how long the pointer remains valid. - * Returns NULL when it doesn't exist. - */ - char_u * -*************** -*** 7309,7315 **** - v = find_var(name, NULL, FALSE); - if (v == NULL) - return NULL; -! return get_tv_string(&v->di_tv); - } - - /* ---- 7309,7315 ---- - v = find_var(name, NULL, FALSE); - if (v == NULL) - return NULL; -! return tv_get_string(&v->di_tv); - } - - /* -*************** -*** 7544,7550 **** - { - vim_free(v->di_tv.vval.v_string); - if (copy || tv->v_type != VAR_STRING) -! v->di_tv.vval.v_string = vim_strsave(get_tv_string(tv)); - else - { - /* Take over the string to avoid an extra alloc/free. */ ---- 7544,7550 ---- - { - vim_free(v->di_tv.vval.v_string); - if (copy || tv->v_type != VAR_STRING) -! v->di_tv.vval.v_string = vim_strsave(tv_get_string(tv)); - else - { - /* Take over the string to avoid an extra alloc/free. */ -*************** -*** 7555,7561 **** - } - else if (v->di_tv.v_type == VAR_NUMBER) - { -! v->di_tv.vval.v_number = get_tv_number(tv); - if (STRCMP(varname, "searchforward") == 0) - set_search_direction(v->di_tv.vval.v_number ? '/' : '?'); - #ifdef FEAT_SEARCH_EXTRA ---- 7555,7561 ---- - } - else if (v->di_tv.v_type == VAR_NUMBER) - { -! v->di_tv.vval.v_number = tv_get_number(tv); - if (STRCMP(varname, "searchforward") == 0) - set_search_direction(v->di_tv.vval.v_number ? '/' : '?'); - #ifdef FEAT_SEARCH_EXTRA -*************** -*** 7894,7900 **** - int inputdialog, - int secret) - { -! char_u *prompt = get_tv_string_chk(&argvars[0]); - char_u *p = NULL; - int c; - char_u buf[NUMBUFLEN]; ---- 7894,7900 ---- - int inputdialog, - int secret) - { -! char_u *prompt = tv_get_string_chk(&argvars[0]); - char_u *p = NULL; - int c; - char_u buf[NUMBUFLEN]; -*************** -*** 7937,7943 **** - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! defstr = get_tv_string_buf_chk(&argvars[1], buf); - if (defstr != NULL) - stuffReadbuffSpec(defstr); - ---- 7937,7943 ---- - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! defstr = tv_get_string_buf_chk(&argvars[1], buf); - if (defstr != NULL) - stuffReadbuffSpec(defstr); - -*************** -*** 7950,7956 **** - /* input() with a third argument: completion */ - rettv->vval.v_string = NULL; - -! xp_name = get_tv_string_buf_chk(&argvars[2], buf); - if (xp_name == NULL) - return; - ---- 7950,7956 ---- - /* input() with a third argument: completion */ - rettv->vval.v_string = NULL; - -! xp_name = tv_get_string_buf_chk(&argvars[2], buf); - if (xp_name == NULL) - return; - -*************** -*** 7975,7981 **** - if (inputdialog && rettv->vval.v_string == NULL - && argvars[1].v_type != VAR_UNKNOWN - && argvars[2].v_type != VAR_UNKNOWN) -! rettv->vval.v_string = vim_strsave(get_tv_string_buf( - &argvars[2], buf)); - - vim_free(xp_arg); ---- 7975,7981 ---- - if (inputdialog && rettv->vval.v_string == NULL - && argvars[1].v_type != VAR_UNKNOWN - && argvars[2].v_type != VAR_UNKNOWN) -! rettv->vval.v_string = vim_strsave(tv_get_string_buf( - &argvars[2], buf)); - - vim_free(xp_arg); -*************** -*** 8142,8148 **** - - if (!eap->skip) - { -! p = get_tv_string(&rettv); - len = (int)STRLEN(p); - if (ga_grow(&ga, len + 2) == FAIL) - { ---- 8142,8148 ---- - - if (!eap->skip) - { -! p = tv_get_string(&rettv); - len = (int)STRLEN(p); - if (ga_grow(&ga, len + 2) == FAIL) - { -*************** -*** 8205,8211 **** - tabpage_T *tp) /* NULL for current tab page */ - { - win_T *wp; -! int nr = (int)get_tv_number_chk(vp, NULL); - - if (nr < 0) - return NULL; ---- 8205,8211 ---- - tabpage_T *tp) /* NULL for current tab page */ - { - win_T *wp; -! int nr = (int)tv_get_number_chk(vp, NULL); - - if (nr < 0) - return NULL; -*************** -*** 8234,8240 **** - win_T * - find_win_by_nr_or_id(typval_T *vp) - { -! int nr = (int)get_tv_number_chk(vp, NULL); - - if (nr >= LOWEST_WIN_ID) - return win_id2wp(vp); ---- 8234,8240 ---- - win_T * - find_win_by_nr_or_id(typval_T *vp) - { -! int nr = (int)tv_get_number_chk(vp, NULL); - - if (nr >= LOWEST_WIN_ID) - return win_id2wp(vp); -*************** -*** 8257,8263 **** - { - if (tvp->v_type != VAR_UNKNOWN) - { -! n = (long)get_tv_number(tvp); - if (n >= 0) - tp = find_tabpage(n); - } ---- 8257,8263 ---- - { - if (tvp->v_type != VAR_UNKNOWN) - { -! n = (long)tv_get_number(tvp); - if (n >= 0) - tp = find_tabpage(n); - } -*************** -*** 8292,8302 **** - int need_switch_win; - - if (off == 1) -! tp = find_tabpage((int)get_tv_number_chk(&argvars[0], NULL)); - else - tp = curtab; - win = find_win_by_nr(&argvars[off], tp); -! varname = get_tv_string_chk(&argvars[off + 1]); - ++emsg_off; - - rettv->v_type = VAR_STRING; ---- 8292,8302 ---- - int need_switch_win; - - if (off == 1) -! tp = find_tabpage((int)tv_get_number_chk(&argvars[0], NULL)); - else - tp = curtab; - win = find_win_by_nr(&argvars[off], tp); -! varname = tv_get_string_chk(&argvars[off + 1]); - ++emsg_off; - - rettv->v_type = VAR_STRING; -*************** -*** 8373,8383 **** - return; - - if (off == 1) -! tp = find_tabpage((int)get_tv_number_chk(&argvars[0], NULL)); - else - tp = curtab; - win = find_win_by_nr(&argvars[off], tp); -! varname = get_tv_string_chk(&argvars[off + 1]); - varp = &argvars[off + 2]; - - if (win != NULL && varname != NULL && varp != NULL) ---- 8373,8383 ---- - return; - - if (off == 1) -! tp = find_tabpage((int)tv_get_number_chk(&argvars[0], NULL)); - else - tp = curtab; - win = find_win_by_nr(&argvars[off], tp); -! varname = tv_get_string_chk(&argvars[off + 1]); - varp = &argvars[off + 2]; - - if (win != NULL && varname != NULL && varp != NULL) -*************** -*** 8393,8400 **** - int error = FALSE; - - ++varname; -! numval = (long)get_tv_number_chk(varp, &error); -! strval = get_tv_string_buf_chk(varp, nbuf); - if (!error && strval != NULL) - set_option_value(varname, numval, strval, OPT_LOCAL); - } ---- 8393,8400 ---- - int error = FALSE; - - ++varname; -! numval = (long)tv_get_number_chk(varp, &error); -! strval = tv_get_string_buf_chk(varp, nbuf); - if (!error && strval != NULL) - set_option_value(varname, numval, strval, OPT_LOCAL); - } -*************** -*** 8697,8703 **** - { - /* Escape special characters with a backslash. Turn a LF and - * CR into \n and \r. */ -! p = vim_strsave_escaped(get_tv_string(&this_var->di_tv), - (char_u *)"\\\"\n\r"); - if (p == NULL) /* out of memory */ - break; ---- 8697,8703 ---- - { - /* Escape special characters with a backslash. Turn a LF and - * CR into \n and \r. */ -! p = vim_strsave_escaped(tv_get_string(&this_var->di_tv), - (char_u *)"\\\"\n\r"); - if (p == NULL) /* out of memory */ - break; -*************** -*** 8842,8849 **** - { - char_u buf1[NUMBUFLEN]; - char_u buf2[NUMBUFLEN]; -! char_u *fname1 = get_tv_string_buf_chk(&argvars[0], buf1); -! char_u *fname2 = get_tv_string_buf_chk(&argvars[1], buf2); - garray_T ga; - FILE *fd1; - FILE *fd2; ---- 8842,8849 ---- - { - char_u buf1[NUMBUFLEN]; - char_u buf2[NUMBUFLEN]; -! char_u *fname1 = tv_get_string_buf_chk(&argvars[0], buf1); -! char_u *fname2 = tv_get_string_buf_chk(&argvars[1], buf2); - garray_T ga; - FILE *fd1; - FILE *fd2; -*************** -*** 8914,8921 **** - garray_T ga; - char_u buf1[NUMBUFLEN]; - char_u buf2[NUMBUFLEN]; -! char_u *pat = get_tv_string_buf_chk(&argvars[0], buf1); -! char_u *text = get_tv_string_buf_chk(&argvars[1], buf2); - - if (pat == NULL || text == NULL) - EMSG(_(e_invarg)); ---- 8914,8921 ---- - garray_T ga; - char_u buf1[NUMBUFLEN]; - char_u buf2[NUMBUFLEN]; -! char_u *pat = tv_get_string_buf_chk(&argvars[0], buf1); -! char_u *text = tv_get_string_buf_chk(&argvars[1], buf2); - - if (pat == NULL || text == NULL) - EMSG(_(e_invarg)); -*************** -*** 8936,8944 **** - { - garray_T ga; - int error = FALSE; -! varnumber_T lower = get_tv_number_chk(&argvars[0], &error); -! varnumber_T upper = get_tv_number_chk(&argvars[1], &error); -! varnumber_T actual = get_tv_number_chk(&argvars[2], &error); - char_u *tofree; - char msg[200]; - char_u numbuf[NUMBUFLEN]; ---- 8936,8944 ---- - { - garray_T ga; - int error = FALSE; -! varnumber_T lower = tv_get_number_chk(&argvars[0], &error); -! varnumber_T upper = tv_get_number_chk(&argvars[1], &error); -! varnumber_T actual = tv_get_number_chk(&argvars[2], &error); - char_u *tofree; - char msg[200]; - char_u numbuf[NUMBUFLEN]; -*************** -*** 8980,8986 **** - && argvars[0].vval.v_number == (isTrue ? VVAL_TRUE : VVAL_FALSE)) - return 0; - if (argvars[0].v_type != VAR_NUMBER -! || (get_tv_number_chk(&argvars[0], &error) == 0) == isTrue - || error) - { - prepare_assert_error(&ga); ---- 8980,8986 ---- - && argvars[0].vval.v_number == (isTrue ? VVAL_TRUE : VVAL_FALSE)) - return 0; - if (argvars[0].v_type != VAR_NUMBER -! || (tv_get_number_chk(&argvars[0], &error) == 0) == isTrue - || error) - { - prepare_assert_error(&ga); -*************** -*** 9000,9006 **** - garray_T ga; - - prepare_assert_error(&ga); -! ga_concat(&ga, get_tv_string(&argvars[0])); - assert_error(&ga); - ga_clear(&ga); - return 1; ---- 9000,9006 ---- - garray_T ga; - - prepare_assert_error(&ga); -! ga_concat(&ga, tv_get_string(&argvars[0])); - assert_error(&ga); - ga_clear(&ga); - return 1; -*************** -*** 9010,9016 **** - assert_exception(typval_T *argvars) - { - garray_T ga; -! char_u *error = get_tv_string_chk(&argvars[0]); - - if (vimvars[VV_EXCEPTION].vv_str == NULL) - { ---- 9010,9016 ---- - assert_exception(typval_T *argvars) - { - garray_T ga; -! char_u *error = tv_get_string_chk(&argvars[0]); - - if (vimvars[VV_EXCEPTION].vv_str == NULL) - { -*************** -*** 9036,9042 **** - int - assert_beeps(typval_T *argvars) - { -! char_u *cmd = get_tv_string_chk(&argvars[0]); - garray_T ga; - int ret = 0; - ---- 9036,9042 ---- - int - assert_beeps(typval_T *argvars) - { -! char_u *cmd = tv_get_string_chk(&argvars[0]); - garray_T ga; - int ret = 0; - -*************** -*** 9062,9068 **** - int - assert_fails(typval_T *argvars) - { -! char_u *cmd = get_tv_string_chk(&argvars[0]); - garray_T ga; - int ret = 0; - char_u numbuf[NUMBUFLEN]; ---- 9062,9068 ---- - int - assert_fails(typval_T *argvars) - { -! char_u *cmd = tv_get_string_chk(&argvars[0]); - garray_T ga; - int ret = 0; - char_u numbuf[NUMBUFLEN]; -*************** -*** 9091,9097 **** - else if (argvars[1].v_type != VAR_UNKNOWN) - { - char_u buf[NUMBUFLEN]; -! char *error = (char *)get_tv_string_buf_chk(&argvars[1], buf); - - if (error == NULL - || strstr((char *)vimvars[VV_ERRMSG].vv_str, error) == NULL) ---- 9091,9097 ---- - else if (argvars[1].v_type != VAR_UNKNOWN) - { - char_u buf[NUMBUFLEN]; -! char *error = (char *)tv_get_string_buf_chk(&argvars[1], buf); - - if (error == NULL - || strstr((char *)vimvars[VV_ERRMSG].vv_str, error) == NULL) -*************** -*** 9325,9335 **** - if (typ1->v_type == VAR_FLOAT) - f1 = typ1->vval.v_float; - else -! f1 = get_tv_number(typ1); - if (typ2->v_type == VAR_FLOAT) - f2 = typ2->vval.v_float; - else -! f2 = get_tv_number(typ2); - n1 = FALSE; - switch (type) - { ---- 9325,9335 ---- - if (typ1->v_type == VAR_FLOAT) - f1 = typ1->vval.v_float; - else -! f1 = tv_get_number(typ1); - if (typ2->v_type == VAR_FLOAT) - f2 = typ2->vval.v_float; - else -! f2 = tv_get_number(typ2); - n1 = FALSE; - switch (type) - { -*************** -*** 9353,9360 **** - else if ((typ1->v_type == VAR_NUMBER || typ2->v_type == VAR_NUMBER) - && type != TYPE_MATCH && type != TYPE_NOMATCH) - { -! n1 = get_tv_number(typ1); -! n2 = get_tv_number(typ2); - switch (type) - { - case TYPE_EQUAL: n1 = (n1 == n2); break; ---- 9353,9360 ---- - else if ((typ1->v_type == VAR_NUMBER || typ2->v_type == VAR_NUMBER) - && type != TYPE_MATCH && type != TYPE_NOMATCH) - { -! n1 = tv_get_number(typ1); -! n2 = tv_get_number(typ2); - switch (type) - { - case TYPE_EQUAL: n1 = (n1 == n2); break; -*************** -*** 9370,9377 **** - } - else - { -! s1 = get_tv_string_buf(typ1, buf1); -! s2 = get_tv_string_buf(typ2, buf2); - if (type != TYPE_MATCH && type != TYPE_NOMATCH) - i = ic ? MB_STRICMP(s1, s2) : STRCMP(s1, s2); - else ---- 9370,9377 ---- - } - else - { -! s1 = tv_get_string_buf(typ1, buf1); -! s2 = tv_get_string_buf(typ2, buf2); - if (type != TYPE_MATCH && type != TYPE_NOMATCH) - i = ic ? MB_STRICMP(s1, s2) : STRCMP(s1, s2); - else -*************** -*** 10220,10229 **** - int error = FALSE; - - /* filter(): when expr is zero remove the item */ -! *remp = (get_tv_number_chk(&rettv, &error) == 0); - clear_tv(&rettv); - /* On type error, nothing has been removed; return FAIL to stop the -! * loop. The error message was given by get_tv_number_chk(). */ - if (error) - goto theend; - } ---- 10220,10229 ---- - int error = FALSE; - - /* filter(): when expr is zero remove the item */ -! *remp = (tv_get_number_chk(&rettv, &error) == 0); - clear_tv(&rettv); - /* On type error, nothing has been removed; return FAIL to stop the -! * loop. The error message was given by tv_get_number_chk(). */ - if (error) - goto theend; - } -*** ../vim-8.1.0614/src/proto/eval.pro 2018-10-25 12:30:52.274659868 +0200 ---- src/proto/eval.pro 2018-12-21 16:01:29.181557577 +0100 -*************** -*** 82,94 **** - void free_tv(typval_T *varp); - void clear_tv(typval_T *varp); - void init_tv(typval_T *varp); -! varnumber_T get_tv_number(typval_T *varp); -! varnumber_T get_tv_number_chk(typval_T *varp, int *denote); -! float_T get_tv_float(typval_T *varp); -! char_u *get_tv_string(typval_T *varp); -! char_u *get_tv_string_buf(typval_T *varp, char_u *buf); -! char_u *get_tv_string_chk(typval_T *varp); -! char_u *get_tv_string_buf_chk(typval_T *varp, char_u *buf); - dictitem_T *find_var(char_u *name, hashtab_T **htp, int no_autoload); - dictitem_T *find_var_in_ht(hashtab_T *ht, int htname, char_u *varname, int no_autoload); - hashtab_T *find_var_ht(char_u *name, char_u **varname); ---- 82,94 ---- - void free_tv(typval_T *varp); - void clear_tv(typval_T *varp); - void init_tv(typval_T *varp); -! varnumber_T tv_get_number(typval_T *varp); -! varnumber_T tv_get_number_chk(typval_T *varp, int *denote); -! float_T tv_get_float(typval_T *varp); -! char_u *tv_get_string(typval_T *varp); -! char_u *tv_get_string_buf(typval_T *varp, char_u *buf); -! char_u *tv_get_string_chk(typval_T *varp); -! char_u *tv_get_string_buf_chk(typval_T *varp, char_u *buf); - dictitem_T *find_var(char_u *name, hashtab_T **htp, int no_autoload); - dictitem_T *find_var_in_ht(hashtab_T *ht, int htname, char_u *varname, int no_autoload); - hashtab_T *find_var_ht(char_u *name, char_u **varname); -*** ../vim-8.1.0614/src/channel.c 2018-12-14 21:31:58.008319718 +0100 ---- src/channel.c 2018-12-21 15:59:11.838468714 +0100 -*************** -*** 938,944 **** - jobopt_T opt; - channel_T *channel = NULL; - -! address = get_tv_string(&argvars[0]); - if (argvars[1].v_type != VAR_UNKNOWN - && (argvars[1].v_type != VAR_DICT || argvars[1].vval.v_dict == NULL)) - { ---- 938,944 ---- - jobopt_T opt; - channel_T *channel = NULL; - -! address = tv_get_string(&argvars[0]); - if (argvars[1].v_type != VAR_UNKNOWN - && (argvars[1].v_type != VAR_DICT || argvars[1].vval.v_dict == NULL)) - { -*************** -*** 4003,4009 **** - rettv->v_type = VAR_STRING; - rettv->vval.v_string = NULL; - -! text = get_tv_string_buf(&argvars[1], buf); - channel = send_common(argvars, text, 0, eval, &opt, - eval ? "ch_evalraw" : "ch_sendraw", &part_read); - if (channel != NULL && eval) ---- 4003,4009 ---- - rettv->v_type = VAR_STRING; - rettv->vval.v_string = NULL; - -! text = tv_get_string_buf(&argvars[1], buf); - channel = send_common(argvars, text, 0, eval, &opt, - eval ? "ch_evalraw" : "ch_sendraw", &part_read); - if (channel != NULL && eval) -*************** -*** 4402,4408 **** - static int - handle_mode(typval_T *item, jobopt_T *opt, ch_mode_T *modep, int jo) - { -! char_u *val = get_tv_string(item); - - opt->jo_set |= jo; - if (STRCMP(val, "nl") == 0) ---- 4402,4408 ---- - static int - handle_mode(typval_T *item, jobopt_T *opt, ch_mode_T *modep, int jo) - { -! char_u *val = tv_get_string(item); - - opt->jo_set |= jo; - if (STRCMP(val, "nl") == 0) -*************** -*** 4424,4430 **** - static int - handle_io(typval_T *item, ch_part_T part, jobopt_T *opt) - { -! char_u *val = get_tv_string(item); - - opt->jo_set |= JO_OUT_IO << (part - PART_OUT); - if (STRCMP(val, "null") == 0) ---- 4424,4430 ---- - static int - handle_io(typval_T *item, ch_part_T part, jobopt_T *opt) - { -! char_u *val = tv_get_string(item); - - opt->jo_set |= JO_OUT_IO << (part - PART_OUT); - if (STRCMP(val, "null") == 0) -*************** -*** 4561,4567 **** - { - if (!(supported & JO_MODE)) - break; -! opt->jo_noblock = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "in_io") == 0 - || STRCMP(hi->hi_key, "out_io") == 0 ---- 4561,4567 ---- - { - if (!(supported & JO_MODE)) - break; -! opt->jo_noblock = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "in_io") == 0 - || STRCMP(hi->hi_key, "out_io") == 0 -*************** -*** 4582,4594 **** - break; - opt->jo_set |= JO_OUT_NAME << (part - PART_OUT); - opt->jo_io_name[part] = -! get_tv_string_buf_chk(item, opt->jo_io_name_buf[part]); - } - else if (STRCMP(hi->hi_key, "pty") == 0) - { - if (!(supported & JO_MODE)) - break; -! opt->jo_pty = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "in_buf") == 0 - || STRCMP(hi->hi_key, "out_buf") == 0 ---- 4582,4594 ---- - break; - opt->jo_set |= JO_OUT_NAME << (part - PART_OUT); - opt->jo_io_name[part] = -! tv_get_string_buf_chk(item, opt->jo_io_name_buf[part]); - } - else if (STRCMP(hi->hi_key, "pty") == 0) - { - if (!(supported & JO_MODE)) - break; -! opt->jo_pty = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "in_buf") == 0 - || STRCMP(hi->hi_key, "out_buf") == 0 -*************** -*** 4599,4608 **** - if (!(supported & JO_OUT_IO)) - break; - opt->jo_set |= JO_OUT_BUF << (part - PART_OUT); -! opt->jo_io_buf[part] = get_tv_number(item); - if (opt->jo_io_buf[part] <= 0) - { -! EMSG3(_(e_invargNval), hi->hi_key, get_tv_string(item)); - return FAIL; - } - if (buflist_findnr(opt->jo_io_buf[part]) == NULL) ---- 4599,4608 ---- - if (!(supported & JO_OUT_IO)) - break; - opt->jo_set |= JO_OUT_BUF << (part - PART_OUT); -! opt->jo_io_buf[part] = tv_get_number(item); - if (opt->jo_io_buf[part] <= 0) - { -! EMSG3(_(e_invargNval), hi->hi_key, tv_get_string(item)); - return FAIL; - } - if (buflist_findnr(opt->jo_io_buf[part]) == NULL) -*************** -*** 4619,4625 **** - if (!(supported & JO_OUT_IO)) - break; - opt->jo_set |= JO_OUT_MODIFIABLE << (part - PART_OUT); -! opt->jo_modifiable[part] = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "out_msg") == 0 - || STRCMP(hi->hi_key, "err_msg") == 0) ---- 4619,4625 ---- - if (!(supported & JO_OUT_IO)) - break; - opt->jo_set |= JO_OUT_MODIFIABLE << (part - PART_OUT); -! opt->jo_modifiable[part] = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "out_msg") == 0 - || STRCMP(hi->hi_key, "err_msg") == 0) -*************** -*** 4629,4635 **** - if (!(supported & JO_OUT_IO)) - break; - opt->jo_set2 |= JO2_OUT_MSG << (part - PART_OUT); -! opt->jo_message[part] = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "in_top") == 0 - || STRCMP(hi->hi_key, "in_bot") == 0) ---- 4629,4635 ---- - if (!(supported & JO_OUT_IO)) - break; - opt->jo_set2 |= JO2_OUT_MSG << (part - PART_OUT); -! opt->jo_message[part] = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "in_top") == 0 - || STRCMP(hi->hi_key, "in_bot") == 0) -*************** -*** 4648,4657 **** - lp = &opt->jo_in_bot; - opt->jo_set |= JO_IN_BOT; - } -! *lp = get_tv_number(item); - if (*lp < 0) - { -! EMSG3(_(e_invargNval), hi->hi_key, get_tv_string(item)); - return FAIL; - } - } ---- 4648,4657 ---- - lp = &opt->jo_in_bot; - opt->jo_set |= JO_IN_BOT; - } -! *lp = tv_get_number(item); - if (*lp < 0) - { -! EMSG3(_(e_invargNval), hi->hi_key, tv_get_string(item)); - return FAIL; - } - } -*************** -*** 4718,4724 **** - else if (STRCMP(hi->hi_key, "drop") == 0) - { - int never = FALSE; -! val = get_tv_string(item); - - if (STRCMP(val, "never") == 0) - never = TRUE; ---- 4718,4724 ---- - else if (STRCMP(hi->hi_key, "drop") == 0) - { - int never = FALSE; -! val = tv_get_string(item); - - if (STRCMP(val, "never") == 0) - never = TRUE; -*************** -*** 4747,4753 **** - if (!(supported2 & JO2_TERM_NAME)) - break; - opt->jo_set2 |= JO2_TERM_NAME; -! opt->jo_term_name = get_tv_string_chk(item); - if (opt->jo_term_name == NULL) - { - EMSG2(_(e_invargval), "term_name"); ---- 4747,4753 ---- - if (!(supported2 & JO2_TERM_NAME)) - break; - opt->jo_set2 |= JO2_TERM_NAME; -! opt->jo_term_name = tv_get_string_chk(item); - if (opt->jo_term_name == NULL) - { - EMSG2(_(e_invargval), "term_name"); -*************** -*** 4758,4764 **** - { - if (!(supported2 & JO2_TERM_FINISH)) - break; -! val = get_tv_string(item); - if (STRCMP(val, "open") != 0 && STRCMP(val, "close") != 0) - { - EMSG3(_(e_invargNval), "term_finish", val); ---- 4758,4764 ---- - { - if (!(supported2 & JO2_TERM_FINISH)) - break; -! val = tv_get_string(item); - if (STRCMP(val, "open") != 0 && STRCMP(val, "close") != 0) - { - EMSG3(_(e_invargNval), "term_finish", val); -*************** -*** 4774,4780 **** - if (!(supported2 & JO2_TERM_OPENCMD)) - break; - opt->jo_set2 |= JO2_TERM_OPENCMD; -! p = opt->jo_term_opencmd = get_tv_string_chk(item); - if (p != NULL) - { - /* Must have %d and no other %. */ ---- 4774,4780 ---- - if (!(supported2 & JO2_TERM_OPENCMD)) - break; - opt->jo_set2 |= JO2_TERM_OPENCMD; -! p = opt->jo_term_opencmd = tv_get_string_chk(item); - if (p != NULL) - { - /* Must have %d and no other %. */ -*************** -*** 4796,4802 **** - if (!(supported2 & JO2_EOF_CHARS)) - break; - opt->jo_set2 |= JO2_EOF_CHARS; -! p = opt->jo_eof_chars = get_tv_string_chk(item); - if (p == NULL) - { - EMSG2(_(e_invargval), "eof_chars"); ---- 4796,4802 ---- - if (!(supported2 & JO2_EOF_CHARS)) - break; - opt->jo_set2 |= JO2_EOF_CHARS; -! p = opt->jo_eof_chars = tv_get_string_chk(item); - if (p == NULL) - { - EMSG2(_(e_invargval), "eof_chars"); -*************** -*** 4808,4861 **** - if (!(supported2 & JO2_TERM_ROWS)) - break; - opt->jo_set2 |= JO2_TERM_ROWS; -! opt->jo_term_rows = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "term_cols") == 0) - { - if (!(supported2 & JO2_TERM_COLS)) - break; - opt->jo_set2 |= JO2_TERM_COLS; -! opt->jo_term_cols = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "vertical") == 0) - { - if (!(supported2 & JO2_VERTICAL)) - break; - opt->jo_set2 |= JO2_VERTICAL; -! opt->jo_vertical = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "curwin") == 0) - { - if (!(supported2 & JO2_CURWIN)) - break; - opt->jo_set2 |= JO2_CURWIN; -! opt->jo_curwin = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "hidden") == 0) - { - if (!(supported2 & JO2_HIDDEN)) - break; - opt->jo_set2 |= JO2_HIDDEN; -! opt->jo_hidden = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "norestore") == 0) - { - if (!(supported2 & JO2_NORESTORE)) - break; - opt->jo_set2 |= JO2_NORESTORE; -! opt->jo_term_norestore = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "term_kill") == 0) - { - if (!(supported2 & JO2_TERM_KILL)) - break; - opt->jo_set2 |= JO2_TERM_KILL; -! opt->jo_term_kill = get_tv_string_chk(item); - } - # if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) - else if (STRCMP(hi->hi_key, "ansi_colors") == 0) - { -! int n = 0; - listitem_T *li; - long_u rgb[16]; - ---- 4808,4861 ---- - if (!(supported2 & JO2_TERM_ROWS)) - break; - opt->jo_set2 |= JO2_TERM_ROWS; -! opt->jo_term_rows = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "term_cols") == 0) - { - if (!(supported2 & JO2_TERM_COLS)) - break; - opt->jo_set2 |= JO2_TERM_COLS; -! opt->jo_term_cols = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "vertical") == 0) - { - if (!(supported2 & JO2_VERTICAL)) - break; - opt->jo_set2 |= JO2_VERTICAL; -! opt->jo_vertical = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "curwin") == 0) - { - if (!(supported2 & JO2_CURWIN)) - break; - opt->jo_set2 |= JO2_CURWIN; -! opt->jo_curwin = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "hidden") == 0) - { - if (!(supported2 & JO2_HIDDEN)) - break; - opt->jo_set2 |= JO2_HIDDEN; -! opt->jo_hidden = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "norestore") == 0) - { - if (!(supported2 & JO2_NORESTORE)) - break; - opt->jo_set2 |= JO2_NORESTORE; -! opt->jo_term_norestore = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "term_kill") == 0) - { - if (!(supported2 & JO2_TERM_KILL)) - break; - opt->jo_set2 |= JO2_TERM_KILL; -! opt->jo_term_kill = tv_get_string_chk(item); - } - # if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS) - else if (STRCMP(hi->hi_key, "ansi_colors") == 0) - { -! int n = 0; - listitem_T *li; - long_u rgb[16]; - -*************** -*** 4873,4881 **** - for (; li != NULL && n < 16; li = li->li_next, n++) - { - char_u *color_name; -! guicolor_T guicolor; - -! color_name = get_tv_string_chk(&li->li_tv); - if (color_name == NULL) - return FAIL; - ---- 4873,4881 ---- - for (; li != NULL && n < 16; li = li->li_next, n++) - { - char_u *color_name; -! guicolor_T guicolor; - -! color_name = tv_get_string_chk(&li->li_tv); - if (color_name == NULL) - return FAIL; - -*************** -*** 4915,4921 **** - { - if (!(supported2 & JO2_CWD)) - break; -! opt->jo_cwd = get_tv_string_buf_chk(item, opt->jo_cwd_buf); - if (opt->jo_cwd == NULL || !mch_isdir(opt->jo_cwd) - #ifndef WIN32 // Win32 directories don't have the concept of "executable" - || mch_access((char *)opt->jo_cwd, X_OK) != 0 ---- 4915,4921 ---- - { - if (!(supported2 & JO2_CWD)) - break; -! opt->jo_cwd = tv_get_string_buf_chk(item, opt->jo_cwd_buf); - if (opt->jo_cwd == NULL || !mch_isdir(opt->jo_cwd) - #ifndef WIN32 // Win32 directories don't have the concept of "executable" - || mch_access((char *)opt->jo_cwd, X_OK) != 0 -*************** -*** 4932,4966 **** - if (!(supported & JO_WAITTIME)) - break; - opt->jo_set |= JO_WAITTIME; -! opt->jo_waittime = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "timeout") == 0) - { - if (!(supported & JO_TIMEOUT)) - break; - opt->jo_set |= JO_TIMEOUT; -! opt->jo_timeout = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "out_timeout") == 0) - { - if (!(supported & JO_OUT_TIMEOUT)) - break; - opt->jo_set |= JO_OUT_TIMEOUT; -! opt->jo_out_timeout = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "err_timeout") == 0) - { - if (!(supported & JO_ERR_TIMEOUT)) - break; - opt->jo_set |= JO_ERR_TIMEOUT; -! opt->jo_err_timeout = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "part") == 0) - { - if (!(supported & JO_PART)) - break; - opt->jo_set |= JO_PART; -! val = get_tv_string(item); - if (STRCMP(val, "err") == 0) - opt->jo_part = PART_ERR; - else if (STRCMP(val, "out") == 0) ---- 4932,4966 ---- - if (!(supported & JO_WAITTIME)) - break; - opt->jo_set |= JO_WAITTIME; -! opt->jo_waittime = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "timeout") == 0) - { - if (!(supported & JO_TIMEOUT)) - break; - opt->jo_set |= JO_TIMEOUT; -! opt->jo_timeout = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "out_timeout") == 0) - { - if (!(supported & JO_OUT_TIMEOUT)) - break; - opt->jo_set |= JO_OUT_TIMEOUT; -! opt->jo_out_timeout = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "err_timeout") == 0) - { - if (!(supported & JO_ERR_TIMEOUT)) - break; - opt->jo_set |= JO_ERR_TIMEOUT; -! opt->jo_err_timeout = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "part") == 0) - { - if (!(supported & JO_PART)) - break; - opt->jo_set |= JO_PART; -! val = tv_get_string(item); - if (STRCMP(val, "err") == 0) - opt->jo_part = PART_ERR; - else if (STRCMP(val, "out") == 0) -*************** -*** 4976,4989 **** - if (!(supported & JO_ID)) - break; - opt->jo_set |= JO_ID; -! opt->jo_id = get_tv_number(item); - } - else if (STRCMP(hi->hi_key, "stoponexit") == 0) - { - if (!(supported & JO_STOPONEXIT)) - break; - opt->jo_set |= JO_STOPONEXIT; -! opt->jo_stoponexit = get_tv_string_buf_chk(item, - opt->jo_soe_buf); - if (opt->jo_stoponexit == NULL) - { ---- 4976,4989 ---- - if (!(supported & JO_ID)) - break; - opt->jo_set |= JO_ID; -! opt->jo_id = tv_get_number(item); - } - else if (STRCMP(hi->hi_key, "stoponexit") == 0) - { - if (!(supported & JO_STOPONEXIT)) - break; - opt->jo_set |= JO_STOPONEXIT; -! opt->jo_stoponexit = tv_get_string_buf_chk(item, - opt->jo_soe_buf); - if (opt->jo_stoponexit == NULL) - { -*************** -*** 4996,5002 **** - if (!(supported & JO_BLOCK_WRITE)) - break; - opt->jo_set |= JO_BLOCK_WRITE; -! opt->jo_block_write = get_tv_number(item); - } - else - break; ---- 4996,5002 ---- - if (!(supported & JO_BLOCK_WRITE)) - break; - opt->jo_set |= JO_BLOCK_WRITE; -! opt->jo_block_write = tv_get_number(item); - } - else - break; -*************** -*** 5035,5041 **** - } - else - { -! EMSG2(_(e_invarg2), get_tv_string(tv)); - return NULL; - } - if (channel != NULL && reading) ---- 5035,5041 ---- - } - else - { -! EMSG2(_(e_invarg2), tv_get_string(tv)); - return NULL; - } - if (channel != NULL && reading) -*************** -*** 5262,5268 **** - - for (li = l->lv_first; li != NULL; li = li->li_next) - { -! s = get_tv_string_chk(&li->li_tv); - if (s == NULL) - return FAIL; - s = win32_escape_arg(s); ---- 5262,5268 ---- - - for (li = l->lv_first; li != NULL; li = li->li_next) - { -! s = tv_get_string_chk(&li->li_tv); - if (s == NULL) - return FAIL; - s = win32_escape_arg(s); -*************** -*** 5832,5838 **** - arg = (char_u *)""; - else - { -! arg = get_tv_string_chk(&argvars[1]); - if (arg == NULL) - { - EMSG(_(e_invarg)); ---- 5832,5838 ---- - arg = (char_u *)""; - else - { -! arg = tv_get_string_chk(&argvars[1]); - if (arg == NULL) - { - EMSG(_(e_invarg)); -*** ../vim-8.1.0614/src/dict.c 2018-12-14 15:38:28.323597695 +0100 ---- src/dict.c 2018-12-21 15:57:01.811321106 +0100 -*************** -*** 495,501 **** - di = dict_find(d, key, -1); - if (di == NULL) - return NULL; -! s = get_tv_string(&di->di_tv); - if (save && s != NULL) - s = vim_strsave(s); - return s; ---- 495,501 ---- - di = dict_find(d, key, -1); - if (di == NULL) - return NULL; -! s = tv_get_string(&di->di_tv); - if (save && s != NULL) - s = vim_strsave(s); - return s; -*************** -*** 513,519 **** - di = dict_find(d, key, -1); - if (di == NULL) - return 0; -! return get_tv_number(&di->di_tv); - } - - /* ---- 513,519 ---- - di = dict_find(d, key, -1); - if (di == NULL) - return 0; -! return tv_get_number(&di->di_tv); - } - - /* -*************** -*** 630,639 **** - } - if (evaluate) - { -! key = get_tv_string_buf_chk(&tvkey, buf); - if (key == NULL) - { -! /* "key" is NULL when get_tv_string_buf_chk() gave an errmsg */ - clear_tv(&tvkey); - goto failret; - } ---- 630,639 ---- - } - if (evaluate) - { -! key = tv_get_string_buf_chk(&tvkey, buf); - if (key == NULL) - { -! /* "key" is NULL when tv_get_string_buf_chk() gave an errmsg */ - clear_tv(&tvkey); - goto failret; - } -*** ../vim-8.1.0614/src/evalfunc.c 2018-12-21 15:16:57.479579788 +0100 ---- src/evalfunc.c 2018-12-21 16:00:34.913918741 +0100 -*************** -*** 1133,1144 **** - * Returns -1 on error. - */ - static linenr_T -! get_tv_lnum(typval_T *argvars) - { - typval_T rettv; - linenr_T lnum; - -! lnum = (linenr_T)get_tv_number_chk(&argvars[0], NULL); - if (lnum == 0) /* no valid number, try using line() */ - { - rettv.v_type = VAR_NUMBER; ---- 1133,1144 ---- - * Returns -1 on error. - */ - static linenr_T -! tv_get_lnum(typval_T *argvars) - { - typval_T rettv; - linenr_T lnum; - -! lnum = (linenr_T)tv_get_number_chk(&argvars[0], NULL); - if (lnum == 0) /* no valid number, try using line() */ - { - rettv.v_type = VAR_NUMBER; -*************** -*** 1149,1154 **** ---- 1149,1170 ---- - return lnum; - } - -+ /* -+ * Get the lnum from the first argument. -+ * Also accepts "$", then "buf" is used. -+ * Returns 0 on error. -+ */ -+ static linenr_T -+ tv_get_lnum_buf(typval_T *argvars, buf_T *buf) -+ { -+ if (argvars[0].v_type == VAR_STRING -+ && argvars[0].vval.v_string != NULL -+ && argvars[0].vval.v_string[0] == '$' -+ && buf != NULL) -+ return buf->b_ml.ml_line_count; -+ return (linenr_T)tv_get_number_chk(&argvars[0], NULL); -+ } -+ - #ifdef FEAT_FLOAT - /* - * Get the float value of "argvars[0]" into "f". -*************** -*** 1187,1193 **** - varnumber_T n; - int error = FALSE; - -! n = get_tv_number_chk(&argvars[0], &error); - if (error) - rettv->vval.v_number = -1; - else if (n > 0) ---- 1203,1209 ---- - varnumber_T n; - int error = FALSE; - -! n = tv_get_number_chk(&argvars[0], &error); - if (error) - rettv->vval.v_number = -1; - else if (n > 0) -*************** -*** 1240,1263 **** - static void - f_and(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = get_tv_number_chk(&argvars[0], NULL) -! & get_tv_number_chk(&argvars[1], NULL); -! } -! -! /* -! * Get the lnum from the first argument. -! * Also accepts "$", then "buf" is used. -! * Returns 0 on error. -! */ -! static linenr_T -! get_tv_lnum_buf(typval_T *argvars, buf_T *buf) -! { -! if (argvars[0].v_type == VAR_STRING -! && argvars[0].vval.v_string != NULL -! && argvars[0].vval.v_string[0] == '$' -! && buf != NULL) -! return buf->b_ml.ml_line_count; -! return (linenr_T)get_tv_number_chk(&argvars[0], NULL); - } - - /* ---- 1256,1263 ---- - static void - f_and(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = tv_get_number_chk(&argvars[0], NULL) -! & tv_get_number_chk(&argvars[1], NULL); - } - - /* -*************** -*** 1330,1336 **** - li = l->lv_first; - } - else -! line = get_tv_string_chk(lines); - - /* default result is zero == OK */ - for (;;) ---- 1330,1336 ---- - li = l->lv_first; - } - else -! line = tv_get_string_chk(lines); - - /* default result is zero == OK */ - for (;;) -*************** -*** 1340,1346 **** - /* list argument, get next string */ - if (li == NULL) - break; -! line = get_tv_string_chk(&li->li_tv); - li = li->li_next; - } - ---- 1340,1346 ---- - /* list argument, get next string */ - if (li == NULL) - break; -! line = tv_get_string_chk(&li->li_tv); - li = li->li_next; - } - -*************** -*** 1411,1417 **** - static void - f_append(typval_T *argvars, typval_T *rettv) - { -! linenr_T lnum = get_tv_lnum(&argvars[0]); - - set_buffer_lines(curbuf, lnum, TRUE, &argvars[1], rettv); - } ---- 1411,1417 ---- - static void - f_append(typval_T *argvars, typval_T *rettv) - { -! linenr_T lnum = tv_get_lnum(&argvars[0]); - - set_buffer_lines(curbuf, lnum, TRUE, &argvars[1], rettv); - } -*************** -*** 1430,1436 **** - rettv->vval.v_number = 1; /* FAIL */ - else - { -! lnum = get_tv_lnum_buf(&argvars[1], buf); - set_buffer_lines(buf, lnum, TRUE, &argvars[2], rettv); - } - } ---- 1430,1436 ---- - rettv->vval.v_number = 1; /* FAIL */ - else - { -! lnum = tv_get_lnum_buf(&argvars[1], buf); - set_buffer_lines(buf, lnum, TRUE, &argvars[2], rettv); - } - } -*************** -*** 1447,1453 **** - // use the current window - rettv->vval.v_number = ARGCOUNT; - else if (argvars[0].v_type == VAR_NUMBER -! && get_tv_number(&argvars[0]) == -1) - // use the global argument list - rettv->vval.v_number = GARGCOUNT; - else ---- 1447,1453 ---- - // use the current window - rettv->vval.v_number = ARGCOUNT; - else if (argvars[0].v_type == VAR_NUMBER -! && tv_get_number(&argvars[0]) == -1) - // use the global argument list - rettv->vval.v_number = GARGCOUNT; - else -*************** -*** 1516,1522 **** - argcount = ARGCOUNT; - } - else if (argvars[1].v_type == VAR_NUMBER -! && get_tv_number(&argvars[1]) == -1) - { - arglist = GARGLIST; - argcount = GARGCOUNT; ---- 1516,1522 ---- - argcount = ARGCOUNT; - } - else if (argvars[1].v_type == VAR_NUMBER -! && tv_get_number(&argvars[1]) == -1) - { - arglist = GARGLIST; - argcount = GARGCOUNT; -*************** -*** 1535,1541 **** - - rettv->v_type = VAR_STRING; - rettv->vval.v_string = NULL; -! idx = get_tv_number_chk(&argvars[0], NULL); - if (arglist != NULL && idx >= 0 && idx < argcount) - rettv->vval.v_string = vim_strsave(alist_name(&arglist[idx])); - else if (idx == -1) ---- 1535,1541 ---- - - rettv->v_type = VAR_STRING; - rettv->vval.v_string = NULL; -! idx = tv_get_number_chk(&argvars[0], NULL); - if (arglist != NULL && idx >= 0 && idx < argcount) - rettv->vval.v_string = vim_strsave(alist_name(&arglist[idx])); - else if (idx == -1) -*************** -*** 1717,1723 **** - ) - post_balloon(balloonEval, NULL, argvars[0].vval.v_list); - else -! post_balloon(balloonEval, get_tv_string_chk(&argvars[0]), NULL); - } - } - ---- 1717,1723 ---- - ) - post_balloon(balloonEval, NULL, argvars[0].vval.v_list); - else -! post_balloon(balloonEval, tv_get_string_chk(&argvars[0]), NULL); - } - } - -*************** -*** 1727,1733 **** - { - if (rettv_list_alloc(rettv) == OK) - { -! char_u *msg = get_tv_string_chk(&argvars[0]); - - if (msg != NULL) - { ---- 1727,1733 ---- - { - if (rettv_list_alloc(rettv) == OK) - { -! char_u *msg = tv_get_string_chk(&argvars[0]); - - if (msg != NULL) - { -*************** -*** 1762,1771 **** - char_u buf2[NUMBUFLEN]; - int error = FALSE; - -! save = (int)get_tv_number_chk(&argvars[0], &error); -! title = get_tv_string_chk(&argvars[1]); -! initdir = get_tv_string_buf_chk(&argvars[2], buf); -! defname = get_tv_string_buf_chk(&argvars[3], buf2); - - if (error || title == NULL || initdir == NULL || defname == NULL) - rettv->vval.v_string = NULL; ---- 1762,1771 ---- - char_u buf2[NUMBUFLEN]; - int error = FALSE; - -! save = (int)tv_get_number_chk(&argvars[0], &error); -! title = tv_get_string_chk(&argvars[1]); -! initdir = tv_get_string_buf_chk(&argvars[2], buf); -! defname = tv_get_string_buf_chk(&argvars[3], buf2); - - if (error || title == NULL || initdir == NULL || defname == NULL) - rettv->vval.v_string = NULL; -*************** -*** 1790,1797 **** - char_u *initdir; - char_u buf[NUMBUFLEN]; - -! title = get_tv_string_chk(&argvars[0]); -! initdir = get_tv_string_buf_chk(&argvars[1], buf); - - if (title == NULL || initdir == NULL) - rettv->vval.v_string = NULL; ---- 1790,1797 ---- - char_u *initdir; - char_u buf[NUMBUFLEN]; - -! title = tv_get_string_chk(&argvars[0]); -! initdir = tv_get_string_buf_chk(&argvars[1], buf); - - if (title == NULL || initdir == NULL) - rettv->vval.v_string = NULL; -*************** -*** 1924,1930 **** - { - buf_T *buf; - -! (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - buf = get_buf_tv(&argvars[0], FALSE); - rettv->v_type = VAR_STRING; ---- 1924,1930 ---- - { - buf_T *buf; - -! (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - buf = get_buf_tv(&argvars[0], FALSE); - rettv->v_type = VAR_STRING; -*************** -*** 1945,1951 **** - int error = FALSE; - char_u *name; - -! (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - buf = get_buf_tv(&argvars[0], FALSE); - --emsg_off; ---- 1945,1951 ---- - int error = FALSE; - char_u *name; - -! (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - buf = get_buf_tv(&argvars[0], FALSE); - --emsg_off; -*************** -*** 1954,1962 **** - * new buffer. */ - if (buf == NULL - && argvars[1].v_type != VAR_UNKNOWN -! && get_tv_number_chk(&argvars[1], &error) != 0 - && !error -! && (name = get_tv_string_chk(&argvars[0])) != NULL - && !error) - buf = buflist_new(name, NULL, (linenr_T)1, 0); - ---- 1954,1962 ---- - * new buffer. */ - if (buf == NULL - && argvars[1].v_type != VAR_UNKNOWN -! && tv_get_number_chk(&argvars[1], &error) != 0 - && !error -! && (name = tv_get_string_chk(&argvars[0])) != NULL - && !error) - buf = buflist_new(name, NULL, (linenr_T)1, 0); - -*************** -*** 1973,1979 **** - int winnr = 0; - buf_T *buf; - -! (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - buf = get_buf_tv(&argvars[0], TRUE); - FOR_ALL_WINDOWS(wp) ---- 1973,1979 ---- - int winnr = 0; - buf_T *buf; - -! (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - buf = get_buf_tv(&argvars[0], TRUE); - FOR_ALL_WINDOWS(wp) -*************** -*** 2015,2021 **** - #else - long boff = 0; - -! boff = get_tv_number(&argvars[0]) - 1; /* boff gets -1 on type error */ - if (boff < 0) - rettv->vval.v_number = -1; - else ---- 2015,2021 ---- - #else - long boff = 0; - -! boff = tv_get_number(&argvars[0]) - 1; /* boff gets -1 on type error */ - if (boff < 0) - rettv->vval.v_number = -1; - else -*************** -*** 2033,2040 **** - char_u *str; - varnumber_T idx; - -! str = get_tv_string_chk(&argvars[0]); -! idx = get_tv_number_chk(&argvars[1], NULL); - rettv->vval.v_number = -1; - if (str == NULL || idx < 0) - return; ---- 2033,2040 ---- - char_u *str; - varnumber_T idx; - -! str = tv_get_string_chk(&argvars[0]); -! idx = tv_get_number_chk(&argvars[1], NULL); - rettv->vval.v_number = -1; - if (str == NULL || idx < 0) - return; -*************** -*** 2101,2107 **** - func = partial_name(partial); - } - else -! func = get_tv_string(&argvars[0]); - if (*func == NUL) - return; /* type error or empty name */ - ---- 2101,2107 ---- - func = partial_name(partial); - } - else -! func = tv_get_string(&argvars[0]); - if (*func == NUL) - return; /* type error or empty name */ - -*************** -*** 2189,2195 **** - rettv->vval.v_number = -1; - if (channel != NULL) - { -! char_u *what = get_tv_string(&argvars[1]); - int part; - - if (STRCMP(what, "err") == 0) ---- 2189,2195 ---- - rettv->vval.v_number = -1; - if (channel != NULL) - { -! char_u *what = tv_get_string(&argvars[1]); - int part; - - if (STRCMP(what, "err") == 0) -*************** -*** 2241,2247 **** - static void - f_ch_log(typval_T *argvars, typval_T *rettv UNUSED) - { -! char_u *msg = get_tv_string(&argvars[0]); - channel_T *channel = NULL; - - if (argvars[1].v_type != VAR_UNKNOWN) ---- 2241,2247 ---- - static void - f_ch_log(typval_T *argvars, typval_T *rettv UNUSED) - { -! char_u *msg = tv_get_string(&argvars[0]); - channel_T *channel = NULL; - - if (argvars[1].v_type != VAR_UNKNOWN) -*************** -*** 2263,2271 **** - /* Don't open a file in restricted mode. */ - if (check_restricted() || check_secure()) - return; -! fname = get_tv_string(&argvars[0]); - if (argvars[1].v_type == VAR_STRING) -! opt = get_tv_string_buf(&argvars[1], buf); - ch_logfile(fname, opt); - } - ---- 2263,2271 ---- - /* Don't open a file in restricted mode. */ - if (check_restricted() || check_secure()) - return; -! fname = tv_get_string(&argvars[0]); - if (argvars[1].v_type == VAR_STRING) -! opt = tv_get_string_buf(&argvars[1], buf); - ch_logfile(fname, opt); - } - -*************** -*** 2403,2418 **** - int utf8 = 0; - - if (argvars[1].v_type != VAR_UNKNOWN) -! utf8 = (int)get_tv_number_chk(&argvars[1], NULL); - - if (utf8) -! rettv->vval.v_number = (*utf_ptr2char)(get_tv_string(&argvars[0])); - else -! rettv->vval.v_number = (*mb_ptr2char)(get_tv_string(&argvars[0])); - } - else - #endif -! rettv->vval.v_number = get_tv_string(&argvars[0])[0]; - } - - /* ---- 2403,2418 ---- - int utf8 = 0; - - if (argvars[1].v_type != VAR_UNKNOWN) -! utf8 = (int)tv_get_number_chk(&argvars[1], NULL); - - if (utf8) -! rettv->vval.v_number = (*utf_ptr2char)(tv_get_string(&argvars[0])); - else -! rettv->vval.v_number = (*mb_ptr2char)(tv_get_string(&argvars[0])); - } - else - #endif -! rettv->vval.v_number = tv_get_string(&argvars[0])[0]; - } - - /* -*************** -*** 2426,2432 **** - linenr_T lnum; - - pos = curwin->w_cursor; -! lnum = get_tv_lnum(argvars); - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count) - { - curwin->w_cursor.lnum = lnum; ---- 2426,2432 ---- - linenr_T lnum; - - pos = curwin->w_cursor; -! lnum = tv_get_lnum(argvars); - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count) - { - curwin->w_cursor.lnum = lnum; -*************** -*** 2526,2532 **** - return; - } - -! startcol = (int)get_tv_number_chk(&argvars[0], NULL); - if (startcol <= 0) - return; - ---- 2526,2532 ---- - return; - } - -! startcol = (int)tv_get_number_chk(&argvars[0], NULL); - if (startcol <= 0) - return; - -*************** -*** 2573,2592 **** - char_u *typestr; - int error = FALSE; - -! message = get_tv_string_chk(&argvars[0]); - if (message == NULL) - error = TRUE; - if (argvars[1].v_type != VAR_UNKNOWN) - { -! buttons = get_tv_string_buf_chk(&argvars[1], buf); - if (buttons == NULL) - error = TRUE; - if (argvars[2].v_type != VAR_UNKNOWN) - { -! def = (int)get_tv_number_chk(&argvars[2], &error); - if (argvars[3].v_type != VAR_UNKNOWN) - { -! typestr = get_tv_string_buf_chk(&argvars[3], buf2); - if (typestr == NULL) - error = TRUE; - else ---- 2573,2592 ---- - char_u *typestr; - int error = FALSE; - -! message = tv_get_string_chk(&argvars[0]); - if (message == NULL) - error = TRUE; - if (argvars[1].v_type != VAR_UNKNOWN) - { -! buttons = tv_get_string_buf_chk(&argvars[1], buf); - if (buttons == NULL) - error = TRUE; - if (argvars[2].v_type != VAR_UNKNOWN) - { -! def = (int)tv_get_number_chk(&argvars[2], &error); - if (argvars[3].v_type != VAR_UNKNOWN) - { -! typestr = tv_get_string_buf_chk(&argvars[3], buf2); - if (typestr == NULL) - error = TRUE; - else -*************** -*** 2665,2675 **** - int error = FALSE; - - if (argvars[2].v_type != VAR_UNKNOWN) -! ic = (int)get_tv_number_chk(&argvars[2], &error); - - if (argvars[0].v_type == VAR_STRING) - { -! char_u *expr = get_tv_string_chk(&argvars[1]); - char_u *p = argvars[0].vval.v_string; - char_u *next; - ---- 2665,2675 ---- - int error = FALSE; - - if (argvars[2].v_type != VAR_UNKNOWN) -! ic = (int)tv_get_number_chk(&argvars[2], &error); - - if (argvars[0].v_type == VAR_STRING) - { -! char_u *expr = tv_get_string_chk(&argvars[1]); - char_u *p = argvars[0].vval.v_string; - char_u *next; - -*************** -*** 2713,2719 **** - { - if (argvars[3].v_type != VAR_UNKNOWN) - { -! idx = (long)get_tv_number_chk(&argvars[3], &error); - if (!error) - { - li = list_find(l, idx); ---- 2713,2719 ---- - { - if (argvars[3].v_type != VAR_UNKNOWN) - { -! idx = (long)tv_get_number_chk(&argvars[3], &error); - if (!error) - { - li = list_find(l, idx); -*************** -*** 2778,2787 **** - if (argvars[0].v_type != VAR_UNKNOWN - && argvars[1].v_type != VAR_UNKNOWN) - { -! num = (int)get_tv_number(&argvars[0]); -! dbpath = get_tv_string(&argvars[1]); - if (argvars[2].v_type != VAR_UNKNOWN) -! prepend = get_tv_string_buf(&argvars[2], buf); - } - - rettv->vval.v_number = cs_connection(num, dbpath, prepend); ---- 2778,2787 ---- - if (argvars[0].v_type != VAR_UNKNOWN - && argvars[1].v_type != VAR_UNKNOWN) - { -! num = (int)tv_get_number(&argvars[0]); -! dbpath = tv_get_string(&argvars[1]); - if (argvars[2].v_type != VAR_UNKNOWN) -! prepend = tv_get_string_buf(&argvars[2], buf); - } - - rettv->vval.v_number = cs_connection(num, dbpath, prepend); -*************** -*** 2828,2838 **** - } - else - { -! line = get_tv_lnum(argvars); -! col = (long)get_tv_number_chk(&argvars[1], NULL); - #ifdef FEAT_VIRTUALEDIT - if (argvars[2].v_type != VAR_UNKNOWN) -! coladd = (long)get_tv_number_chk(&argvars[2], NULL); - #endif - } - if (line < 0 || col < 0 ---- 2828,2838 ---- - } - else - { -! line = tv_get_lnum(argvars); -! col = (long)tv_get_number_chk(&argvars[1], NULL); - #ifdef FEAT_VIRTUALEDIT - if (argvars[2].v_type != VAR_UNKNOWN) -! coladd = (long)tv_get_number_chk(&argvars[2], NULL); - #endif - } - if (line < 0 || col < 0 -*************** -*** 2871,2877 **** - int pid; - - rettv->vval.v_number = FAIL; -! pid = (int)get_tv_number(&argvars[0]); - if (pid == 0) - EMSG(_(e_invarg)); - else ---- 2871,2877 ---- - int pid; - - rettv->vval.v_number = FAIL; -! pid = (int)tv_get_number(&argvars[0]); - if (pid == 0) - EMSG(_(e_invarg)); - else -*************** -*** 2898,2904 **** - int copyID; - - if (argvars[1].v_type != VAR_UNKNOWN) -! noref = (int)get_tv_number_chk(&argvars[1], NULL); - if (noref < 0 || noref > 1) - EMSG(_(e_invarg)); - else ---- 2898,2904 ---- - int copyID; - - if (argvars[1].v_type != VAR_UNKNOWN) -! noref = (int)tv_get_number_chk(&argvars[1], NULL); - if (noref < 0 || noref > 1) - EMSG(_(e_invarg)); - else -*************** -*** 2922,2928 **** - if (check_restricted() || check_secure()) - return; - -! name = get_tv_string(&argvars[0]); - if (name == NULL || *name == NUL) - { - EMSG(_(e_invarg)); ---- 2922,2928 ---- - if (check_restricted() || check_secure()) - return; - -! name = tv_get_string(&argvars[0]); - if (name == NULL || *name == NUL) - { - EMSG(_(e_invarg)); -*************** -*** 2930,2936 **** - } - - if (argvars[1].v_type != VAR_UNKNOWN) -! flags = get_tv_string_buf(&argvars[1], nbuf); - else - flags = (char_u *)""; - ---- 2930,2936 ---- - } - - if (argvars[1].v_type != VAR_UNKNOWN) -! flags = tv_get_string_buf(&argvars[1], nbuf); - else - flags = (char_u *)""; - -*************** -*** 2971,2979 **** - } - is_curbuf = buf == curbuf; - -! first = get_tv_lnum_buf(&argvars[1], buf); - if (argvars[2].v_type != VAR_UNKNOWN) -! last = get_tv_lnum_buf(&argvars[2], buf); - else - last = first; - ---- 2971,2979 ---- - } - is_curbuf = buf == curbuf; - -! first = tv_get_lnum_buf(&argvars[1], buf); - if (argvars[2].v_type != VAR_UNKNOWN) -! last = tv_get_lnum_buf(&argvars[2], buf); - else - last = first; - -*************** -*** 3048,3054 **** - f_diff_filler(typval_T *argvars UNUSED, typval_T *rettv UNUSED) - { - #ifdef FEAT_DIFF -! rettv->vval.v_number = diff_check_fill(curwin, get_tv_lnum(argvars)); - #endif - } - ---- 3048,3054 ---- - f_diff_filler(typval_T *argvars UNUSED, typval_T *rettv UNUSED) - { - #ifdef FEAT_DIFF -! rettv->vval.v_number = diff_check_fill(curwin, tv_get_lnum(argvars)); - #endif - } - -*************** -*** 3059,3065 **** - f_diff_hlID(typval_T *argvars UNUSED, typval_T *rettv UNUSED) - { - #ifdef FEAT_DIFF -! linenr_T lnum = get_tv_lnum(argvars); - static linenr_T prev_lnum = 0; - static varnumber_T changedtick = 0; - static int fnum = 0; ---- 3059,3065 ---- - f_diff_hlID(typval_T *argvars UNUSED, typval_T *rettv UNUSED) - { - #ifdef FEAT_DIFF -! linenr_T lnum = tv_get_lnum(argvars); - static linenr_T prev_lnum = 0; - static varnumber_T changedtick = 0; - static int fnum = 0; -*************** -*** 3100,3106 **** - - if (hlID == HLF_CHD || hlID == HLF_TXD) - { -! col = get_tv_number(&argvars[1]) - 1; /* ignore type error in {col} */ - if (col >= change_start && col <= change_end) - hlID = HLF_TXD; /* changed text */ - else ---- 3100,3106 ---- - - if (hlID == HLF_CHD || hlID == HLF_TXD) - { -! col = tv_get_number(&argvars[1]) - 1; /* ignore type error in {col} */ - if (col >= change_start && col <= change_end) - hlID = HLF_TXD; /* changed text */ - else -*************** -*** 3177,3184 **** - { - char_u buf[NUMBUFLEN]; - -! rettv->vval.v_string = vim_strsave_escaped(get_tv_string(&argvars[0]), -! get_tv_string_buf(&argvars[1], buf)); - rettv->v_type = VAR_STRING; - } - ---- 3177,3184 ---- - { - char_u buf[NUMBUFLEN]; - -! rettv->vval.v_string = vim_strsave_escaped(tv_get_string(&argvars[0]), -! tv_get_string_buf(&argvars[1], buf)); - rettv->v_type = VAR_STRING; - } - -*************** -*** 3190,3196 **** - { - char_u *s, *p; - -! s = get_tv_string_chk(&argvars[0]); - if (s != NULL) - s = skipwhite(s); - ---- 3190,3196 ---- - { - char_u *s, *p; - -! s = tv_get_string_chk(&argvars[0]); - if (s != NULL) - s = skipwhite(s); - -*************** -*** 3222,3228 **** - static void - f_executable(typval_T *argvars, typval_T *rettv) - { -! char_u *name = get_tv_string(&argvars[0]); - - /* Check in $PATH and also check directly if there is a directory name. */ - rettv->vval.v_number = mch_can_exe(name, NULL, TRUE) ---- 3222,3228 ---- - static void - f_executable(typval_T *argvars, typval_T *rettv) - { -! char_u *name = tv_get_string(&argvars[0]); - - /* Check in $PATH and also check directly if there is a directory name. */ - rettv->vval.v_number = mch_can_exe(name, NULL, TRUE) -*************** -*** 3270,3276 **** - - if (item == NULL) - return NULL; -! s = get_tv_string_buf_chk(&item->li_tv, buf); - *p = item->li_next; - return s == NULL ? NULL : vim_strsave(s); - } ---- 3270,3276 ---- - - if (item == NULL) - return NULL; -! s = tv_get_string_buf_chk(&item->li_tv, buf); - *p = item->li_next; - return s == NULL ? NULL : vim_strsave(s); - } -*************** -*** 3305,3311 **** - } - else - { -! cmd = get_tv_string_chk(&argvars[0]); - if (cmd == NULL) - return; - } ---- 3305,3311 ---- - } - else - { -! cmd = tv_get_string_chk(&argvars[0]); - if (cmd == NULL) - return; - } -*************** -*** 3313,3319 **** - if (argvars[1].v_type != VAR_UNKNOWN) - { - char_u buf[NUMBUFLEN]; -! char_u *s = get_tv_string_buf_chk(&argvars[1], buf); - - if (s == NULL) - return; ---- 3313,3319 ---- - if (argvars[1].v_type != VAR_UNKNOWN) - { - char_u buf[NUMBUFLEN]; -! char_u *s = tv_get_string_buf_chk(&argvars[1], buf); - - if (s == NULL) - return; -*************** -*** 3388,3394 **** - { - char_u *p = NULL; - -! (void)mch_can_exe(get_tv_string(&argvars[0]), &p, TRUE); - rettv->v_type = VAR_STRING; - rettv->vval.v_string = p; - } ---- 3388,3394 ---- - { - char_u *p = NULL; - -! (void)mch_can_exe(tv_get_string(&argvars[0]), &p, TRUE); - rettv->v_type = VAR_STRING; - rettv->vval.v_string = p; - } -*************** -*** 3402,3408 **** - char_u *p; - int n = FALSE; - -! p = get_tv_string(&argvars[0]); - if (*p == '$') /* environment variable */ - { - /* first try "normal" environment variables (fast) */ ---- 3402,3408 ---- - char_u *p; - int n = FALSE; - -! p = tv_get_string(&argvars[0]); - if (*p == '$') /* environment variable */ - { - /* first try "normal" environment variables (fast) */ -*************** -*** 3480,3492 **** - rettv->v_type = VAR_STRING; - if (argvars[1].v_type != VAR_UNKNOWN - && argvars[2].v_type != VAR_UNKNOWN -! && get_tv_number_chk(&argvars[2], &error) - && !error) - { - rettv_list_set(rettv, NULL); - } - -! s = get_tv_string(&argvars[0]); - if (*s == '%' || *s == '#' || *s == '<') - { - ++emsg_off; ---- 3480,3492 ---- - rettv->v_type = VAR_STRING; - if (argvars[1].v_type != VAR_UNKNOWN - && argvars[2].v_type != VAR_UNKNOWN -! && tv_get_number_chk(&argvars[2], &error) - && !error) - { - rettv_list_set(rettv, NULL); - } - -! s = tv_get_string(&argvars[0]); - if (*s == '%' || *s == '#' || *s == '<') - { - ++emsg_off; -*************** -*** 3507,3513 **** - /* When the optional second argument is non-zero, don't remove matches - * for 'wildignore' and don't put matches for 'suffixes' at the end. */ - if (argvars[1].v_type != VAR_UNKNOWN -! && get_tv_number_chk(&argvars[1], &error)) - options |= WILD_KEEP_ALL; - if (!error) - { ---- 3507,3513 ---- - /* When the optional second argument is non-zero, don't remove matches - * for 'wildignore' and don't put matches for 'suffixes' at the end. */ - if (argvars[1].v_type != VAR_UNKNOWN -! && tv_get_number_chk(&argvars[1], &error)) - options |= WILD_KEEP_ALL; - if (!error) - { -*************** -*** 3556,3562 **** - { - if (argvars[2].v_type != VAR_UNKNOWN) - { -! before = (long)get_tv_number_chk(&argvars[2], &error); - if (error) - return; /* type error; errmsg already given */ - ---- 3556,3562 ---- - { - if (argvars[2].v_type != VAR_UNKNOWN) - { -! before = (long)tv_get_number_chk(&argvars[2], &error); - if (error) - return; /* type error; errmsg already given */ - -*************** -*** 3595,3601 **** - { - static char *(av[]) = {"keep", "force", "error"}; - -! action = get_tv_string_chk(&argvars[2]); - if (action == NULL) - return; /* type error; errmsg already given */ - for (i = 0; i < 3; ++i) ---- 3595,3601 ---- - { - static char *(av[]) = {"keep", "force", "error"}; - -! action = tv_get_string_chk(&argvars[2]); - if (action == NULL) - return; /* type error; errmsg already given */ - for (i = 0; i < 3; ++i) -*************** -*** 3640,3650 **** - if (check_secure()) - return; - -! keys = get_tv_string(&argvars[0]); - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! flags = get_tv_string_buf(&argvars[1], nbuf); - for ( ; *flags != NUL; ++flags) - { - switch (*flags) ---- 3640,3650 ---- - if (check_secure()) - return; - -! keys = tv_get_string(&argvars[0]); - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! flags = tv_get_string_buf(&argvars[1], nbuf); - for ( ; *flags != NUL; ++flags) - { - switch (*flags) -*************** -*** 3707,3713 **** - #ifndef O_NONBLOCK - # define O_NONBLOCK 0 - #endif -! p = get_tv_string(&argvars[0]); - if (*p && !mch_isdir(p) && (fd = mch_open((char *)p, - O_RDONLY | O_NONBLOCK, 0)) >= 0) - { ---- 3707,3713 ---- - #ifndef O_NONBLOCK - # define O_NONBLOCK 0 - #endif -! p = tv_get_string(&argvars[0]); - if (*p && !mch_isdir(p) && (fd = mch_open((char *)p, - O_RDONLY | O_NONBLOCK, 0)) >= 0) - { -*************** -*** 3727,3733 **** - static void - f_filewritable(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = filewritable(get_tv_string(&argvars[0])); - } - - static void ---- 3727,3733 ---- - static void - f_filewritable(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = filewritable(tv_get_string(&argvars[0])); - } - - static void -*************** -*** 3751,3761 **** - rettv->v_type = VAR_STRING; - - #ifdef FEAT_SEARCHPATH -! fname = get_tv_string(&argvars[0]); - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! p = get_tv_string_buf_chk(&argvars[1], pathbuf); - if (p == NULL) - error = TRUE; - else ---- 3751,3761 ---- - rettv->v_type = VAR_STRING; - - #ifdef FEAT_SEARCHPATH -! fname = tv_get_string(&argvars[0]); - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! p = tv_get_string_buf_chk(&argvars[1], pathbuf); - if (p == NULL) - error = TRUE; - else -*************** -*** 3764,3770 **** - path = p; - - if (argvars[2].v_type != VAR_UNKNOWN) -! count = (int)get_tv_number_chk(&argvars[2], &error); - } - } - ---- 3764,3770 ---- - path = p; - - if (argvars[2].v_type != VAR_UNKNOWN) -! count = (int)tv_get_number_chk(&argvars[2], &error); - } - } - -*************** -*** 3883,3889 **** - f_fnameescape(typval_T *argvars, typval_T *rettv) - { - rettv->vval.v_string = vim_strsave_fnameescape( -! get_tv_string(&argvars[0]), FALSE); - rettv->v_type = VAR_STRING; - } - ---- 3883,3889 ---- - f_fnameescape(typval_T *argvars, typval_T *rettv) - { - rettv->vval.v_string = vim_strsave_fnameescape( -! tv_get_string(&argvars[0]), FALSE); - rettv->v_type = VAR_STRING; - } - -*************** -*** 3900,3907 **** - char_u *fbuf = NULL; - char_u buf[NUMBUFLEN]; - -! fname = get_tv_string_chk(&argvars[0]); -! mods = get_tv_string_buf_chk(&argvars[1], buf); - if (fname == NULL || mods == NULL) - fname = NULL; - else ---- 3900,3907 ---- - char_u *fbuf = NULL; - char_u buf[NUMBUFLEN]; - -! fname = tv_get_string_chk(&argvars[0]); -! mods = tv_get_string_buf_chk(&argvars[1], buf); - if (fname == NULL || mods == NULL) - fname = NULL; - else -*************** -*** 3931,3937 **** - linenr_T lnum; - linenr_T first, last; - -! lnum = get_tv_lnum(argvars); - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count) - { - if (hasFoldingWin(curwin, lnum, &first, &last, FALSE, NULL)) ---- 3931,3937 ---- - linenr_T lnum; - linenr_T first, last; - -! lnum = tv_get_lnum(argvars); - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count) - { - if (hasFoldingWin(curwin, lnum, &first, &last, FALSE, NULL)) -*************** -*** 3974,3980 **** - #ifdef FEAT_FOLDING - linenr_T lnum; - -! lnum = get_tv_lnum(argvars); - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count) - rettv->vval.v_number = foldLevel(lnum); - #endif ---- 3974,3980 ---- - #ifdef FEAT_FOLDING - linenr_T lnum; - -! lnum = tv_get_lnum(argvars); - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count) - rettv->vval.v_number = foldLevel(lnum); - #endif -*************** -*** 4067,4073 **** - return; /* reject recursive use */ - entered = TRUE; - -! lnum = get_tv_lnum(argvars); - /* treat illegal types and illegal string values for {lnum} the same */ - if (lnum < 0) - lnum = 0; ---- 4067,4073 ---- - return; /* reject recursive use */ - entered = TRUE; - -! lnum = tv_get_lnum(argvars); - /* treat illegal types and illegal string values for {lnum} the same */ - if (lnum < 0) - lnum = 0; -*************** -*** 4125,4131 **** - else - { - /* function('MyFunc', [arg], dict) */ -! s = get_tv_string(&argvars[0]); - use_string = TRUE; - } - ---- 4125,4131 ---- - else - { - /* function('MyFunc', [arg], dict) */ -! s = tv_get_string(&argvars[0]); - use_string = TRUE; - } - -*************** -*** 4140,4146 **** - - if (s == NULL || *s == NUL || (use_string && VIM_ISDIGIT(*s)) - || (is_funcref && trans_name == NULL)) -! EMSG2(_(e_invarg2), use_string ? get_tv_string(&argvars[0]) : s); - /* Don't check an autoload name for existence here. */ - else if (trans_name != NULL && (is_funcref - ? find_func(trans_name) == NULL ---- 4140,4146 ---- - - if (s == NULL || *s == NUL || (use_string && VIM_ISDIGIT(*s)) - || (is_funcref && trans_name == NULL)) -! EMSG2(_(e_invarg2), use_string ? tv_get_string(&argvars[0]) : s); - /* Don't check an autoload name for existence here. */ - else if (trans_name != NULL && (is_funcref - ? find_func(trans_name) == NULL -*************** -*** 4327,4333 **** - * using Lists and Dicts internally. E.g.: ":echo [garbagecollect()]". */ - want_garbage_collect = TRUE; - -! if (argvars[0].v_type != VAR_UNKNOWN && get_tv_number(&argvars[0]) == 1) - garbage_collect_at_exit = TRUE; - } - ---- 4327,4333 ---- - * using Lists and Dicts internally. E.g.: ":echo [garbagecollect()]". */ - want_garbage_collect = TRUE; - -! if (argvars[0].v_type != VAR_UNKNOWN && tv_get_number(&argvars[0]) == 1) - garbage_collect_at_exit = TRUE; - } - -*************** -*** 4349,4355 **** - { - int error = FALSE; - -! li = list_find(l, (long)get_tv_number_chk(&argvars[1], &error)); - if (!error && li != NULL) - tv = &li->li_tv; - } ---- 4349,4355 ---- - { - int error = FALSE; - -! li = list_find(l, (long)tv_get_number_chk(&argvars[1], &error)); - if (!error && li != NULL) - tv = &li->li_tv; - } -*************** -*** 4358,4364 **** - { - if ((d = argvars[0].vval.v_dict) != NULL) - { -! di = dict_find(d, get_tv_string(&argvars[1]), -1); - if (di != NULL) - tv = &di->di_tv; - } ---- 4358,4364 ---- - { - if ((d = argvars[0].vval.v_dict) != NULL) - { -! di = dict_find(d, tv_get_string(&argvars[1]), -1); - if (di != NULL) - tv = &di->di_tv; - } -*************** -*** 4379,4385 **** - - if (pt != NULL) - { -! char_u *what = get_tv_string(&argvars[1]); - char_u *n; - - if (STRCMP(what, "func") == 0 || STRCMP(what, "name") == 0) ---- 4379,4385 ---- - - if (pt != NULL) - { -! char_u *what = tv_get_string(&argvars[1]); - char_u *n; - - if (STRCMP(what, "func") == 0 || STRCMP(what, "name") == 0) -*************** -*** 4527,4548 **** - filtered = TRUE; - - di = dict_find(sel_d, (char_u *)"buflisted", -1); -! if (di != NULL && get_tv_number(&di->di_tv)) - sel_buflisted = TRUE; - - di = dict_find(sel_d, (char_u *)"bufloaded", -1); -! if (di != NULL && get_tv_number(&di->di_tv)) - sel_bufloaded = TRUE; - - di = dict_find(sel_d, (char_u *)"bufmodified", -1); -! if (di != NULL && get_tv_number(&di->di_tv)) - sel_bufmodified = TRUE; - } - } - else if (argvars[0].v_type != VAR_UNKNOWN) - { - /* Information about one buffer. Argument specifies the buffer */ -! (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - argbuf = get_buf_tv(&argvars[0], FALSE); - --emsg_off; ---- 4527,4548 ---- - filtered = TRUE; - - di = dict_find(sel_d, (char_u *)"buflisted", -1); -! if (di != NULL && tv_get_number(&di->di_tv)) - sel_buflisted = TRUE; - - di = dict_find(sel_d, (char_u *)"bufloaded", -1); -! if (di != NULL && tv_get_number(&di->di_tv)) - sel_bufloaded = TRUE; - - di = dict_find(sel_d, (char_u *)"bufmodified", -1); -! if (di != NULL && tv_get_number(&di->di_tv)) - sel_bufmodified = TRUE; - } - } - else if (argvars[0].v_type != VAR_UNKNOWN) - { - /* Information about one buffer. Argument specifies the buffer */ -! (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - argbuf = get_buf_tv(&argvars[0], FALSE); - --emsg_off; -*************** -*** 4626,4641 **** - linenr_T end; - buf_T *buf; - -! (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - buf = get_buf_tv(&argvars[0], FALSE); - --emsg_off; - -! lnum = get_tv_lnum_buf(&argvars[1], buf); - if (argvars[2].v_type == VAR_UNKNOWN) - end = lnum; - else -! end = get_tv_lnum_buf(&argvars[2], buf); - - get_buffer_lines(buf, lnum, end, TRUE, rettv); - } ---- 4626,4641 ---- - linenr_T end; - buf_T *buf; - -! (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - buf = get_buf_tv(&argvars[0], FALSE); - --emsg_off; - -! lnum = tv_get_lnum_buf(&argvars[1], buf); - if (argvars[2].v_type == VAR_UNKNOWN) - end = lnum; - else -! end = tv_get_lnum_buf(&argvars[2], buf); - - get_buffer_lines(buf, lnum, end, TRUE, rettv); - } -*************** -*** 4652,4659 **** - dictitem_T *v; - int done = FALSE; - -! (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */ -! varname = get_tv_string_chk(&argvars[1]); - ++emsg_off; - buf = get_buf_tv(&argvars[0], FALSE); - ---- 4652,4659 ---- - dictitem_T *v; - int done = FALSE; - -! (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */ -! varname = tv_get_string_chk(&argvars[1]); - ++emsg_off; - buf = get_buf_tv(&argvars[0], FALSE); - -*************** -*** 4724,4730 **** - return; - - #ifdef FEAT_JUMPLIST -! (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - buf = get_buf_tv(&argvars[0], FALSE); - --emsg_off; ---- 4724,4730 ---- - return; - - #ifdef FEAT_JUMPLIST -! (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - buf = get_buf_tv(&argvars[0], FALSE); - --emsg_off; -*************** -*** 4788,4794 **** - if (argvars[0].v_type == VAR_UNKNOWN) - /* getchar(): blocking wait. */ - n = plain_vgetc(); -! else if (get_tv_number_chk(&argvars[0], &error) == 1) - /* getchar(1): only check if char avail */ - n = vpeekc_any(); - else if (error || vpeekc_any() == NUL) ---- 4788,4794 ---- - if (argvars[0].v_type == VAR_UNKNOWN) - /* getchar(): blocking wait. */ - n = plain_vgetc(); -! else if (tv_get_number_chk(&argvars[0], &error) == 1) - /* getchar(1): only check if char avail */ - n = vpeekc_any(); - else if (error || vpeekc_any() == NUL) -*************** -*** 4960,4966 **** - | WILD_NO_BEEP; - - if (argvars[2].v_type != VAR_UNKNOWN) -! filtered = get_tv_number_chk(&argvars[2], NULL); - - if (p_wic) - options |= WILD_ICASE; ---- 4960,4966 ---- - | WILD_NO_BEEP; - - if (argvars[2].v_type != VAR_UNKNOWN) -! filtered = tv_get_number_chk(&argvars[2], NULL); - - if (p_wic) - options |= WILD_ICASE; -*************** -*** 4970,4978 **** - options |= WILD_KEEP_ALL; - - ExpandInit(&xpc); -! xpc.xp_pattern = get_tv_string(&argvars[0]); - xpc.xp_pattern_len = (int)STRLEN(xpc.xp_pattern); -! xpc.xp_context = cmdcomplete_str_to_type(get_tv_string(&argvars[1])); - if (xpc.xp_context == EXPAND_NOTHING) - { - if (argvars[1].v_type == VAR_STRING) ---- 4970,4978 ---- - options |= WILD_KEEP_ALL; - - ExpandInit(&xpc); -! xpc.xp_pattern = tv_get_string(&argvars[0]); - xpc.xp_pattern_len = (int)STRLEN(xpc.xp_pattern); -! xpc.xp_context = cmdcomplete_str_to_type(tv_get_string(&argvars[1])); - if (xpc.xp_context == EXPAND_NOTHING) - { - if (argvars[1].v_type == VAR_STRING) -*************** -*** 5083,5089 **** - } - else - { -! name = get_tv_string(&argvars[0]); - if (STRCMP(name, "*") == 0) /* don't use font dialog */ - return; - font = gui_mch_get_font(name, FALSE); ---- 5083,5089 ---- - } - else - { -! name = tv_get_string(&argvars[0]); - if (STRCMP(name, "*") == 0) /* don't use font dialog */ - return; - font = gui_mch_get_font(name, FALSE); -*************** -*** 5109,5115 **** - char_u flags[] = "rwx"; - int i; - -! fname = get_tv_string(&argvars[0]); - - rettv->v_type = VAR_STRING; - if (mch_stat((char *)fname, &st) >= 0) ---- 5109,5115 ---- - char_u flags[] = "rwx"; - int i; - -! fname = tv_get_string(&argvars[0]); - - rettv->v_type = VAR_STRING; - if (mch_stat((char *)fname, &st) >= 0) -*************** -*** 5136,5142 **** - char_u *fname; - stat_T st; - -! fname = get_tv_string(&argvars[0]); - - rettv->v_type = VAR_NUMBER; - ---- 5136,5142 ---- - char_u *fname; - stat_T st; - -! fname = tv_get_string(&argvars[0]); - - rettv->v_type = VAR_NUMBER; - -*************** -*** 5166,5172 **** - char_u *fname; - stat_T st; - -! fname = get_tv_string(&argvars[0]); - - if (mch_stat((char *)fname, &st) >= 0) - rettv->vval.v_number = (varnumber_T)st.st_mtime; ---- 5166,5172 ---- - char_u *fname; - stat_T st; - -! fname = tv_get_string(&argvars[0]); - - if (mch_stat((char *)fname, &st) >= 0) - rettv->vval.v_number = (varnumber_T)st.st_mtime; -*************** -*** 5185,5191 **** - char_u *type = NULL; - char *t; - -! fname = get_tv_string(&argvars[0]); - - rettv->v_type = VAR_STRING; - if (mch_lstat((char *)fname, &st) >= 0) ---- 5185,5191 ---- - char_u *type = NULL; - char *t; - -! fname = tv_get_string(&argvars[0]); - - rettv->v_type = VAR_STRING; - if (mch_lstat((char *)fname, &st) >= 0) -*************** -*** 5272,5278 **** - linenr_T end; - int retlist; - -! lnum = get_tv_lnum(argvars); - if (argvars[1].v_type == VAR_UNKNOWN) - { - end = 0; ---- 5272,5278 ---- - linenr_T end; - int retlist; - -! lnum = tv_get_lnum(argvars); - if (argvars[1].v_type == VAR_UNKNOWN) - { - end = 0; -*************** -*** 5280,5286 **** - } - else - { -! end = get_tv_lnum(&argvars[1]); - retlist = TRUE; - } - ---- 5280,5286 ---- - } - else - { -! end = tv_get_lnum(&argvars[1]); - retlist = TRUE; - } - -*************** -*** 5490,5502 **** - - if (argvars[0].v_type != VAR_UNKNOWN) - { -! strregname = get_tv_string_chk(&argvars[0]); - error = strregname == NULL; - if (argvars[1].v_type != VAR_UNKNOWN) - { -! arg2 = (int)get_tv_number_chk(&argvars[1], &error); - if (!error && argvars[2].v_type != VAR_UNKNOWN) -! return_list = (int)get_tv_number_chk(&argvars[2], &error); - } - } - else ---- 5490,5502 ---- - - if (argvars[0].v_type != VAR_UNKNOWN) - { -! strregname = tv_get_string_chk(&argvars[0]); - error = strregname == NULL; - if (argvars[1].v_type != VAR_UNKNOWN) - { -! arg2 = (int)tv_get_number_chk(&argvars[1], &error); - if (!error && argvars[2].v_type != VAR_UNKNOWN) -! return_list = (int)tv_get_number_chk(&argvars[2], &error); - } - } - else -*************** -*** 5540,5546 **** - - if (argvars[0].v_type != VAR_UNKNOWN) - { -! strregname = get_tv_string_chk(&argvars[0]); - if (strregname == NULL) /* type error; errmsg already given */ - { - rettv->v_type = VAR_STRING; ---- 5540,5546 ---- - - if (argvars[0].v_type != VAR_UNKNOWN) - { -! strregname = tv_get_string_chk(&argvars[0]); - if (strregname == NULL) /* type error; errmsg already given */ - { - rettv->v_type = VAR_STRING; -*************** -*** 5619,5625 **** - if (argvars[0].v_type != VAR_UNKNOWN) - { - /* Information about one tab page */ -! tparg = find_tabpage((int)get_tv_number_chk(&argvars[0], NULL)); - if (tparg == NULL) - return; - } ---- 5619,5625 ---- - if (argvars[0].v_type != VAR_UNKNOWN) - { - /* Information about one tab page */ -! tparg = find_tabpage((int)tv_get_number_chk(&argvars[0], NULL)); - if (tparg == NULL) - return; - } -*************** -*** 5653,5660 **** - rettv->v_type = VAR_STRING; - rettv->vval.v_string = NULL; - -! varname = get_tv_string_chk(&argvars[1]); -! tp = find_tabpage((int)get_tv_number_chk(&argvars[0], NULL)); - if (tp != NULL && varname != NULL) - { - /* Set tp to be our tabpage, temporarily. Also set the window to the ---- 5653,5660 ---- - rettv->v_type = VAR_STRING; - rettv->vval.v_string = NULL; - -! varname = tv_get_string_chk(&argvars[1]); -! tp = find_tabpage((int)tv_get_number_chk(&argvars[0], NULL)); - if (tp != NULL && varname != NULL) - { - /* Set tp to be our tabpage, temporarily. Also set the window to the -*************** -*** 5879,5885 **** - varnumber_T timeout = 100; - - if (argvars[0].v_type != VAR_UNKNOWN) -! timeout = get_tv_number(&argvars[0]); - term_get_winpos(&x, &y, timeout); - } - #endif ---- 5879,5885 ---- - varnumber_T timeout = 100; - - if (argvars[0].v_type != VAR_UNKNOWN) -! timeout = tv_get_number(&argvars[0]); - term_get_winpos(&x, &y, timeout); - } - #endif -*************** -*** 5966,5981 **** - rettv->v_type = VAR_STRING; - if (argvars[1].v_type != VAR_UNKNOWN) - { -! if (get_tv_number_chk(&argvars[1], &error)) - options |= WILD_KEEP_ALL; - if (argvars[2].v_type != VAR_UNKNOWN) - { -! if (get_tv_number_chk(&argvars[2], &error)) - { - rettv_list_set(rettv, NULL); - } - if (argvars[3].v_type != VAR_UNKNOWN -! && get_tv_number_chk(&argvars[3], &error)) - options |= WILD_ALLLINKS; - } - } ---- 5966,5981 ---- - rettv->v_type = VAR_STRING; - if (argvars[1].v_type != VAR_UNKNOWN) - { -! if (tv_get_number_chk(&argvars[1], &error)) - options |= WILD_KEEP_ALL; - if (argvars[2].v_type != VAR_UNKNOWN) - { -! if (tv_get_number_chk(&argvars[2], &error)) - { - rettv_list_set(rettv, NULL); - } - if (argvars[3].v_type != VAR_UNKNOWN -! && tv_get_number_chk(&argvars[3], &error)) - options |= WILD_ALLLINKS; - } - } -*************** -*** 5986,5998 **** - if (p_wic) - options += WILD_ICASE; - if (rettv->v_type == VAR_STRING) -! rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]), - NULL, options, WILD_ALL); - else if (rettv_list_alloc(rettv) != FAIL) - { - int i; - -! ExpandOne(&xpc, get_tv_string(&argvars[0]), - NULL, options, WILD_ALL_KEEP); - for (i = 0; i < xpc.xp_numfiles; i++) - list_append_string(rettv->vval.v_list, xpc.xp_files[i], -1); ---- 5986,5998 ---- - if (p_wic) - options += WILD_ICASE; - if (rettv->v_type == VAR_STRING) -! rettv->vval.v_string = ExpandOne(&xpc, tv_get_string(&argvars[0]), - NULL, options, WILD_ALL); - else if (rettv_list_alloc(rettv) != FAIL) - { - int i; - -! ExpandOne(&xpc, tv_get_string(&argvars[0]), - NULL, options, WILD_ALL_KEEP); - for (i = 0; i < xpc.xp_numfiles; i++) - list_append_string(rettv->vval.v_list, xpc.xp_files[i], -1); -*************** -*** 6012,6018 **** - { - int flags = 0; - char_u buf1[NUMBUFLEN]; -! char_u *file = get_tv_string_buf_chk(&argvars[1], buf1); - int error = FALSE; - garray_T ga; - int i; ---- 6012,6018 ---- - { - int flags = 0; - char_u buf1[NUMBUFLEN]; -! char_u *file = tv_get_string_buf_chk(&argvars[1], buf1); - int error = FALSE; - garray_T ga; - int i; -*************** -*** 6022,6044 **** - rettv->v_type = VAR_STRING; - if (argvars[2].v_type != VAR_UNKNOWN) - { -! if (get_tv_number_chk(&argvars[2], &error)) - flags |= WILD_KEEP_ALL; - if (argvars[3].v_type != VAR_UNKNOWN) - { -! if (get_tv_number_chk(&argvars[3], &error)) - { - rettv_list_set(rettv, NULL); - } - if (argvars[4].v_type != VAR_UNKNOWN -! && get_tv_number_chk(&argvars[4], &error)) - flags |= WILD_ALLLINKS; - } - } - if (file != NULL && !error) - { - ga_init2(&ga, (int)sizeof(char_u *), 10); -! globpath(get_tv_string(&argvars[0]), file, &ga, flags); - if (rettv->v_type == VAR_STRING) - rettv->vval.v_string = ga_concat_strings(&ga, "\n"); - else if (rettv_list_alloc(rettv) != FAIL) ---- 6022,6044 ---- - rettv->v_type = VAR_STRING; - if (argvars[2].v_type != VAR_UNKNOWN) - { -! if (tv_get_number_chk(&argvars[2], &error)) - flags |= WILD_KEEP_ALL; - if (argvars[3].v_type != VAR_UNKNOWN) - { -! if (tv_get_number_chk(&argvars[3], &error)) - { - rettv_list_set(rettv, NULL); - } - if (argvars[4].v_type != VAR_UNKNOWN -! && tv_get_number_chk(&argvars[4], &error)) - flags |= WILD_ALLLINKS; - } - } - if (file != NULL && !error) - { - ga_init2(&ga, (int)sizeof(char_u *), 10); -! globpath(tv_get_string(&argvars[0]), file, &ga, flags); - if (rettv->v_type == VAR_STRING) - rettv->vval.v_string = ga_concat_strings(&ga, "\n"); - else if (rettv_list_alloc(rettv) != FAIL) -*************** -*** 6057,6063 **** - static void - f_glob2regpat(typval_T *argvars, typval_T *rettv) - { -! char_u *pat = get_tv_string_chk(&argvars[0]); - - rettv->v_type = VAR_STRING; - rettv->vval.v_string = (pat == NULL) ---- 6057,6063 ---- - static void - f_glob2regpat(typval_T *argvars, typval_T *rettv) - { -! char_u *pat = tv_get_string_chk(&argvars[0]); - - rettv->v_type = VAR_STRING; - rettv->vval.v_string = (pat == NULL) -*************** -*** 6583,6589 **** - NULL - }; - -! name = get_tv_string(&argvars[0]); - for (i = 0; has_list[i] != NULL; ++i) - if (STRICMP(name, has_list[i]) == 0) - { ---- 6583,6589 ---- - NULL - }; - -! name = tv_get_string(&argvars[0]); - for (i = 0; has_list[i] != NULL; ++i) - if (STRICMP(name, has_list[i]) == 0) - { -*************** -*** 6721,6727 **** - return; - - rettv->vval.v_number = dict_find(argvars[0].vval.v_dict, -! get_tv_string(&argvars[1]), -1) != NULL; - } - - /* ---- 6721,6727 ---- - return; - - rettv->vval.v_number = dict_find(argvars[0].vval.v_dict, -! tv_get_string(&argvars[1]), -1) != NULL; - } - - /* -*************** -*** 6747,6760 **** - char_u buf[NUMBUFLEN]; - int abbr = FALSE; - -! name = get_tv_string(&argvars[0]); - if (argvars[1].v_type == VAR_UNKNOWN) - mode = (char_u *)"nvo"; - else - { -! mode = get_tv_string_buf(&argvars[1], buf); - if (argvars[2].v_type != VAR_UNKNOWN) -! abbr = (int)get_tv_number(&argvars[2]); - } - - if (map_to_exists(name, mode, abbr)) ---- 6747,6760 ---- - char_u buf[NUMBUFLEN]; - int abbr = FALSE; - -! name = tv_get_string(&argvars[0]); - if (argvars[1].v_type == VAR_UNKNOWN) - mode = (char_u *)"nvo"; - else - { -! mode = tv_get_string_buf(&argvars[1], buf); - if (argvars[2].v_type != VAR_UNKNOWN) -! abbr = (int)tv_get_number(&argvars[2]); - } - - if (map_to_exists(name, mode, abbr)) -*************** -*** 6779,6789 **** - if (check_restricted() || check_secure()) - return; - #ifdef FEAT_CMDHIST -! str = get_tv_string_chk(&argvars[0]); /* NULL on type error */ - histype = str != NULL ? get_histtype(str) : -1; - if (histype >= 0) - { -! str = get_tv_string_buf(&argvars[1], buf); - if (*str != NUL) - { - init_history(); ---- 6779,6789 ---- - if (check_restricted() || check_secure()) - return; - #ifdef FEAT_CMDHIST -! str = tv_get_string_chk(&argvars[0]); /* NULL on type error */ - histype = str != NULL ? get_histtype(str) : -1; - if (histype >= 0) - { -! str = tv_get_string_buf(&argvars[1], buf); - if (*str != NUL) - { - init_history(); -*************** -*** 6806,6812 **** - char_u buf[NUMBUFLEN]; - char_u *str; - -! str = get_tv_string_chk(&argvars[0]); /* NULL on type error */ - if (str == NULL) - n = 0; - else if (argvars[1].v_type == VAR_UNKNOWN) ---- 6806,6812 ---- - char_u buf[NUMBUFLEN]; - char_u *str; - -! str = tv_get_string_chk(&argvars[0]); /* NULL on type error */ - if (str == NULL) - n = 0; - else if (argvars[1].v_type == VAR_UNKNOWN) -*************** -*** 6815,6825 **** - else if (argvars[1].v_type == VAR_NUMBER) - /* index given: remove that entry */ - n = del_history_idx(get_histtype(str), -! (int)get_tv_number(&argvars[1])); - else - /* string given: remove all matching entries */ - n = del_history_entry(get_histtype(str), -! get_tv_string_buf(&argvars[1], buf)); - rettv->vval.v_number = n; - #endif - } ---- 6815,6825 ---- - else if (argvars[1].v_type == VAR_NUMBER) - /* index given: remove that entry */ - n = del_history_idx(get_histtype(str), -! (int)tv_get_number(&argvars[1])); - else - /* string given: remove all matching entries */ - n = del_history_entry(get_histtype(str), -! tv_get_string_buf(&argvars[1], buf)); - rettv->vval.v_number = n; - #endif - } -*************** -*** 6835,6841 **** - int idx; - char_u *str; - -! str = get_tv_string_chk(&argvars[0]); /* NULL on type error */ - if (str == NULL) - rettv->vval.v_string = NULL; - else ---- 6835,6841 ---- - int idx; - char_u *str; - -! str = tv_get_string_chk(&argvars[0]); /* NULL on type error */ - if (str == NULL) - rettv->vval.v_string = NULL; - else -*************** -*** 6844,6850 **** - if (argvars[1].v_type == VAR_UNKNOWN) - idx = get_history_idx(type); - else -! idx = (int)get_tv_number_chk(&argvars[1], NULL); - /* -1 on type error */ - rettv->vval.v_string = vim_strsave(get_history_entry(type, idx)); - } ---- 6844,6850 ---- - if (argvars[1].v_type == VAR_UNKNOWN) - idx = get_history_idx(type); - else -! idx = (int)tv_get_number_chk(&argvars[1], NULL); - /* -1 on type error */ - rettv->vval.v_string = vim_strsave(get_history_entry(type, idx)); - } -*************** -*** 6863,6869 **** - int i; - - #ifdef FEAT_CMDHIST -! char_u *history = get_tv_string_chk(&argvars[0]); - - i = history == NULL ? HIST_CMD - 1 : get_histtype(history); - if (i >= HIST_CMD && i < HIST_COUNT) ---- 6863,6869 ---- - int i; - - #ifdef FEAT_CMDHIST -! char_u *history = tv_get_string_chk(&argvars[0]); - - i = history == NULL ? HIST_CMD - 1 : get_histtype(history); - if (i >= HIST_CMD && i < HIST_COUNT) -*************** -*** 6880,6886 **** - static void - f_hlID(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = syn_name2id(get_tv_string(&argvars[0])); - } - - /* ---- 6880,6886 ---- - static void - f_hlID(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = syn_name2id(tv_get_string(&argvars[0])); - } - - /* -*************** -*** 6889,6895 **** - static void - f_hlexists(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = highlight_exists(get_tv_string(&argvars[0])); - } - - /* ---- 6889,6895 ---- - static void - f_hlexists(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = highlight_exists(tv_get_string(&argvars[0])); - } - - /* -*************** -*** 6922,6930 **** - rettv->vval.v_string = NULL; - - #ifdef FEAT_MBYTE -! str = get_tv_string(&argvars[0]); -! from = enc_canonize(enc_skip(get_tv_string_buf(&argvars[1], buf1))); -! to = enc_canonize(enc_skip(get_tv_string_buf(&argvars[2], buf2))); - vimconv.vc_type = CONV_NONE; - convert_setup(&vimconv, from, to); - ---- 6922,6930 ---- - rettv->vval.v_string = NULL; - - #ifdef FEAT_MBYTE -! str = tv_get_string(&argvars[0]); -! from = enc_canonize(enc_skip(tv_get_string_buf(&argvars[1], buf1))); -! to = enc_canonize(enc_skip(tv_get_string_buf(&argvars[2], buf2))); - vimconv.vc_type = CONV_NONE; - convert_setup(&vimconv, from, to); - -*************** -*** 6948,6954 **** - { - linenr_T lnum; - -! lnum = get_tv_lnum(argvars); - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count) - rettv->vval.v_number = get_indent_lnum(lnum); - else ---- 6948,6954 ---- - { - linenr_T lnum; - -! lnum = tv_get_lnum(argvars); - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count) - rettv->vval.v_number = get_indent_lnum(lnum); - else -*************** -*** 6982,6991 **** - - /* Start at specified item. Use the cached index that list_find() - * sets, so that a negative number also works. */ -! item = list_find(l, (long)get_tv_number_chk(&argvars[2], &error)); - idx = l->lv_idx; - if (argvars[3].v_type != VAR_UNKNOWN) -! ic = (int)get_tv_number_chk(&argvars[3], &error); - if (error) - item = NULL; - } ---- 6982,6991 ---- - - /* Start at specified item. Use the cached index that list_find() - * sets, so that a negative number also works. */ -! item = list_find(l, (long)tv_get_number_chk(&argvars[2], &error)); - idx = l->lv_idx; - if (argvars[3].v_type != VAR_UNKNOWN) -! ic = (int)tv_get_number_chk(&argvars[3], &error); - if (error) - item = NULL; - } -*************** -*** 7025,7033 **** - char_u buf[NUMBUFLEN]; - char_u *defstr = (char_u *)""; - -! message = get_tv_string_chk(&argvars[0]); - if (argvars[1].v_type != VAR_UNKNOWN -! && (defstr = get_tv_string_buf_chk(&argvars[1], buf)) != NULL) - vim_strncpy(IObuff, defstr, IOSIZE - 1); - else - IObuff[0] = NUL; ---- 7025,7033 ---- - char_u buf[NUMBUFLEN]; - char_u *defstr = (char_u *)""; - -! message = tv_get_string_chk(&argvars[0]); - if (argvars[1].v_type != VAR_UNKNOWN -! && (defstr = tv_get_string_buf_chk(&argvars[1], buf)) != NULL) - vim_strncpy(IObuff, defstr, IOSIZE - 1); - else - IObuff[0] = NUL; -*************** -*** 7041,7047 **** - && argvars[1].v_type != VAR_UNKNOWN - && argvars[2].v_type != VAR_UNKNOWN) - rettv->vval.v_string = vim_strsave( -! get_tv_string_buf(&argvars[2], buf)); - else - rettv->vval.v_string = NULL; - } ---- 7041,7047 ---- - && argvars[1].v_type != VAR_UNKNOWN - && argvars[2].v_type != VAR_UNKNOWN) - rettv->vval.v_string = vim_strsave( -! tv_get_string_buf(&argvars[2], buf)); - else - rettv->vval.v_string = NULL; - } -*************** -*** 7082,7088 **** - - for (li = argvars[0].vval.v_list->lv_first; li != NULL; li = li->li_next) - { -! msg_puts(get_tv_string(&li->li_tv)); - msg_putchar('\n'); - } - ---- 7082,7088 ---- - - for (li = argvars[0].vval.v_list->lv_first; li != NULL; li = li->li_next) - { -! msg_puts(tv_get_string(&li->li_tv)); - msg_putchar('\n'); - } - -*************** -*** 7164,7170 **** - && !tv_check_lock(l->lv_lock, (char_u *)N_("insert() argument"), TRUE)) - { - if (argvars[2].v_type != VAR_UNKNOWN) -! before = (long)get_tv_number_chk(&argvars[2], &error); - if (error) - return; /* type error; errmsg already given */ - ---- 7164,7170 ---- - && !tv_check_lock(l->lv_lock, (char_u *)N_("insert() argument"), TRUE)) - { - if (argvars[2].v_type != VAR_UNKNOWN) -! before = (long)tv_get_number_chk(&argvars[2], &error); - if (error) - return; /* type error; errmsg already given */ - -*************** -*** 7193,7199 **** - static void - f_invert(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = ~get_tv_number_chk(&argvars[0], NULL); - } - - /* ---- 7193,7199 ---- - static void - f_invert(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = ~tv_get_number_chk(&argvars[0], NULL); - } - - /* -*************** -*** 7202,7208 **** - static void - f_isdirectory(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = mch_isdir(get_tv_string(&argvars[0])); - } - - /* ---- 7202,7208 ---- - static void - f_isdirectory(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = mch_isdir(tv_get_string(&argvars[0])); - } - - /* -*************** -*** 7232,7238 **** - dictitem_T *di; - - rettv->vval.v_number = -1; -! end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE, - GLV_NO_AUTOLOAD | GLV_READ_ONLY, FNE_CHECK_START); - if (end != NULL && lv.ll_name != NULL) - { ---- 7232,7238 ---- - dictitem_T *di; - - rettv->vval.v_number = -1; -! end = get_lval(tv_get_string(&argvars[0]), NULL, &lv, FALSE, FALSE, - GLV_NO_AUTOLOAD | GLV_READ_ONLY, FNE_CHECK_START); - if (end != NULL && lv.ll_name != NULL) - { -*************** -*** 7303,7309 **** - - if (tv->v_type != VAR_JOB) - { -! EMSG2(_(e_invarg2), get_tv_string(tv)); - return NULL; - } - job = tv->vval.v_job; ---- 7303,7309 ---- - - if (tv->v_type != VAR_JOB) - { -! EMSG2(_(e_invarg2), tv_get_string(tv)); - return NULL; - } - job = tv->vval.v_job; -*************** -*** 7423,7429 **** - if (argvars[1].v_type == VAR_UNKNOWN) - sep = (char_u *)" "; - else -! sep = get_tv_string_chk(&argvars[1]); - - rettv->v_type = VAR_STRING; - ---- 7423,7429 ---- - if (argvars[1].v_type == VAR_UNKNOWN) - sep = (char_u *)" "; - else -! sep = tv_get_string_chk(&argvars[1]); - - rettv->v_type = VAR_STRING; - -*************** -*** 7446,7452 **** - { - js_read_T reader; - -! reader.js_buf = get_tv_string(&argvars[0]); - reader.js_fill = NULL; - reader.js_used = 0; - if (json_decode_all(&reader, rettv, JSON_JS) != OK) ---- 7446,7452 ---- - { - js_read_T reader; - -! reader.js_buf = tv_get_string(&argvars[0]); - reader.js_fill = NULL; - reader.js_used = 0; - if (json_decode_all(&reader, rettv, JSON_JS) != OK) -*************** -*** 7471,7477 **** - { - js_read_T reader; - -! reader.js_buf = get_tv_string(&argvars[0]); - reader.js_fill = NULL; - reader.js_used = 0; - json_decode_all(&reader, rettv, 0); ---- 7471,7477 ---- - { - js_read_T reader; - -! reader.js_buf = tv_get_string(&argvars[0]); - reader.js_fill = NULL; - reader.js_used = 0; - json_decode_all(&reader, rettv, 0); -*************** -*** 7523,7529 **** - case VAR_STRING: - case VAR_NUMBER: - rettv->vval.v_number = (varnumber_T)STRLEN( -! get_tv_string(&argvars[0])); - break; - case VAR_LIST: - rettv->vval.v_number = list_len(argvars[0].vval.v_list); ---- 7523,7529 ---- - case VAR_STRING: - case VAR_NUMBER: - rettv->vval.v_number = (varnumber_T)STRLEN( -! tv_get_string(&argvars[0])); - break; - case VAR_LIST: - rettv->vval.v_number = list_len(argvars[0].vval.v_list); -*************** -*** 7627,7633 **** - #else - linenr_T lnum; - -! lnum = get_tv_lnum(argvars); - if (lnum < 1 || lnum > curbuf->b_ml.ml_line_count + 1) - rettv->vval.v_number = -1; - else ---- 7627,7633 ---- - #else - linenr_T lnum; - -! lnum = tv_get_lnum(argvars); - if (lnum < 1 || lnum > curbuf->b_ml.ml_line_count + 1) - rettv->vval.v_number = -1; - else -*************** -*** 7648,7654 **** - linenr_T lnum; - - pos = curwin->w_cursor; -! lnum = get_tv_lnum(argvars); - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count) - { - curwin->w_cursor.lnum = lnum; ---- 7648,7654 ---- - linenr_T lnum; - - pos = curwin->w_cursor; -! lnum = tv_get_lnum(argvars); - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count) - { - curwin->w_cursor.lnum = lnum; -*************** -*** 7687,7704 **** - rettv->v_type = VAR_STRING; - rettv->vval.v_string = NULL; - -! keys = get_tv_string(&argvars[0]); - if (*keys == NUL) - return; - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! which = get_tv_string_buf_chk(&argvars[1], buf); - if (argvars[2].v_type != VAR_UNKNOWN) - { -! abbr = (int)get_tv_number(&argvars[2]); - if (argvars[3].v_type != VAR_UNKNOWN) -! get_dict = (int)get_tv_number(&argvars[3]); - } - } - else ---- 7687,7704 ---- - rettv->v_type = VAR_STRING; - rettv->vval.v_string = NULL; - -! keys = tv_get_string(&argvars[0]); - if (*keys == NUL) - return; - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! which = tv_get_string_buf_chk(&argvars[1], buf); - if (argvars[2].v_type != VAR_UNKNOWN) - { -! abbr = (int)tv_get_number(&argvars[2]); - if (argvars[3].v_type != VAR_UNKNOWN) -! get_dict = (int)tv_get_number(&argvars[3]); - } - } - else -*************** -*** 7789,7795 **** - char_u *str; - char_u buf[NUMBUFLEN]; - -! str = get_tv_string_buf(&argvars[0], buf); - do_luaeval(str, argvars + 1, rettv); - } - #endif ---- 7789,7795 ---- - char_u *str; - char_u buf[NUMBUFLEN]; - -! str = tv_get_string_buf(&argvars[0], buf); - do_luaeval(str, argvars + 1, rettv); - } - #endif -*************** -*** 7890,7900 **** - } - else - { -! expr = str = get_tv_string(&argvars[0]); - len = (long)STRLEN(str); - } - -! pat = get_tv_string_buf_chk(&argvars[1], patbuf); - if (pat == NULL) - goto theend; - ---- 7890,7900 ---- - } - else - { -! expr = str = tv_get_string(&argvars[0]); - len = (long)STRLEN(str); - } - -! pat = tv_get_string_buf_chk(&argvars[1], patbuf); - if (pat == NULL) - goto theend; - -*************** -*** 7902,7908 **** - { - int error = FALSE; - -! start = (long)get_tv_number_chk(&argvars[2], &error); - if (error) - goto theend; - if (l != NULL) ---- 7902,7908 ---- - { - int error = FALSE; - -! start = (long)tv_get_number_chk(&argvars[2], &error); - if (error) - goto theend; - if (l != NULL) -*************** -*** 7931,7937 **** - } - - if (argvars[3].v_type != VAR_UNKNOWN) -! nth = (long)get_tv_number_chk(&argvars[3], &error); - if (error) - goto theend; - } ---- 7931,7937 ---- - } - - if (argvars[3].v_type != VAR_UNKNOWN) -! nth = (long)tv_get_number_chk(&argvars[3], &error); - if (error) - goto theend; - } -*************** -*** 8106,8113 **** - { - #ifdef FEAT_SEARCH_EXTRA - char_u buf[NUMBUFLEN]; -! char_u *grp = get_tv_string_buf_chk(&argvars[0], buf); /* group */ -! char_u *pat = get_tv_string_buf_chk(&argvars[1], buf); /* pattern */ - int prio = 10; /* default priority */ - int id = -1; - int error = FALSE; ---- 8106,8113 ---- - { - #ifdef FEAT_SEARCH_EXTRA - char_u buf[NUMBUFLEN]; -! char_u *grp = tv_get_string_buf_chk(&argvars[0], buf); /* group */ -! char_u *pat = tv_get_string_buf_chk(&argvars[1], buf); /* pattern */ - int prio = 10; /* default priority */ - int id = -1; - int error = FALSE; -*************** -*** 8120,8129 **** - return; - if (argvars[2].v_type != VAR_UNKNOWN) - { -! prio = (int)get_tv_number_chk(&argvars[2], &error); - if (argvars[3].v_type != VAR_UNKNOWN) - { -! id = (int)get_tv_number_chk(&argvars[3], &error); - if (argvars[4].v_type != VAR_UNKNOWN - && matchadd_dict_arg(&argvars[4], &conceal_char, &win) == FAIL) - return; ---- 8120,8129 ---- - return; - if (argvars[2].v_type != VAR_UNKNOWN) - { -! prio = (int)tv_get_number_chk(&argvars[2], &error); - if (argvars[3].v_type != VAR_UNKNOWN) - { -! id = (int)tv_get_number_chk(&argvars[3], &error); - if (argvars[4].v_type != VAR_UNKNOWN - && matchadd_dict_arg(&argvars[4], &conceal_char, &win) == FAIL) - return; -*************** -*** 8160,8166 **** - - rettv->vval.v_number = -1; - -! group = get_tv_string_buf_chk(&argvars[0], buf); - if (group == NULL) - return; - ---- 8160,8166 ---- - - rettv->vval.v_number = -1; - -! group = tv_get_string_buf_chk(&argvars[0], buf); - if (group == NULL) - return; - -*************** -*** 8175,8184 **** - - if (argvars[2].v_type != VAR_UNKNOWN) - { -! prio = (int)get_tv_number_chk(&argvars[2], &error); - if (argvars[3].v_type != VAR_UNKNOWN) - { -! id = (int)get_tv_number_chk(&argvars[3], &error); - - if (argvars[4].v_type != VAR_UNKNOWN - && matchadd_dict_arg(&argvars[4], &conceal_char, &win) == FAIL) ---- 8175,8184 ---- - - if (argvars[2].v_type != VAR_UNKNOWN) - { -! prio = (int)tv_get_number_chk(&argvars[2], &error); - if (argvars[3].v_type != VAR_UNKNOWN) - { -! id = (int)tv_get_number_chk(&argvars[3], &error); - - if (argvars[4].v_type != VAR_UNKNOWN - && matchadd_dict_arg(&argvars[4], &conceal_char, &win) == FAIL) -*************** -*** 8209,8215 **** - if (rettv_list_alloc(rettv) == OK) - { - #ifdef FEAT_SEARCH_EXTRA -! int id = (int)get_tv_number(&argvars[0]); - matchitem_T *m; - - if (id >= 1 && id <= 3) ---- 8209,8215 ---- - if (rettv_list_alloc(rettv) == OK) - { - #ifdef FEAT_SEARCH_EXTRA -! int id = (int)tv_get_number(&argvars[0]); - matchitem_T *m; - - if (id >= 1 && id <= 3) -*************** -*** 8238,8244 **** - { - #ifdef FEAT_SEARCH_EXTRA - rettv->vval.v_number = match_delete(curwin, -! (int)get_tv_number(&argvars[0]), TRUE); - #endif - } - ---- 8238,8244 ---- - { - #ifdef FEAT_SEARCH_EXTRA - rettv->vval.v_number = match_delete(curwin, -! (int)tv_get_number(&argvars[0]), TRUE); - #endif - } - -*************** -*** 8296,8308 **** - li = l->lv_first; - if (li != NULL) - { -! n = get_tv_number_chk(&li->li_tv, &error); - for (;;) - { - li = li->li_next; - if (li == NULL) - break; -! i = get_tv_number_chk(&li->li_tv, &error); - if (domax ? i > n : i < n) - n = i; - } ---- 8296,8308 ---- - li = l->lv_first; - if (li != NULL) - { -! n = tv_get_number_chk(&li->li_tv, &error); - for (;;) - { - li = li->li_next; - if (li == NULL) - break; -! i = tv_get_number_chk(&li->li_tv, &error); - if (domax ? i > n : i < n) - n = i; - } -*************** -*** 8325,8331 **** - if (!HASHITEM_EMPTY(hi)) - { - --todo; -! i = get_tv_number_chk(&HI2DI(hi)->di_tv, &error); - if (first) - { - n = i; ---- 8325,8331 ---- - if (!HASHITEM_EMPTY(hi)) - { - --todo; -! i = tv_get_number_chk(&HI2DI(hi)->di_tv, &error); - if (first) - { - n = i; -*************** -*** 8405,8411 **** - if (check_restricted() || check_secure()) - return; - -! dir = get_tv_string_buf(&argvars[0], buf); - if (*dir == NUL) - return; - ---- 8405,8411 ---- - if (check_restricted() || check_secure()) - return; - -! dir = tv_get_string_buf(&argvars[0], buf); - if (*dir == NUL) - return; - -*************** -*** 8417,8427 **** - { - if (argvars[2].v_type != VAR_UNKNOWN) - { -! prot = (int)get_tv_number_chk(&argvars[2], NULL); - if (prot == -1) - return; - } -! if (STRCMP(get_tv_string(&argvars[1]), "p") == 0) - { - if (mch_isdir(dir)) - { ---- 8417,8427 ---- - { - if (argvars[2].v_type != VAR_UNKNOWN) - { -! prot = (int)tv_get_number_chk(&argvars[2], NULL); - if (prot == -1) - return; - } -! if (STRCMP(tv_get_string(&argvars[1]), "p") == 0) - { - if (mch_isdir(dir)) - { -*************** -*** 8535,8541 **** - char_u *str; - char_u buf[NUMBUFLEN]; - -! str = get_tv_string_buf(&argvars[0], buf); - do_mzeval(str, rettv); - } - ---- 8535,8541 ---- - char_u *str; - char_u buf[NUMBUFLEN]; - -! str = tv_get_string_buf(&argvars[0], buf); - do_mzeval(str, rettv); - } - -*************** -*** 8561,8567 **** - { - linenr_T lnum; - -! for (lnum = get_tv_lnum(argvars); ; ++lnum) - { - if (lnum < 0 || lnum > curbuf->b_ml.ml_line_count) - { ---- 8561,8567 ---- - { - linenr_T lnum; - -! for (lnum = tv_get_lnum(argvars); ; ++lnum) - { - if (lnum < 0 || lnum > curbuf->b_ml.ml_line_count) - { -*************** -*** 8588,8603 **** - int utf8 = 0; - - if (argvars[1].v_type != VAR_UNKNOWN) -! utf8 = (int)get_tv_number_chk(&argvars[1], NULL); - if (utf8) -! buf[(*utf_char2bytes)((int)get_tv_number(&argvars[0]), buf)] = NUL; - else -! buf[(*mb_char2bytes)((int)get_tv_number(&argvars[0]), buf)] = NUL; - } - else - #endif - { -! buf[0] = (char_u)get_tv_number(&argvars[0]); - buf[1] = NUL; - } - rettv->v_type = VAR_STRING; ---- 8588,8603 ---- - int utf8 = 0; - - if (argvars[1].v_type != VAR_UNKNOWN) -! utf8 = (int)tv_get_number_chk(&argvars[1], NULL); - if (utf8) -! buf[(*utf_char2bytes)((int)tv_get_number(&argvars[0]), buf)] = NUL; - else -! buf[(*mb_char2bytes)((int)tv_get_number(&argvars[0]), buf)] = NUL; - } - else - #endif - { -! buf[0] = (char_u)tv_get_number(&argvars[0]); - buf[1] = NUL; - } - rettv->v_type = VAR_STRING; -*************** -*** 8610,8617 **** - static void - f_or(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = get_tv_number_chk(&argvars[0], NULL) -! | get_tv_number_chk(&argvars[1], NULL); - } - - /* ---- 8610,8617 ---- - static void - f_or(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = tv_get_number_chk(&argvars[0], NULL) -! | tv_get_number_chk(&argvars[1], NULL); - } - - /* -*************** -*** 8623,8629 **** - char_u *p; - - rettv->v_type = VAR_STRING; -! p = get_tv_string_chk(&argvars[0]); - if (p == NULL) - rettv->vval.v_string = NULL; - else ---- 8623,8629 ---- - char_u *p; - - rettv->v_type = VAR_STRING; -! p = tv_get_string_chk(&argvars[0]); - if (p == NULL) - rettv->vval.v_string = NULL; - else -*************** -*** 8645,8651 **** - char_u *str; - char_u buf[NUMBUFLEN]; - -! str = get_tv_string_buf(&argvars[0], buf); - do_perleval(str, rettv); - } - #endif ---- 8645,8651 ---- - char_u *str; - char_u buf[NUMBUFLEN]; - -! str = tv_get_string_buf(&argvars[0], buf); - do_perleval(str, rettv); - } - #endif -*************** -*** 8676,8682 **** - { - linenr_T lnum; - -! lnum = get_tv_lnum(argvars); - if (lnum < 1 || lnum > curbuf->b_ml.ml_line_count) - lnum = 0; - else ---- 8676,8682 ---- - { - linenr_T lnum; - -! lnum = tv_get_lnum(argvars); - if (lnum < 1 || lnum > curbuf->b_ml.ml_line_count) - lnum = 0; - else -*************** -*** 8708,8714 **** - - /* Get the required length, allocate the buffer and do it for real. */ - did_emsg = FALSE; -! fmt = (char *)get_tv_string_buf(&argvars[0], buf); - len = vim_vsnprintf_typval(NULL, 0, fmt, ap, argvars + 1); - if (!did_emsg) - { ---- 8708,8714 ---- - - /* Get the required length, allocate the buffer and do it for real. */ - did_emsg = FALSE; -! fmt = (char *)tv_get_string_buf(&argvars[0], buf); - len = vim_vsnprintf_typval(NULL, 0, fmt, ap, argvars + 1); - if (!did_emsg) - { -*************** -*** 8797,8803 **** - if (buf == NULL) - return; - -! text = get_tv_string(&argvars[1]); - vim_free(buf->b_prompt_text); - buf->b_prompt_text = vim_strsave(text); - } ---- 8797,8803 ---- - if (buf == NULL) - return; - -! text = tv_get_string(&argvars[1]); - vim_free(buf->b_prompt_text); - buf->b_prompt_text = vim_strsave(text); - } -*************** -*** 8828,8834 **** - if (p_pyx == 0) - p_pyx = 3; - -! str = get_tv_string_buf(&argvars[0], buf); - do_py3eval(str, rettv); - } - #endif ---- 8828,8834 ---- - if (p_pyx == 0) - p_pyx = 3; - -! str = tv_get_string_buf(&argvars[0], buf); - do_py3eval(str, rettv); - } - #endif -*************** -*** 8846,8852 **** - if (p_pyx == 0) - p_pyx = 2; - -! str = get_tv_string_buf(&argvars[0], buf); - do_pyeval(str, rettv); - } - #endif ---- 8846,8852 ---- - if (p_pyx == 0) - p_pyx = 2; - -! str = tv_get_string_buf(&argvars[0], buf); - do_pyeval(str, rettv); - } - #endif -*************** -*** 8884,8890 **** - varnumber_T i; - int error = FALSE; - -! start = get_tv_number_chk(&argvars[0], &error); - if (argvars[1].v_type == VAR_UNKNOWN) - { - end = start - 1; ---- 8884,8890 ---- - varnumber_T i; - int error = FALSE; - -! start = tv_get_number_chk(&argvars[0], &error); - if (argvars[1].v_type == VAR_UNKNOWN) - { - end = start - 1; -*************** -*** 8892,8900 **** - } - else - { -! end = get_tv_number_chk(&argvars[1], &error); - if (argvars[2].v_type != VAR_UNKNOWN) -! stride = get_tv_number_chk(&argvars[2], &error); - } - - if (error) ---- 8892,8900 ---- - } - else - { -! end = tv_get_number_chk(&argvars[1], &error); - if (argvars[2].v_type != VAR_UNKNOWN) -! stride = tv_get_number_chk(&argvars[2], &error); - } - - if (error) -*************** -*** 8936,8945 **** - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! if (STRCMP(get_tv_string(&argvars[1]), "b") == 0) - binary = TRUE; - if (argvars[2].v_type != VAR_UNKNOWN) -! maxline = (long)get_tv_number(&argvars[2]); - } - - if (rettv_list_alloc(rettv) == FAIL) ---- 8936,8945 ---- - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! if (STRCMP(tv_get_string(&argvars[1]), "b") == 0) - binary = TRUE; - if (argvars[2].v_type != VAR_UNKNOWN) -! maxline = (long)tv_get_number(&argvars[2]); - } - - if (rettv_list_alloc(rettv) == FAIL) -*************** -*** 8947,8953 **** - - /* Always open the file in binary mode, library functions have a mind of - * their own about CR-LF conversion. */ -! fname = get_tv_string(&argvars[0]); - if (*fname == NUL || (fd = mch_fopen((char *)fname, READBIN)) == NULL) - { - EMSG2(_(e_notopen), *fname == NUL ? (char_u *)_("<empty>") : fname); ---- 8947,8953 ---- - - /* Always open the file in binary mode, library functions have a mind of - * their own about CR-LF conversion. */ -! fname = tv_get_string(&argvars[0]); - if (*fname == NUL || (fd = mch_fopen((char *)fname, READBIN)) == NULL) - { - EMSG2(_(e_notopen), *fname == NUL ? (char_u *)_("<empty>") : fname); -*************** -*** 9318,9329 **** - # endif - if (argvars[2].v_type != VAR_UNKNOWN - && argvars[3].v_type != VAR_UNKNOWN) -! timeout = get_tv_number(&argvars[3]); - -! server_name = get_tv_string_chk(&argvars[0]); - if (server_name == NULL) - return; /* type error; errmsg already given */ -! keys = get_tv_string_buf(&argvars[1], buf); - # ifdef WIN32 - if (serverSendToVim(server_name, keys, &r, &w, expr, timeout, TRUE) < 0) - # else ---- 9318,9329 ---- - # endif - if (argvars[2].v_type != VAR_UNKNOWN - && argvars[3].v_type != VAR_UNKNOWN) -! timeout = tv_get_number(&argvars[3]); - -! server_name = tv_get_string_chk(&argvars[0]); - if (server_name == NULL) - return; /* type error; errmsg already given */ -! keys = tv_get_string_buf(&argvars[1], buf); - # ifdef WIN32 - if (serverSendToVim(server_name, keys, &r, &w, expr, timeout, TRUE) < 0) - # else -*************** -*** 9349,9355 **** - char_u str[30]; - char_u *idvar; - -! idvar = get_tv_string_chk(&argvars[2]); - if (idvar != NULL && *idvar != NUL) - { - sprintf((char *)str, PRINTF_HEX_LONG_U, (long_u)w); ---- 9349,9355 ---- - char_u str[30]; - char_u *idvar; - -! idvar = tv_get_string_chk(&argvars[2]); - if (idvar != NULL && *idvar != NUL) - { - sprintf((char *)str, PRINTF_HEX_LONG_U, (long_u)w); -*************** -*** 9385,9391 **** - # ifdef WIN32 - /* On Win32 it's done in this application. */ - { -! char_u *server_name = get_tv_string_chk(&argvars[0]); - - if (server_name != NULL) - serverForeground(server_name); ---- 9385,9391 ---- - # ifdef WIN32 - /* On Win32 it's done in this application. */ - { -! char_u *server_name = tv_get_string_chk(&argvars[0]); - - if (server_name != NULL) - serverForeground(server_name); -*************** -*** 9419,9425 **** - rettv->vval.v_number = -1; - return; - } -! serverid = get_tv_string_chk(&argvars[0]); - if (serverid == NULL) - { - rettv->vval.v_number = -1; ---- 9419,9425 ---- - rettv->vval.v_number = -1; - return; - } -! serverid = tv_get_string_chk(&argvars[0]); - if (serverid == NULL) - { - rettv->vval.v_number = -1; -*************** -*** 9448,9454 **** - - v.di_tv.v_type = VAR_STRING; - v.di_tv.vval.v_string = vim_strsave(s); -! retvar = get_tv_string_chk(&argvars[1]); - if (retvar != NULL) - set_var(retvar, &v.di_tv, FALSE); - vim_free(v.di_tv.vval.v_string); ---- 9448,9454 ---- - - v.di_tv.v_type = VAR_STRING; - v.di_tv.vval.v_string = vim_strsave(s); -! retvar = tv_get_string_chk(&argvars[1]); - if (retvar != NULL) - set_var(retvar, &v.di_tv, FALSE); - vim_free(v.di_tv.vval.v_string); -*************** -*** 9464,9470 **** - char_u *r = NULL; - - #ifdef FEAT_CLIENTSERVER -! char_u *serverid = get_tv_string_chk(&argvars[0]); - - if (serverid != NULL && !check_restricted() && !check_secure()) - { ---- 9464,9470 ---- - char_u *r = NULL; - - #ifdef FEAT_CLIENTSERVER -! char_u *serverid = tv_get_string_chk(&argvars[0]); - - if (serverid != NULL && !check_restricted() && !check_secure()) - { -*************** -*** 9475,9481 **** - # endif - - if (argvars[1].v_type != VAR_UNKNOWN) -! timeout = get_tv_number(&argvars[1]); - - # ifdef WIN32 - sscanf((char *)serverid, SCANF_HEX_LONG_U, &n); ---- 9475,9481 ---- - # endif - - if (argvars[1].v_type != VAR_UNKNOWN) -! timeout = tv_get_number(&argvars[1]); - - # ifdef WIN32 - sscanf((char *)serverid, SCANF_HEX_LONG_U, &n); -*************** -*** 9514,9520 **** - f_remote_startserver(typval_T *argvars UNUSED, typval_T *rettv UNUSED) - { - #ifdef FEAT_CLIENTSERVER -! char_u *server = get_tv_string_chk(&argvars[0]); - - if (server == NULL) - return; /* type error; errmsg already given */ ---- 9514,9520 ---- - f_remote_startserver(typval_T *argvars UNUSED, typval_T *rettv UNUSED) - { - #ifdef FEAT_CLIENTSERVER -! char_u *server = tv_get_string_chk(&argvars[0]); - - if (server == NULL) - return; /* type error; errmsg already given */ -*************** -*** 9557,9563 **** - else if ((d = argvars[0].vval.v_dict) != NULL - && !tv_check_lock(d->dv_lock, arg_errmsg, TRUE)) - { -! key = get_tv_string_chk(&argvars[1]); - if (key != NULL) - { - di = dict_find(d, key, -1); ---- 9557,9563 ---- - else if ((d = argvars[0].vval.v_dict) != NULL - && !tv_check_lock(d->dv_lock, arg_errmsg, TRUE)) - { -! key = tv_get_string_chk(&argvars[1]); - if (key != NULL) - { - di = dict_find(d, key, -1); -*************** -*** 9580,9586 **** - { - int error = FALSE; - -! idx = (long)get_tv_number_chk(&argvars[1], &error); - if (error) - ; /* type error: do nothing, errmsg already given */ - else if ((item = list_find(l, idx)) == NULL) ---- 9580,9586 ---- - { - int error = FALSE; - -! idx = (long)tv_get_number_chk(&argvars[1], &error); - if (error) - ; /* type error: do nothing, errmsg already given */ - else if ((item = list_find(l, idx)) == NULL) -*************** -*** 9597,9603 **** - else - { - /* Remove range of items, return list with values. */ -! end = (long)get_tv_number_chk(&argvars[2], &error); - if (error) - ; /* type error: do nothing */ - else if ((item2 = list_find(l, end)) == NULL) ---- 9597,9603 ---- - else - { - /* Remove range of items, return list with values. */ -! end = (long)tv_get_number_chk(&argvars[2], &error); - if (error) - ; /* type error: do nothing */ - else if ((item2 = list_find(l, end)) == NULL) -*************** -*** 9644,9651 **** - if (check_restricted() || check_secure()) - rettv->vval.v_number = -1; - else -! rettv->vval.v_number = vim_rename(get_tv_string(&argvars[0]), -! get_tv_string_buf(&argvars[1], buf)); - } - - /* ---- 9644,9651 ---- - if (check_restricted() || check_secure()) - rettv->vval.v_number = -1; - else -! rettv->vval.v_number = vim_rename(tv_get_string(&argvars[0]), -! tv_get_string_buf(&argvars[1], buf)); - } - - /* -*************** -*** 9661,9667 **** - char_u *r; - int i; - -! n = (int)get_tv_number(&argvars[1]); - if (argvars[0].v_type == VAR_LIST) - { - if (rettv_list_alloc(rettv) == OK && argvars[0].vval.v_list != NULL) ---- 9661,9667 ---- - char_u *r; - int i; - -! n = (int)tv_get_number(&argvars[1]); - if (argvars[0].v_type == VAR_LIST) - { - if (rettv_list_alloc(rettv) == OK && argvars[0].vval.v_list != NULL) -*************** -*** 9672,9678 **** - } - else - { -! p = get_tv_string(&argvars[0]); - rettv->v_type = VAR_STRING; - rettv->vval.v_string = NULL; - ---- 9672,9678 ---- - } - else - { -! p = tv_get_string(&argvars[0]); - rettv->v_type = VAR_STRING; - rettv->vval.v_string = NULL; - -*************** -*** 9704,9710 **** - char_u *buf = NULL; - #endif - -! p = get_tv_string(&argvars[0]); - #ifdef FEAT_SHORTCUT - { - char_u *v = NULL; ---- 9704,9710 ---- - char_u *buf = NULL; - #endif - -! p = tv_get_string(&argvars[0]); - #ifdef FEAT_SHORTCUT - { - char_u *v = NULL; -*************** -*** 9950,9956 **** - - if (varp->v_type != VAR_UNKNOWN) - { -! flags = get_tv_string_buf_chk(varp, nbuf); - if (flags == NULL) - return 0; /* type error; errmsg already given */ - while (*flags != NUL) ---- 9950,9956 ---- - - if (varp->v_type != VAR_UNKNOWN) - { -! flags = tv_get_string_buf_chk(varp, nbuf); - if (flags == NULL) - return 0; /* type error; errmsg already given */ - while (*flags != NUL) -*************** -*** 10010,10016 **** - int options = SEARCH_KEEP; - int subpatnum; - -! pat = get_tv_string(&argvars[0]); - dir = get_search_arg(&argvars[1], flagsp); /* may set p_ws */ - if (dir == 0) - goto theend; ---- 10010,10016 ---- - int options = SEARCH_KEEP; - int subpatnum; - -! pat = tv_get_string(&argvars[0]); - dir = get_search_arg(&argvars[1], flagsp); /* may set p_ws */ - if (dir == 0) - goto theend; -*************** -*** 10025,10037 **** - /* Optional arguments: line number to stop searching and timeout. */ - if (argvars[1].v_type != VAR_UNKNOWN && argvars[2].v_type != VAR_UNKNOWN) - { -! lnum_stop = (long)get_tv_number_chk(&argvars[2], NULL); - if (lnum_stop < 0) - goto theend; - #ifdef FEAT_RELTIME - if (argvars[3].v_type != VAR_UNKNOWN) - { -! time_limit = (long)get_tv_number_chk(&argvars[3], NULL); - if (time_limit < 0) - goto theend; - } ---- 10025,10037 ---- - /* Optional arguments: line number to stop searching and timeout. */ - if (argvars[1].v_type != VAR_UNKNOWN && argvars[2].v_type != VAR_UNKNOWN) - { -! lnum_stop = (long)tv_get_number_chk(&argvars[2], NULL); - if (lnum_stop < 0) - goto theend; - #ifdef FEAT_RELTIME - if (argvars[3].v_type != VAR_UNKNOWN) - { -! time_limit = (long)tv_get_number_chk(&argvars[3], NULL); - if (time_limit < 0) - goto theend; - } -*************** -*** 10052,10058 **** - if (((flags & (SP_REPEAT | SP_RETCOUNT)) != 0) - || ((flags & SP_NOMOVE) && (flags & SP_SETPCMARK))) - { -! EMSG2(_(e_invarg2), get_tv_string(&argvars[1])); - goto theend; - } - ---- 10052,10058 ---- - if (((flags & (SP_REPEAT | SP_RETCOUNT)) != 0) - || ((flags & SP_NOMOVE) && (flags & SP_SETPCMARK))) - { -! EMSG2(_(e_invarg2), tv_get_string(&argvars[1])); - goto theend; - } - -*************** -*** 10127,10134 **** - int col; - int c; - -! row = (int)get_tv_number_chk(&argvars[0], NULL) - 1; -! col = (int)get_tv_number_chk(&argvars[1], NULL) - 1; - if (row < 0 || row >= screen_Rows - || col < 0 || col >= screen_Columns) - c = -1; ---- 10127,10134 ---- - int col; - int c; - -! row = (int)tv_get_number_chk(&argvars[0], NULL) - 1; -! col = (int)tv_get_number_chk(&argvars[1], NULL) - 1; - if (row < 0 || row >= screen_Rows - || col < 0 || col >= screen_Columns) - c = -1; -*************** -*** 10148,10155 **** - int off; - int c; - -! row = (int)get_tv_number_chk(&argvars[0], NULL) - 1; -! col = (int)get_tv_number_chk(&argvars[1], NULL) - 1; - if (row < 0 || row >= screen_Rows - || col < 0 || col >= screen_Columns) - c = -1; ---- 10148,10155 ---- - int off; - int c; - -! row = (int)tv_get_number_chk(&argvars[0], NULL) - 1; -! col = (int)tv_get_number_chk(&argvars[1], NULL) - 1; - if (row < 0 || row >= screen_Rows - || col < 0 || col >= screen_Columns) - c = -1; -*************** -*** 10210,10221 **** - - rettv->vval.v_number = 1; /* default: FAIL */ - -! name = get_tv_string_chk(&argvars[0]); - if (argvars[1].v_type != VAR_UNKNOWN) - { -! locally = (int)get_tv_number_chk(&argvars[1], &error) == 0; - if (!error && argvars[2].v_type != VAR_UNKNOWN) -! thisblock = (int)get_tv_number_chk(&argvars[2], &error) != 0; - } - if (!error && name != NULL) - rettv->vval.v_number = find_decl(name, (int)STRLEN(name), ---- 10210,10221 ---- - - rettv->vval.v_number = 1; /* default: FAIL */ - -! name = tv_get_string_chk(&argvars[0]); - if (argvars[1].v_type != VAR_UNKNOWN) - { -! locally = (int)tv_get_number_chk(&argvars[1], &error) == 0; - if (!error && argvars[2].v_type != VAR_UNKNOWN) -! thisblock = (int)tv_get_number_chk(&argvars[2], &error) != 0; - } - if (!error && name != NULL) - rettv->vval.v_number = find_decl(name, (int)STRLEN(name), -*************** -*** 10241,10249 **** - - /* Get the three pattern arguments: start, middle, end. Will result in an - * error if not a valid argument. */ -! spat = get_tv_string_chk(&argvars[0]); -! mpat = get_tv_string_buf_chk(&argvars[1], nbuf1); -! epat = get_tv_string_buf_chk(&argvars[2], nbuf2); - if (spat == NULL || mpat == NULL || epat == NULL) - goto theend; /* type error */ - ---- 10241,10249 ---- - - /* Get the three pattern arguments: start, middle, end. Will result in an - * error if not a valid argument. */ -! spat = tv_get_string_chk(&argvars[0]); -! mpat = tv_get_string_buf_chk(&argvars[1], nbuf1); -! epat = tv_get_string_buf_chk(&argvars[2], nbuf2); - if (spat == NULL || mpat == NULL || epat == NULL) - goto theend; /* type error */ - -*************** -*** 10258,10264 **** - if ((flags & (SP_END | SP_SUBPAT)) != 0 - || ((flags & SP_NOMOVE) && (flags & SP_SETPCMARK))) - { -! EMSG2(_(e_invarg2), get_tv_string(&argvars[3])); - goto theend; - } - ---- 10258,10264 ---- - if ((flags & (SP_END | SP_SUBPAT)) != 0 - || ((flags & SP_NOMOVE) && (flags & SP_SETPCMARK))) - { -! EMSG2(_(e_invarg2), tv_get_string(&argvars[3])); - goto theend; - } - -*************** -*** 10277,10300 **** - && skip->v_type != VAR_STRING) - { - /* Type error */ -! EMSG2(_(e_invarg2), get_tv_string(&argvars[4])); - goto theend; - } - if (argvars[5].v_type != VAR_UNKNOWN) - { -! lnum_stop = (long)get_tv_number_chk(&argvars[5], NULL); - if (lnum_stop < 0) - { -! EMSG2(_(e_invarg2), get_tv_string(&argvars[5])); - goto theend; - } - #ifdef FEAT_RELTIME - if (argvars[6].v_type != VAR_UNKNOWN) - { -! time_limit = (long)get_tv_number_chk(&argvars[6], NULL); - if (time_limit < 0) - { -! EMSG2(_(e_invarg2), get_tv_string(&argvars[6])); - goto theend; - } - } ---- 10277,10300 ---- - && skip->v_type != VAR_STRING) - { - /* Type error */ -! EMSG2(_(e_invarg2), tv_get_string(&argvars[4])); - goto theend; - } - if (argvars[5].v_type != VAR_UNKNOWN) - { -! lnum_stop = (long)tv_get_number_chk(&argvars[5], NULL); - if (lnum_stop < 0) - { -! EMSG2(_(e_invarg2), tv_get_string(&argvars[5])); - goto theend; - } - #ifdef FEAT_RELTIME - if (argvars[6].v_type != VAR_UNKNOWN) - { -! time_limit = (long)tv_get_number_chk(&argvars[6], NULL); - if (time_limit < 0) - { -! EMSG2(_(e_invarg2), tv_get_string(&argvars[6])); - goto theend; - } - } -*************** -*** 10544,10551 **** - { - #ifdef FEAT_CLIENTSERVER - char_u buf[NUMBUFLEN]; -! char_u *server = get_tv_string_chk(&argvars[0]); -! char_u *reply = get_tv_string_buf_chk(&argvars[1], buf); - - rettv->vval.v_number = -1; - if (server == NULL || reply == NULL) ---- 10544,10551 ---- - { - #ifdef FEAT_CLIENTSERVER - char_u buf[NUMBUFLEN]; -! char_u *server = tv_get_string_chk(&argvars[0]); -! char_u *reply = tv_get_string_buf_chk(&argvars[1], buf); - - rettv->vval.v_number = -1; - if (server == NULL || reply == NULL) -*************** -*** 10600,10606 **** - rettv->vval.v_number = 1; /* FAIL */ - else - { -! lnum = get_tv_lnum_buf(&argvars[1], buf); - set_buffer_lines(buf, lnum, FALSE, &argvars[2], rettv); - } - } ---- 10600,10606 ---- - rettv->vval.v_number = 1; /* FAIL */ - else - { -! lnum = tv_get_lnum_buf(&argvars[1], buf); - set_buffer_lines(buf, lnum, FALSE, &argvars[2], rettv); - } - } -*************** -*** 10618,10625 **** - - if (check_restricted() || check_secure()) - return; -! (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */ -! varname = get_tv_string_chk(&argvars[1]); - buf = get_buf_tv(&argvars[0], FALSE); - varp = &argvars[2]; - ---- 10618,10625 ---- - - if (check_restricted() || check_secure()) - return; -! (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */ -! varname = tv_get_string_chk(&argvars[1]); - buf = get_buf_tv(&argvars[0], FALSE); - varp = &argvars[2]; - -*************** -*** 10636,10643 **** - aucmd_prepbuf(&aco, buf); - - ++varname; -! numval = (long)get_tv_number_chk(varp, &error); -! strval = get_tv_string_buf_chk(varp, nbuf); - if (!error && strval != NULL) - set_option_value(varname, numval, strval, OPT_LOCAL); - ---- 10636,10643 ---- - aucmd_prepbuf(&aco, buf); - - ++varname; -! numval = (long)tv_get_number_chk(varp, &error); -! strval = tv_get_string_buf_chk(varp, nbuf); - if (!error && strval != NULL) - set_option_value(varname, numval, strval, OPT_LOCAL); - -*************** -*** 10696,10707 **** - - di = dict_find(d, (char_u *)"forward", -1); - if (di != NULL) -! set_csearch_direction((int)get_tv_number(&di->di_tv) - ? FORWARD : BACKWARD); - - di = dict_find(d, (char_u *)"until", -1); - if (di != NULL) -! set_csearch_until(!!get_tv_number(&di->di_tv)); - } - } - ---- 10696,10707 ---- - - di = dict_find(d, (char_u *)"forward", -1); - if (di != NULL) -! set_csearch_direction((int)tv_get_number(&di->di_tv) - ? FORWARD : BACKWARD); - - di = dict_find(d, (char_u *)"until", -1); - if (di != NULL) -! set_csearch_until(!!tv_get_number(&di->di_tv)); - } - } - -*************** -*** 10711,10717 **** - static void - f_setcmdpos(typval_T *argvars, typval_T *rettv) - { -! int pos = (int)get_tv_number(&argvars[0]) - 1; - - if (pos >= 0) - rettv->vval.v_number = set_cmdline_pos(pos); ---- 10711,10717 ---- - static void - f_setcmdpos(typval_T *argvars, typval_T *rettv) - { -! int pos = (int)tv_get_number(&argvars[0]) - 1; - - if (pos >= 0) - rettv->vval.v_number = set_cmdline_pos(pos); -*************** -*** 10731,10740 **** - int mode = 0; - - rettv->vval.v_number = 0; -! fname = get_tv_string_chk(&argvars[0]); - if (fname == NULL) - return; -! mode_str = get_tv_string_buf_chk(&argvars[1], modebuf); - if (mode_str == NULL) - return; - if (STRLEN(mode_str) != 9) ---- 10731,10740 ---- - int mode = 0; - - rettv->vval.v_number = 0; -! fname = tv_get_string_chk(&argvars[0]); - if (fname == NULL) - return; -! mode_str = tv_get_string_buf_chk(&argvars[1], modebuf); - if (mode_str == NULL) - return; - if (STRLEN(mode_str) != 9) -*************** -*** 10759,10765 **** - static void - f_setline(typval_T *argvars, typval_T *rettv) - { -! linenr_T lnum = get_tv_lnum(&argvars[0]); - - set_buffer_lines(curbuf, lnum, FALSE, &argvars[1], rettv); - } ---- 10759,10765 ---- - static void - f_setline(typval_T *argvars, typval_T *rettv) - { -! linenr_T lnum = tv_get_lnum(&argvars[0]); - - set_buffer_lines(curbuf, lnum, FALSE, &argvars[1], rettv); - } -*************** -*** 10797,10803 **** - - if (action_arg->v_type == VAR_STRING) - { -! act = get_tv_string_chk(action_arg); - if (act == NULL) - return; /* type error; errmsg already given */ - if ((*act == 'a' || *act == 'r' || *act == ' ' || *act == 'f') && ---- 10797,10803 ---- - - if (action_arg->v_type == VAR_STRING) - { -! act = tv_get_string_chk(action_arg); - if (act == NULL) - return; /* type error; errmsg already given */ - if ((*act == 'a' || *act == 'r' || *act == ' ' || *act == 'f') && -*************** -*** 10971,10977 **** - colnr_T curswant = -1; - - rettv->vval.v_number = -1; -! name = get_tv_string_chk(argvars); - if (name != NULL) - { - if (list2fpos(&argvars[1], &pos, &fnum, &curswant) == OK) ---- 10971,10977 ---- - colnr_T curswant = -1; - - rettv->vval.v_number = -1; -! name = tv_get_string_chk(argvars); - if (name != NULL) - { - if (list2fpos(&argvars[1], &pos, &fnum, &curswant) == OK) -*************** -*** 11029,11035 **** - yank_type = MAUTO; - append = FALSE; - -! strregname = get_tv_string_chk(argvars); - rettv->vval.v_number = 1; /* FAIL is default */ - - if (strregname == NULL) ---- 11029,11035 ---- - yank_type = MAUTO; - append = FALSE; - -! strregname = tv_get_string_chk(argvars); - rettv->vval.v_number = 1; /* FAIL is default */ - - if (strregname == NULL) -*************** -*** 11040,11046 **** - - if (argvars[2].v_type != VAR_UNKNOWN) - { -! stropt = get_tv_string_chk(&argvars[2]); - if (stropt == NULL) - return; /* type error */ - for (; *stropt != NUL; ++stropt) ---- 11040,11046 ---- - - if (argvars[2].v_type != VAR_UNKNOWN) - { -! stropt = tv_get_string_chk(&argvars[2]); - if (stropt == NULL) - return; /* type error */ - for (; *stropt != NUL; ++stropt) -*************** -*** 11093,11104 **** - for (li = ll == NULL ? NULL : ll->lv_first; li != NULL; - li = li->li_next) - { -! strval = get_tv_string_buf_chk(&li->li_tv, buf); - if (strval == NULL) - goto free_lstval; - if (strval == buf) - { -! /* Need to make a copy, next get_tv_string_buf_chk() will - * overwrite the string. */ - strval = vim_strsave(buf); - if (strval == NULL) ---- 11093,11104 ---- - for (li = ll == NULL ? NULL : ll->lv_first; li != NULL; - li = li->li_next) - { -! strval = tv_get_string_buf_chk(&li->li_tv, buf); - if (strval == NULL) - goto free_lstval; - if (strval == buf) - { -! /* Need to make a copy, next tv_get_string_buf_chk() will - * overwrite the string. */ - strval = vim_strsave(buf); - if (strval == NULL) -*************** -*** 11118,11124 **** - } - else - { -! strval = get_tv_string_chk(&argvars[1]); - if (strval == NULL) - return; - write_reg_contents_ex(regname, strval, -1, ---- 11118,11124 ---- - } - else - { -! strval = tv_get_string_chk(&argvars[1]); - if (strval == NULL) - return; - write_reg_contents_ex(regname, strval, -1, -*************** -*** 11143,11150 **** - if (check_restricted() || check_secure()) - return; - -! tp = find_tabpage((int)get_tv_number_chk(&argvars[0], NULL)); -! varname = get_tv_string_chk(&argvars[1]); - varp = &argvars[2]; - - if (varname != NULL && varp != NULL && tp != NULL) ---- 11143,11150 ---- - if (check_restricted() || check_secure()) - return; - -! tp = find_tabpage((int)tv_get_number_chk(&argvars[0], NULL)); -! varname = tv_get_string_chk(&argvars[1]); - varp = &argvars[2]; - - if (varname != NULL && varp != NULL && tp != NULL) -*************** -*** 11211,11217 **** - else if (argvars[2].v_type == VAR_STRING) - { - char_u *actstr; -! actstr = get_tv_string_chk(&argvars[2]); - if (actstr == NULL) - return; - if ((*actstr == 'r' || *actstr == 'a') && actstr[1] == NUL) ---- 11211,11217 ---- - else if (argvars[2].v_type == VAR_STRING) - { - char_u *actstr; -! actstr = tv_get_string_chk(&argvars[2]); - if (actstr == NULL) - return; - if ((*actstr == 'r' || *actstr == 'a') && actstr[1] == NUL) -*************** -*** 11250,11256 **** - { - char_u *p; - -! p = get_tv_string(&argvars[0]); - rettv->vval.v_string = vim_strsave( - sha256_bytes(p, (int)STRLEN(p), NULL, 0)); - rettv->v_type = VAR_STRING; ---- 11250,11256 ---- - { - char_u *p; - -! p = tv_get_string(&argvars[0]); - rettv->vval.v_string = vim_strsave( - sha256_bytes(p, (int)STRLEN(p), NULL, 0)); - rettv->v_type = VAR_STRING; -*************** -*** 11266,11272 **** - int do_special = non_zero_arg(&argvars[1]); - - rettv->vval.v_string = vim_strsave_shellescape( -! get_tv_string(&argvars[0]), do_special, do_special); - rettv->v_type = VAR_STRING; - } - ---- 11266,11272 ---- - int do_special = non_zero_arg(&argvars[1]); - - rettv->vval.v_string = vim_strsave_shellescape( -! tv_get_string(&argvars[0]), do_special, do_special); - rettv->v_type = VAR_STRING; - } - -*************** -*** 11282,11288 **** - { - long col; - -! col = (long)get_tv_number_chk(argvars, NULL); - if (col < 0) - return; // type error; errmsg already given - #ifdef FEAT_VARTABS ---- 11282,11288 ---- - { - long col; - -! col = (long)tv_get_number_chk(argvars, NULL); - if (col < 0) - return; // type error; errmsg already given - #ifdef FEAT_VARTABS -*************** -*** 11310,11316 **** - - rettv->vval.v_number = -1; - -! name = get_tv_string_chk(&argvars[0]); - if (name == NULL) - return; - ---- 11310,11316 ---- - - rettv->vval.v_number = -1; - -! name = tv_get_string_chk(&argvars[0]); - if (name == NULL) - return; - -*************** -*** 11355,11361 **** - return; - - if (argvars[0].v_type != VAR_UNKNOWN) -! name = get_tv_string(&argvars[0]); - - sign_getlist(name, rettv->vval.v_list); - } ---- 11355,11361 ---- - return; - - if (argvars[0].v_type != VAR_UNKNOWN) -! name = tv_get_string(&argvars[0]); - - sign_getlist(name, rettv->vval.v_list); - } -*************** -*** 11384,11390 **** - if (buf == NULL) - { - EMSG2(_("E158: Invalid buffer name: %s"), -! get_tv_string(&argvars[0])); - return; - } - ---- 11384,11390 ---- - if (buf == NULL) - { - EMSG2(_("E158: Invalid buffer name: %s"), -! tv_get_string(&argvars[0])); - return; - } - -*************** -*** 11399,11419 **** - if ((di = dict_find(dict, (char_u *)"lnum", -1)) != NULL) - { - // get signs placed at this line -! (void)get_tv_number_chk(&di->di_tv, ¬anum); - if (notanum) - return; -! lnum = get_tv_lnum(&di->di_tv); - } - if ((di = dict_find(dict, (char_u *)"id", -1)) != NULL) - { - // get sign placed with this identifier -! sign_id = (int)get_tv_number_chk(&di->di_tv, ¬anum); - if (notanum) - return; - } - if ((di = dict_find(dict, (char_u *)"group", -1)) != NULL) - { -! group = get_tv_string_chk(&di->di_tv); - if (group == NULL) - return; - } ---- 11399,11419 ---- - if ((di = dict_find(dict, (char_u *)"lnum", -1)) != NULL) - { - // get signs placed at this line -! (void)tv_get_number_chk(&di->di_tv, ¬anum); - if (notanum) - return; -! lnum = tv_get_lnum(&di->di_tv); - } - if ((di = dict_find(dict, (char_u *)"id", -1)) != NULL) - { - // get sign placed with this identifier -! sign_id = (int)tv_get_number_chk(&di->di_tv, ¬anum); - if (notanum) - return; - } - if ((di = dict_find(dict, (char_u *)"group", -1)) != NULL) - { -! group = tv_get_string_chk(&di->di_tv); - if (group == NULL) - return; - } -*************** -*** 11442,11448 **** - rettv->vval.v_number = -1; - - // Sign identifer -! sign_id = (int)get_tv_number_chk(&argvars[0], ¬anum); - if (notanum) - return; - if (sign_id < 0) ---- 11442,11448 ---- - rettv->vval.v_number = -1; - - // Sign identifer -! sign_id = (int)tv_get_number_chk(&argvars[0], ¬anum); - if (notanum) - return; - if (sign_id < 0) -*************** -*** 11452,11458 **** - } - - // Sign group -! group = get_tv_string_chk(&argvars[1]); - if (group == NULL) - return; - if (group[0] == '\0') ---- 11452,11458 ---- - } - - // Sign group -! group = tv_get_string_chk(&argvars[1]); - if (group == NULL) - return; - if (group[0] == '\0') -*************** -*** 11465,11471 **** - } - - // Sign name -! sign_name = get_tv_string_chk(&argvars[2]); - if (sign_name == NULL) - goto cleanup; - ---- 11465,11471 ---- - } - - // Sign name -! sign_name = tv_get_string_chk(&argvars[2]); - if (sign_name == NULL) - goto cleanup; - -*************** -*** 11473,11479 **** - buf = find_buffer(&argvars[3]); - if (buf == NULL) - { -! EMSG2(_("E158: Invalid buffer name: %s"), get_tv_string(&argvars[2])); - goto cleanup; - } - ---- 11473,11479 ---- - buf = find_buffer(&argvars[3]); - if (buf == NULL) - { -! EMSG2(_("E158: Invalid buffer name: %s"), tv_get_string(&argvars[2])); - goto cleanup; - } - -*************** -*** 11489,11503 **** - // Line number where the sign is to be placed - if ((di = dict_find(dict, (char_u *)"lnum", -1)) != NULL) - { -! (void)get_tv_number_chk(&di->di_tv, ¬anum); - if (notanum) - goto cleanup; -! lnum = get_tv_lnum(&di->di_tv); - } - if ((di = dict_find(dict, (char_u *)"priority", -1)) != NULL) - { - // Sign priority -! prio = (int)get_tv_number_chk(&di->di_tv, ¬anum); - if (notanum) - goto cleanup; - } ---- 11489,11503 ---- - // Line number where the sign is to be placed - if ((di = dict_find(dict, (char_u *)"lnum", -1)) != NULL) - { -! (void)tv_get_number_chk(&di->di_tv, ¬anum); - if (notanum) - goto cleanup; -! lnum = tv_get_lnum(&di->di_tv); - } - if ((di = dict_find(dict, (char_u *)"priority", -1)) != NULL) - { - // Sign priority -! prio = (int)tv_get_number_chk(&di->di_tv, ¬anum); - if (notanum) - goto cleanup; - } -*************** -*** 11529,11535 **** - else - { - // Free only the specified sign -! name = get_tv_string_chk(&argvars[0]); - if (name == NULL) - return; - ---- 11529,11535 ---- - else - { - // Free only the specified sign -! name = tv_get_string_chk(&argvars[0]); - if (name == NULL) - return; - -*************** -*** 11558,11564 **** - return; - } - -! group = get_tv_string(&argvars[0]); - if (group[0] == '\0') - group = NULL; // global sign group - else ---- 11558,11564 ---- - return; - } - -! group = tv_get_string(&argvars[0]); - if (group[0] == '\0') - group = NULL; // global sign group - else -*************** -*** 11583,11589 **** - if (buf == NULL) - { - EMSG2(_("E158: Invalid buffer name: %s"), -! get_tv_string(&di->di_tv)); - return; - } - } ---- 11583,11589 ---- - if (buf == NULL) - { - EMSG2(_("E158: Invalid buffer name: %s"), -! tv_get_string(&di->di_tv)); - return; - } - } -*************** -*** 11615,11621 **** - { - char_u *p; - -! p = get_tv_string(&argvars[0]); - rettv->vval.v_string = vim_strsave(p); - simplify_filename(rettv->vval.v_string); /* simplify in place */ - rettv->v_type = VAR_STRING; ---- 11615,11621 ---- - { - char_u *p; - -! p = tv_get_string(&argvars[0]); - rettv->vval.v_string = vim_strsave(p); - simplify_filename(rettv->vval.v_string); /* simplify in place */ - rettv->v_type = VAR_STRING; -*************** -*** 11713,11720 **** - - if (sortinfo->item_compare_numbers) - { -! varnumber_T v1 = get_tv_number(tv1); -! varnumber_T v2 = get_tv_number(tv2); - - return v1 == v2 ? 0 : v1 > v2 ? 1 : -1; - } ---- 11713,11720 ---- - - if (sortinfo->item_compare_numbers) - { -! varnumber_T v1 = tv_get_number(tv1); -! varnumber_T v2 = tv_get_number(tv2); - - return v1 == v2 ? 0 : v1 > v2 ? 1 : -1; - } -*************** -*** 11722,11729 **** - #ifdef FEAT_FLOAT - if (sortinfo->item_compare_float) - { -! float_T v1 = get_tv_float(tv1); -! float_T v2 = get_tv_float(tv2); - - return v1 == v2 ? 0 : v1 > v2 ? 1 : -1; - } ---- 11722,11729 ---- - #ifdef FEAT_FLOAT - if (sortinfo->item_compare_float) - { -! float_T v1 = tv_get_float(tv1); -! float_T v2 = tv_get_float(tv2); - - return v1 == v2 ? 0 : v1 > v2 ? 1 : -1; - } -*************** -*** 11820,11826 **** - if (res == FAIL) - res = ITEM_COMPARE_FAIL; - else -! res = (int)get_tv_number_chk(&rettv, &sortinfo->item_compare_func_err); - if (sortinfo->item_compare_func_err) - res = ITEM_COMPARE_FAIL; /* return value has wrong type */ - clear_tv(&rettv); ---- 11820,11826 ---- - if (res == FAIL) - res = ITEM_COMPARE_FAIL; - else -! res = (int)tv_get_number_chk(&rettv, &sortinfo->item_compare_func_err); - if (sortinfo->item_compare_func_err) - res = ITEM_COMPARE_FAIL; /* return value has wrong type */ - clear_tv(&rettv); -*************** -*** 11887,11899 **** - { - int error = FALSE; - -! i = (long)get_tv_number_chk(&argvars[1], &error); - if (error) - goto theend; /* type error; errmsg already given */ - if (i == 1) - info.item_compare_ic = TRUE; - else if (argvars[1].v_type != VAR_NUMBER) -! info.item_compare_func = get_tv_string(&argvars[1]); - else if (i != 0) - { - EMSG(_(e_invarg)); ---- 11887,11899 ---- - { - int error = FALSE; - -! i = (long)tv_get_number_chk(&argvars[1], &error); - if (error) - goto theend; /* type error; errmsg already given */ - if (i == 1) - info.item_compare_ic = TRUE; - else if (argvars[1].v_type != VAR_NUMBER) -! info.item_compare_func = tv_get_string(&argvars[1]); - else if (i != 0) - { - EMSG(_(e_invarg)); -*************** -*** 12059,12065 **** - char_u *s; - - rettv->v_type = VAR_STRING; -! s = get_tv_string(&argvars[0]); - #ifdef FEAT_SPELL - rettv->vval.v_string = eval_soundfold(s); - #else ---- 12059,12065 ---- - char_u *s; - - rettv->v_type = VAR_STRING; -! s = tv_get_string(&argvars[0]); - #ifdef FEAT_SPELL - rettv->vval.v_string = eval_soundfold(s); - #else -*************** -*** 12093,12099 **** - } - else if (curwin->w_p_spell && *curbuf->b_s.b_p_spl != NUL) - { -! char_u *str = get_tv_string_chk(&argvars[0]); - int capcol = -1; - - if (str != NULL) ---- 12093,12099 ---- - } - else if (curwin->w_p_spell && *curbuf->b_s.b_p_spl != NUL) - { -! char_u *str = tv_get_string_chk(&argvars[0]); - int capcol = -1; - - if (str != NULL) -*************** -*** 12145,12159 **** - #ifdef FEAT_SPELL - if (curwin->w_p_spell && *curwin->w_s->b_p_spl != NUL) - { -! str = get_tv_string(&argvars[0]); - if (argvars[1].v_type != VAR_UNKNOWN) - { -! maxcount = (int)get_tv_number_chk(&argvars[1], &typeerr); - if (maxcount <= 0) - return; - if (argvars[2].v_type != VAR_UNKNOWN) - { -! need_capital = (int)get_tv_number_chk(&argvars[2], &typeerr); - if (typeerr) - return; - } ---- 12145,12159 ---- - #ifdef FEAT_SPELL - if (curwin->w_p_spell && *curwin->w_s->b_p_spl != NUL) - { -! str = tv_get_string(&argvars[0]); - if (argvars[1].v_type != VAR_UNKNOWN) - { -! maxcount = (int)tv_get_number_chk(&argvars[1], &typeerr); - if (maxcount <= 0) - return; - if (argvars[2].v_type != VAR_UNKNOWN) - { -! need_capital = (int)tv_get_number_chk(&argvars[2], &typeerr); - if (typeerr) - return; - } -*************** -*** 12201,12214 **** - save_cpo = p_cpo; - p_cpo = (char_u *)""; - -! str = get_tv_string(&argvars[0]); - if (argvars[1].v_type != VAR_UNKNOWN) - { -! pat = get_tv_string_buf_chk(&argvars[1], patbuf); - if (pat == NULL) - typeerr = TRUE; - if (argvars[2].v_type != VAR_UNKNOWN) -! keepempty = (int)get_tv_number_chk(&argvars[2], &typeerr); - } - if (pat == NULL || *pat == NUL) - pat = (char_u *)"[\\x01- ]\\+"; ---- 12201,12214 ---- - save_cpo = p_cpo; - p_cpo = (char_u *)""; - -! str = tv_get_string(&argvars[0]); - if (argvars[1].v_type != VAR_UNKNOWN) - { -! pat = tv_get_string_buf_chk(&argvars[1], patbuf); - if (pat == NULL) - typeerr = TRUE; - if (argvars[2].v_type != VAR_UNKNOWN) -! keepempty = (int)tv_get_number_chk(&argvars[2], &typeerr); - } - if (pat == NULL || *pat == NUL) - pat = (char_u *)"[\\x01- ]\\+"; -*************** -*** 12284,12290 **** - static void - f_str2float(typval_T *argvars, typval_T *rettv) - { -! char_u *p = skipwhite(get_tv_string(&argvars[0])); - int isneg = (*p == '-'); - - if (*p == '+' || *p == '-') ---- 12284,12290 ---- - static void - f_str2float(typval_T *argvars, typval_T *rettv) - { -! char_u *p = skipwhite(tv_get_string(&argvars[0])); - int isneg = (*p == '-'); - - if (*p == '+' || *p == '-') -*************** -*** 12310,12316 **** - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! base = (int)get_tv_number(&argvars[1]); - if (base != 2 && base != 8 && base != 10 && base != 16) - { - EMSG(_(e_invarg)); ---- 12310,12316 ---- - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! base = (int)tv_get_number(&argvars[1]); - if (base != 2 && base != 8 && base != 10 && base != 16) - { - EMSG(_(e_invarg)); -*************** -*** 12318,12324 **** - } - } - -! p = skipwhite(get_tv_string(&argvars[0])); - isneg = (*p == '-'); - if (*p == '+' || *p == '-') - p = skipwhite(p + 1); ---- 12318,12324 ---- - } - } - -! p = skipwhite(tv_get_string(&argvars[0])); - isneg = (*p == '-'); - if (*p == '+' || *p == '-') - p = skipwhite(p + 1); -*************** -*** 12351,12361 **** - - rettv->v_type = VAR_STRING; - -! p = get_tv_string(&argvars[0]); - if (argvars[1].v_type == VAR_UNKNOWN) - seconds = time(NULL); - else -! seconds = (time_t)get_tv_number(&argvars[1]); - curtime = localtime(&seconds); - /* MSVC returns NULL for an invalid value of seconds. */ - if (curtime == NULL) ---- 12351,12361 ---- - - rettv->v_type = VAR_STRING; - -! p = tv_get_string(&argvars[0]); - if (argvars[1].v_type == VAR_UNKNOWN) - seconds = time(NULL); - else -! seconds = (time_t)tv_get_number(&argvars[1]); - curtime = localtime(&seconds); - /* MSVC returns NULL for an invalid value of seconds. */ - if (curtime == NULL) -*************** -*** 12409,12419 **** - int charidx; - - rettv->vval.v_number = -1; -! str = get_tv_string_chk(&argvars[0]); - if (str == NULL) - return; - len = (int)STRLEN(str); -! charidx = (int)get_tv_number_chk(&argvars[1], &error); - if (error) - return; - #ifdef FEAT_MBYTE ---- 12409,12419 ---- - int charidx; - - rettv->vval.v_number = -1; -! str = tv_get_string_chk(&argvars[0]); - if (str == NULL) - return; - len = (int)STRLEN(str); -! charidx = (int)tv_get_number_chk(&argvars[1], &error); - if (error) - return; - #ifdef FEAT_MBYTE -*************** -*** 12450,12457 **** - char_u *pos; - int start_idx; - -! needle = get_tv_string_chk(&argvars[1]); -! save_haystack = haystack = get_tv_string_buf_chk(&argvars[0], buf); - rettv->vval.v_number = -1; - if (needle == NULL || haystack == NULL) - return; /* type error; errmsg already given */ ---- 12450,12457 ---- - char_u *pos; - int start_idx; - -! needle = tv_get_string_chk(&argvars[1]); -! save_haystack = haystack = tv_get_string_buf_chk(&argvars[0], buf); - rettv->vval.v_number = -1; - if (needle == NULL || haystack == NULL) - return; /* type error; errmsg already given */ -*************** -*** 12460,12466 **** - { - int error = FALSE; - -! start_idx = (int)get_tv_number_chk(&argvars[2], &error); - if (error || start_idx >= (int)STRLEN(haystack)) - return; - if (start_idx >= 0) ---- 12460,12466 ---- - { - int error = FALSE; - -! start_idx = (int)tv_get_number_chk(&argvars[2], &error); - if (error || start_idx >= (int)STRLEN(haystack)) - return; - if (start_idx >= 0) -*************** -*** 12496,12502 **** - f_strlen(typval_T *argvars, typval_T *rettv) - { - rettv->vval.v_number = (varnumber_T)(STRLEN( -! get_tv_string(&argvars[0]))); - } - - /* ---- 12496,12502 ---- - f_strlen(typval_T *argvars, typval_T *rettv) - { - rettv->vval.v_number = (varnumber_T)(STRLEN( -! tv_get_string(&argvars[0]))); - } - - /* -*************** -*** 12505,12511 **** - static void - f_strchars(typval_T *argvars, typval_T *rettv) - { -! char_u *s = get_tv_string(&argvars[0]); - int skipcc = 0; - #ifdef FEAT_MBYTE - varnumber_T len = 0; ---- 12505,12511 ---- - static void - f_strchars(typval_T *argvars, typval_T *rettv) - { -! char_u *s = tv_get_string(&argvars[0]); - int skipcc = 0; - #ifdef FEAT_MBYTE - varnumber_T len = 0; -*************** -*** 12513,12519 **** - #endif - - if (argvars[1].v_type != VAR_UNKNOWN) -! skipcc = (int)get_tv_number_chk(&argvars[1], NULL); - if (skipcc < 0 || skipcc > 1) - EMSG(_(e_invarg)); - else ---- 12513,12519 ---- - #endif - - if (argvars[1].v_type != VAR_UNKNOWN) -! skipcc = (int)tv_get_number_chk(&argvars[1], NULL); - if (skipcc < 0 || skipcc > 1) - EMSG(_(e_invarg)); - else -*************** -*** 12538,12548 **** - static void - f_strdisplaywidth(typval_T *argvars, typval_T *rettv) - { -! char_u *s = get_tv_string(&argvars[0]); - int col = 0; - - if (argvars[1].v_type != VAR_UNKNOWN) -! col = (int)get_tv_number(&argvars[1]); - - rettv->vval.v_number = (varnumber_T)(linetabsize_col(col, s) - col); - } ---- 12538,12548 ---- - static void - f_strdisplaywidth(typval_T *argvars, typval_T *rettv) - { -! char_u *s = tv_get_string(&argvars[0]); - int col = 0; - - if (argvars[1].v_type != VAR_UNKNOWN) -! col = (int)tv_get_number(&argvars[1]); - - rettv->vval.v_number = (varnumber_T)(linetabsize_col(col, s) - col); - } -*************** -*** 12553,12559 **** - static void - f_strwidth(typval_T *argvars, typval_T *rettv) - { -! char_u *s = get_tv_string(&argvars[0]); - - rettv->vval.v_number = (varnumber_T)( - #ifdef FEAT_MBYTE ---- 12553,12559 ---- - static void - f_strwidth(typval_T *argvars, typval_T *rettv) - { -! char_u *s = tv_get_string(&argvars[0]); - - rettv->vval.v_number = (varnumber_T)( - #ifdef FEAT_MBYTE -*************** -*** 12579,12588 **** - int slen; - int error = FALSE; - -! p = get_tv_string(&argvars[0]); - slen = (int)STRLEN(p); - -! nchar = (int)get_tv_number_chk(&argvars[1], &error); - if (!error) - { - if (nchar > 0) ---- 12579,12588 ---- - int slen; - int error = FALSE; - -! p = tv_get_string(&argvars[0]); - slen = (int)STRLEN(p); - -! nchar = (int)tv_get_number_chk(&argvars[1], &error); - if (!error) - { - if (nchar > 0) -*************** -*** 12595,12601 **** - nbyte = nchar; - if (argvars[2].v_type != VAR_UNKNOWN) - { -! charlen = (int)get_tv_number(&argvars[2]); - while (charlen > 0 && nbyte + len < slen) - { - int off = nbyte + len; ---- 12595,12601 ---- - nbyte = nchar; - if (argvars[2].v_type != VAR_UNKNOWN) - { -! charlen = (int)tv_get_number(&argvars[2]); - while (charlen > 0 && nbyte + len < slen) - { - int off = nbyte + len; -*************** -*** 12646,12659 **** - int slen; - int error = FALSE; - -! p = get_tv_string(&argvars[0]); - slen = (int)STRLEN(p); - -! n = (int)get_tv_number_chk(&argvars[1], &error); - if (error) - len = 0; - else if (argvars[2].v_type != VAR_UNKNOWN) -! len = (int)get_tv_number(&argvars[2]); - else - len = slen - n; /* default len: all bytes that are available. */ - ---- 12646,12659 ---- - int slen; - int error = FALSE; - -! p = tv_get_string(&argvars[0]); - slen = (int)STRLEN(p); - -! n = (int)tv_get_number_chk(&argvars[1], &error); - if (error) - len = 0; - else if (argvars[2].v_type != VAR_UNKNOWN) -! len = (int)tv_get_number(&argvars[2]); - else - len = slen - n; /* default len: all bytes that are available. */ - -*************** -*** 12690,12697 **** - char_u *lastmatch = NULL; - int haystack_len, end_idx; - -! needle = get_tv_string_chk(&argvars[1]); -! haystack = get_tv_string_buf_chk(&argvars[0], buf); - - rettv->vval.v_number = -1; - if (needle == NULL || haystack == NULL) ---- 12690,12697 ---- - char_u *lastmatch = NULL; - int haystack_len, end_idx; - -! needle = tv_get_string_chk(&argvars[1]); -! haystack = tv_get_string_buf_chk(&argvars[0], buf); - - rettv->vval.v_number = -1; - if (needle == NULL || haystack == NULL) -*************** -*** 12701,12707 **** - if (argvars[2].v_type != VAR_UNKNOWN) - { - /* Third argument: upper limit for index */ -! end_idx = (int)get_tv_number_chk(&argvars[2], NULL); - if (end_idx < 0) - return; /* can never find a match */ - } ---- 12701,12707 ---- - if (argvars[2].v_type != VAR_UNKNOWN) - { - /* Third argument: upper limit for index */ -! end_idx = (int)tv_get_number_chk(&argvars[2], NULL); - if (end_idx < 0) - return; /* can never find a match */ - } -*************** -*** 12737,12743 **** - f_strtrans(typval_T *argvars, typval_T *rettv) - { - rettv->v_type = VAR_STRING; -! rettv->vval.v_string = transstr(get_tv_string(&argvars[0])); - } - - /* ---- 12737,12743 ---- - f_strtrans(typval_T *argvars, typval_T *rettv) - { - rettv->v_type = VAR_STRING; -! rettv->vval.v_string = transstr(tv_get_string(&argvars[0])); - } - - /* -*************** -*** 12750,12756 **** - int no; - int retList = 0; - -! no = (int)get_tv_number_chk(&argvars[0], &error); - if (error) - return; - if (no < 0 || no >= NSUBEXP) ---- 12750,12756 ---- - int no; - int retList = 0; - -! no = (int)tv_get_number_chk(&argvars[0], &error); - if (error) - return; - if (no < 0 || no >= NSUBEXP) -*************** -*** 12759,12765 **** - return; - } - if (argvars[1].v_type != VAR_UNKNOWN) -! retList = (int)get_tv_number_chk(&argvars[1], &error); - if (error) - return; - ---- 12759,12765 ---- - return; - } - if (argvars[1].v_type != VAR_UNKNOWN) -! retList = (int)tv_get_number_chk(&argvars[1], &error); - if (error) - return; - -*************** -*** 12785,12800 **** - char_u subbuf[NUMBUFLEN]; - char_u flagsbuf[NUMBUFLEN]; - -! char_u *str = get_tv_string_chk(&argvars[0]); -! char_u *pat = get_tv_string_buf_chk(&argvars[1], patbuf); - char_u *sub = NULL; - typval_T *expr = NULL; -! char_u *flg = get_tv_string_buf_chk(&argvars[3], flagsbuf); - - if (argvars[2].v_type == VAR_FUNC || argvars[2].v_type == VAR_PARTIAL) - expr = &argvars[2]; - else -! sub = get_tv_string_buf_chk(&argvars[2], subbuf); - - rettv->v_type = VAR_STRING; - if (str == NULL || pat == NULL || (sub == NULL && expr == NULL) ---- 12785,12800 ---- - char_u subbuf[NUMBUFLEN]; - char_u flagsbuf[NUMBUFLEN]; - -! char_u *str = tv_get_string_chk(&argvars[0]); -! char_u *pat = tv_get_string_buf_chk(&argvars[1], patbuf); - char_u *sub = NULL; - typval_T *expr = NULL; -! char_u *flg = tv_get_string_buf_chk(&argvars[3], flagsbuf); - - if (argvars[2].v_type == VAR_FUNC || argvars[2].v_type == VAR_PARTIAL) - expr = &argvars[2]; - else -! sub = tv_get_string_buf_chk(&argvars[2], subbuf); - - rettv->v_type = VAR_STRING; - if (str == NULL || pat == NULL || (sub == NULL && expr == NULL) -*************** -*** 12811,12817 **** - f_swapinfo(typval_T *argvars, typval_T *rettv) - { - if (rettv_dict_alloc(rettv) == OK) -! get_b0_dict(get_tv_string(argvars), rettv->vval.v_dict); - } - - /* ---- 12811,12817 ---- - f_swapinfo(typval_T *argvars, typval_T *rettv) - { - if (rettv_dict_alloc(rettv) == OK) -! get_b0_dict(tv_get_string(argvars), rettv->vval.v_dict); - } - - /* -*************** -*** 12844,12852 **** - int trans; - int transerr = FALSE; - -! lnum = get_tv_lnum(argvars); /* -1 on type error */ -! col = (linenr_T)get_tv_number(&argvars[1]) - 1; /* -1 on type error */ -! trans = (int)get_tv_number_chk(&argvars[2], &transerr); - - if (!transerr && lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count - && col >= 0 && col < (long)STRLEN(ml_get(lnum))) ---- 12844,12852 ---- - int trans; - int transerr = FALSE; - -! lnum = tv_get_lnum(argvars); /* -1 on type error */ -! col = (linenr_T)tv_get_number(&argvars[1]) - 1; /* -1 on type error */ -! trans = (int)tv_get_number_chk(&argvars[2], &transerr); - - if (!transerr && lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count - && col >= 0 && col < (long)STRLEN(ml_get(lnum))) -*************** -*** 12870,12880 **** - char_u modebuf[NUMBUFLEN]; - int modec; - -! id = (int)get_tv_number(&argvars[0]); -! what = get_tv_string(&argvars[1]); - if (argvars[2].v_type != VAR_UNKNOWN) - { -! mode = get_tv_string_buf(&argvars[2], modebuf); - modec = TOLOWER_ASC(mode[0]); - if (modec != 't' && modec != 'c' && modec != 'g') - modec = 0; /* replace invalid with current */ ---- 12870,12880 ---- - char_u modebuf[NUMBUFLEN]; - int modec; - -! id = (int)tv_get_number(&argvars[0]); -! what = tv_get_string(&argvars[1]); - if (argvars[2].v_type != VAR_UNKNOWN) - { -! mode = tv_get_string_buf(&argvars[2], modebuf); - modec = TOLOWER_ASC(mode[0]); - if (modec != 't' && modec != 'c' && modec != 'g') - modec = 0; /* replace invalid with current */ -*************** -*** 12957,12963 **** - int id; - - #ifdef FEAT_SYN_HL -! id = (int)get_tv_number(&argvars[0]); - - if (id > 0) - id = syn_get_final_id(id); ---- 12957,12963 ---- - int id; - - #ifdef FEAT_SYN_HL -! id = (int)tv_get_number(&argvars[0]); - - if (id > 0) - id = syn_get_final_id(id); -*************** -*** 12986,12993 **** - rettv_list_set(rettv, NULL); - - #if defined(FEAT_SYN_HL) && defined(FEAT_CONCEAL) -! lnum = get_tv_lnum(argvars); /* -1 on type error */ -! col = (colnr_T)get_tv_number(&argvars[1]) - 1; /* -1 on type error */ - - vim_memset(str, NUL, sizeof(str)); - ---- 12986,12993 ---- - rettv_list_set(rettv, NULL); - - #if defined(FEAT_SYN_HL) && defined(FEAT_CONCEAL) -! lnum = tv_get_lnum(argvars); /* -1 on type error */ -! col = (colnr_T)tv_get_number(&argvars[1]) - 1; /* -1 on type error */ - - vim_memset(str, NUL, sizeof(str)); - -*************** -*** 13043,13050 **** - rettv_list_set(rettv, NULL); - - #ifdef FEAT_SYN_HL -! lnum = get_tv_lnum(argvars); /* -1 on type error */ -! col = (colnr_T)get_tv_number(&argvars[1]) - 1; /* -1 on type error */ - - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count - && col >= 0 && col <= (long)STRLEN(ml_get(lnum)) ---- 13043,13050 ---- - rettv_list_set(rettv, NULL); - - #ifdef FEAT_SYN_HL -! lnum = tv_get_lnum(argvars); /* -1 on type error */ -! col = (colnr_T)tv_get_number(&argvars[1]) - 1; /* -1 on type error */ - - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count - && col >= 0 && col <= (long)STRLEN(ml_get(lnum)) -*************** -*** 13138,13144 **** - size_t len; - char_u buf[NUMBUFLEN]; - -! p = get_tv_string_buf_chk(&argvars[1], buf); - if (p == NULL) - { - fclose(fd); ---- 13138,13144 ---- - size_t len; - char_u buf[NUMBUFLEN]; - -! p = tv_get_string_buf_chk(&argvars[1], buf); - if (p == NULL) - { - fclose(fd); -*************** -*** 13171,13177 **** - char_u *end; - int i; - -! res = get_cmd_output(get_tv_string(&argvars[0]), infile, flags, &len); - if (res == NULL) - goto errret; - ---- 13171,13177 ---- - char_u *end; - int i; - -! res = get_cmd_output(tv_get_string(&argvars[0]), infile, flags, &len); - if (res == NULL) - goto errret; - -*************** -*** 13211,13217 **** - } - else - { -! res = get_cmd_output(get_tv_string(&argvars[0]), infile, flags, NULL); - #ifdef USE_CR - /* translate <CR> into <NL> */ - if (res != NULL) ---- 13211,13217 ---- - } - else - { -! res = get_cmd_output(tv_get_string(&argvars[0]), infile, flags, NULL); - #ifdef USE_CR - /* translate <CR> into <NL> */ - if (res != NULL) -*************** -*** 13289,13295 **** - wp = firstwin; - else - { -! tp = find_tabpage((int)get_tv_number(&argvars[0])); - if (tp != NULL) - wp = (tp == curtab) ? firstwin : tp->tp_firstwin; - } ---- 13289,13295 ---- - wp = firstwin; - else - { -! tp = find_tabpage((int)tv_get_number(&argvars[0])); - if (tp != NULL) - wp = (tp == curtab) ? firstwin : tp->tp_firstwin; - } -*************** -*** 13313,13319 **** - - if (argvars[0].v_type != VAR_UNKNOWN) - { -! arg = get_tv_string_chk(&argvars[0]); - nr = 0; - if (arg != NULL) - { ---- 13313,13319 ---- - - if (argvars[0].v_type != VAR_UNKNOWN) - { -! arg = tv_get_string_chk(&argvars[0]); - nr = 0; - if (arg != NULL) - { -*************** -*** 13343,13349 **** - twin = (tp == curtab) ? curwin : tp->tp_curwin; - if (argvar->v_type != VAR_UNKNOWN) - { -! arg = get_tv_string_chk(argvar); - if (arg == NULL) - nr = 0; /* type error; errmsg already given */ - else if (STRCMP(arg, "$") == 0) ---- 13343,13349 ---- - twin = (tp == curtab) ? curwin : tp->tp_curwin; - if (argvar->v_type != VAR_UNKNOWN) - { -! arg = tv_get_string_chk(argvar); - if (arg == NULL) - nr = 0; /* type error; errmsg already given */ - else if (STRCMP(arg, "$") == 0) -*************** -*** 13385,13391 **** - int nr = 1; - tabpage_T *tp; - -! tp = find_tabpage((int)get_tv_number(&argvars[0])); - if (tp == NULL) - nr = 0; - else ---- 13385,13391 ---- - int nr = 1; - tabpage_T *tp; - -! tp = find_tabpage((int)tv_get_number(&argvars[0])); - if (tp == NULL) - nr = 0; - else -*************** -*** 13426,13439 **** - char_u *fname = NULL; - char_u *tag_pattern; - -! tag_pattern = get_tv_string(&argvars[0]); - - rettv->vval.v_number = FALSE; - if (*tag_pattern == NUL) - return; - - if (argvars[1].v_type != VAR_UNKNOWN) -! fname = get_tv_string(&argvars[1]); - if (rettv_list_alloc(rettv) == OK) - (void)get_tags(rettv->vval.v_list, tag_pattern, fname); - } ---- 13426,13439 ---- - char_u *fname = NULL; - char_u *tag_pattern; - -! tag_pattern = tv_get_string(&argvars[0]); - - rettv->vval.v_number = FALSE; - if (*tag_pattern == NUL) - return; - - if (argvars[1].v_type != VAR_UNKNOWN) -! fname = tv_get_string(&argvars[1]); - if (rettv_list_alloc(rettv) == OK) - (void)get_tags(rettv->vval.v_list, tag_pattern, fname); - } -*************** -*** 13544,13550 **** - f_test_feedinput(typval_T *argvars, typval_T *rettv UNUSED) - { - #ifdef USE_INPUT_BUF -! char_u *val = get_tv_string_chk(&argvars[0]); - - if (val != NULL) - { ---- 13544,13550 ---- - f_test_feedinput(typval_T *argvars, typval_T *rettv UNUSED) - { - #ifdef USE_INPUT_BUF -! char_u *val = tv_get_string_chk(&argvars[0]); - - if (val != NULL) - { -*************** -*** 13566,13572 **** - EMSG(_(e_invarg)); - else - { -! name = get_tv_string(&argvars[0]); - if (reset_option_was_set(name) == FAIL) - EMSG2(_(e_invarg2), name); - } ---- 13566,13572 ---- - EMSG(_(e_invarg)); - else - { -! name = tv_get_string(&argvars[0]); - if (reset_option_was_set(name) == FAIL) - EMSG2(_(e_invarg2), name); - } -*************** -*** 13587,13594 **** - EMSG(_(e_invarg)); - else - { -! name = get_tv_string_chk(&argvars[0]); -! val = (int)get_tv_number(&argvars[1]); - - if (STRCMP(name, (char_u *)"redraw") == 0) - disable_redraw_for_testing = val; ---- 13587,13594 ---- - EMSG(_(e_invarg)); - else - { -! name = tv_get_string_chk(&argvars[0]); -! val = (int)tv_get_number(&argvars[1]); - - if (STRCMP(name, (char_u *)"redraw") == 0) - disable_redraw_for_testing = val; -*************** -*** 13646,13652 **** - static void - f_test_ignore_error(typval_T *argvars, typval_T *rettv UNUSED) - { -! ignore_error_for_testing(get_tv_string(&argvars[0])); - } - - #ifdef FEAT_JOB_CHANNEL ---- 13646,13652 ---- - static void - f_test_ignore_error(typval_T *argvars, typval_T *rettv UNUSED) - { -! ignore_error_for_testing(tv_get_string(&argvars[0])); - } - - #ifdef FEAT_JOB_CHANNEL -*************** -*** 13709,13717 **** - EMSG(_(e_invarg)); - return; - } -! which = get_tv_string(&argvars[0]); -! value = get_tv_number(&argvars[1]); -! dragging = get_tv_number(&argvars[2]); - - if (STRCMP(which, "left") == 0) - sb = &curwin->w_scrollbars[SBAR_LEFT]; ---- 13709,13717 ---- - EMSG(_(e_invarg)); - return; - } -! which = tv_get_string(&argvars[0]); -! value = tv_get_number(&argvars[1]); -! dragging = tv_get_number(&argvars[2]); - - if (STRCMP(which, "left") == 0) - sb = &curwin->w_scrollbars[SBAR_LEFT]; -*************** -*** 13735,13741 **** - static void - f_test_settime(typval_T *argvars, typval_T *rettv UNUSED) - { -! time_for_testing = (time_t)get_tv_number(&argvars[0]); - } - - #if defined(FEAT_JOB_CHANNEL) || defined(FEAT_TIMERS) || defined(PROTO) ---- 13735,13741 ---- - static void - f_test_settime(typval_T *argvars, typval_T *rettv UNUSED) - { -! time_for_testing = (time_t)tv_get_number(&argvars[0]); - } - - #if defined(FEAT_JOB_CHANNEL) || defined(FEAT_TIMERS) || defined(PROTO) -*************** -*** 13798,13804 **** - EMSG(_(e_number_exp)); - else - { -! timer = find_timer((int)get_tv_number(&argvars[0])); - if (timer != NULL) - add_timer_info(rettv, timer); - } ---- 13798,13804 ---- - EMSG(_(e_number_exp)); - else - { -! timer = find_timer((int)tv_get_number(&argvars[0])); - if (timer != NULL) - add_timer_info(rettv, timer); - } -*************** -*** 13814,13826 **** - f_timer_pause(typval_T *argvars, typval_T *rettv UNUSED) - { - timer_T *timer = NULL; -! int paused = (int)get_tv_number(&argvars[1]); - - if (argvars[0].v_type != VAR_NUMBER) - EMSG(_(e_number_exp)); - else - { -! timer = find_timer((int)get_tv_number(&argvars[0])); - if (timer != NULL) - timer->tr_paused = paused; - } ---- 13814,13826 ---- - f_timer_pause(typval_T *argvars, typval_T *rettv UNUSED) - { - timer_T *timer = NULL; -! int paused = (int)tv_get_number(&argvars[1]); - - if (argvars[0].v_type != VAR_NUMBER) - EMSG(_(e_number_exp)); - else - { -! timer = find_timer((int)tv_get_number(&argvars[0])); - if (timer != NULL) - timer->tr_paused = paused; - } -*************** -*** 13832,13838 **** - static void - f_timer_start(typval_T *argvars, typval_T *rettv) - { -! long msec = (long)get_tv_number(&argvars[0]); - timer_T *timer; - int repeat = 0; - char_u *callback; ---- 13832,13838 ---- - static void - f_timer_start(typval_T *argvars, typval_T *rettv) - { -! long msec = (long)tv_get_number(&argvars[0]); - timer_T *timer; - int repeat = 0; - char_u *callback; -*************** -*** 13847,13853 **** - if (argvars[2].v_type != VAR_DICT - || (dict = argvars[2].vval.v_dict) == NULL) - { -! EMSG2(_(e_invarg2), get_tv_string(&argvars[2])); - return; - } - if (dict_find(dict, (char_u *)"repeat", -1) != NULL) ---- 13847,13853 ---- - if (argvars[2].v_type != VAR_DICT - || (dict = argvars[2].vval.v_dict) == NULL) - { -! EMSG2(_(e_invarg2), tv_get_string(&argvars[2])); - return; - } - if (dict_find(dict, (char_u *)"repeat", -1) != NULL) -*************** -*** 13886,13892 **** - EMSG(_(e_number_exp)); - return; - } -! timer = find_timer((int)get_tv_number(&argvars[0])); - if (timer != NULL) - stop_timer(timer); - } ---- 13886,13892 ---- - EMSG(_(e_number_exp)); - return; - } -! timer = find_timer((int)tv_get_number(&argvars[0])); - if (timer != NULL) - stop_timer(timer); - } -*************** -*** 13908,13914 **** - f_tolower(typval_T *argvars, typval_T *rettv) - { - rettv->v_type = VAR_STRING; -! rettv->vval.v_string = strlow_save(get_tv_string(&argvars[0])); - } - - /* ---- 13908,13914 ---- - f_tolower(typval_T *argvars, typval_T *rettv) - { - rettv->v_type = VAR_STRING; -! rettv->vval.v_string = strlow_save(tv_get_string(&argvars[0])); - } - - /* -*************** -*** 13918,13924 **** - f_toupper(typval_T *argvars, typval_T *rettv) - { - rettv->v_type = VAR_STRING; -! rettv->vval.v_string = strup_save(get_tv_string(&argvars[0])); - } - - /* ---- 13918,13924 ---- - f_toupper(typval_T *argvars, typval_T *rettv) - { - rettv->v_type = VAR_STRING; -! rettv->vval.v_string = strup_save(tv_get_string(&argvars[0])); - } - - /* -*************** -*** 13944,13952 **** - char_u buf2[NUMBUFLEN]; - garray_T ga; - -! in_str = get_tv_string(&argvars[0]); -! fromstr = get_tv_string_buf_chk(&argvars[1], buf); -! tostr = get_tv_string_buf_chk(&argvars[2], buf2); - - /* Default return value: empty string. */ - rettv->v_type = VAR_STRING; ---- 13944,13952 ---- - char_u buf2[NUMBUFLEN]; - garray_T ga; - -! in_str = tv_get_string(&argvars[0]); -! fromstr = tv_get_string_buf_chk(&argvars[1], buf); -! tostr = tv_get_string_buf_chk(&argvars[2], buf2); - - /* Default return value: empty string. */ - rettv->v_type = VAR_STRING; -*************** -*** 14050,14056 **** - { - char_u buf1[NUMBUFLEN]; - char_u buf2[NUMBUFLEN]; -! char_u *head = get_tv_string_buf_chk(&argvars[0], buf1); - char_u *mask = NULL; - char_u *tail; - char_u *prev; ---- 14050,14056 ---- - { - char_u buf1[NUMBUFLEN]; - char_u buf2[NUMBUFLEN]; -! char_u *head = tv_get_string_buf_chk(&argvars[0], buf1); - char_u *mask = NULL; - char_u *tail; - char_u *prev; -*************** -*** 14065,14071 **** - } - - if (argvars[1].v_type == VAR_STRING) -! mask = get_tv_string_buf_chk(&argvars[1], buf2); - - while (*head != NUL) - { ---- 14065,14071 ---- - } - - if (argvars[1].v_type == VAR_STRING) -! mask = tv_get_string_buf_chk(&argvars[1], buf2); - - while (*head != NUL) - { -*************** -*** 14169,14175 **** - rettv->v_type = VAR_STRING; - #ifdef FEAT_PERSISTENT_UNDO - { -! char_u *fname = get_tv_string(&argvars[0]); - - if (*fname == NUL) - { ---- 14169,14175 ---- - rettv->v_type = VAR_STRING; - #ifdef FEAT_PERSISTENT_UNDO - { -! char_u *fname = tv_get_string(&argvars[0]); - - if (*fname == NUL) - { -*************** -*** 14332,14338 **** - tp = curtab; - else - { -! tp = find_tabpage((int)get_tv_number(&argvars[0])); - if (tp == NULL) - return; - } ---- 14332,14338 ---- - tp = curtab; - else - { -! tp = find_tabpage((int)tv_get_number(&argvars[0])); - if (tp == NULL) - return; - } -*************** -*** 14525,14536 **** - if (list == NULL) - return; - for (li = list->lv_first; li != NULL; li = li->li_next) -! if (get_tv_string_chk(&li->li_tv) == NULL) - return; - - if (argvars[2].v_type != VAR_UNKNOWN) - { -! char_u *arg2 = get_tv_string_chk(&argvars[2]); - - if (arg2 == NULL) - return; ---- 14525,14536 ---- - if (list == NULL) - return; - for (li = list->lv_first; li != NULL; li = li->li_next) -! if (tv_get_string_chk(&li->li_tv) == NULL) - return; - - if (argvars[2].v_type != VAR_UNKNOWN) - { -! char_u *arg2 = tv_get_string_chk(&argvars[2]); - - if (arg2 == NULL) - return; -*************** -*** 14546,14552 **** - #endif - } - -! fname = get_tv_string_chk(&argvars[1]); - if (fname == NULL) - return; - ---- 14546,14552 ---- - #endif - } - -! fname = tv_get_string_chk(&argvars[1]); - if (fname == NULL) - return; - -*************** -*** 14580,14587 **** - static void - f_xor(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = get_tv_number_chk(&argvars[0], NULL) -! ^ get_tv_number_chk(&argvars[1], NULL); - } - - #endif /* FEAT_EVAL */ ---- 14580,14587 ---- - static void - f_xor(typval_T *argvars, typval_T *rettv) - { -! rettv->vval.v_number = tv_get_number_chk(&argvars[0], NULL) -! ^ tv_get_number_chk(&argvars[1], NULL); - } - - #endif /* FEAT_EVAL */ -*** ../vim-8.1.0614/src/list.c 2018-12-21 15:16:57.479579788 +0100 ---- src/list.c 2018-12-21 15:52:39.696996337 +0100 -*************** -*** 403,409 **** - *errorp = TRUE; - return -1L; - } -! return (long)get_tv_number_chk(&li->li_tv, errorp); - } - - /* ---- 403,409 ---- - *errorp = TRUE; - return -1L; - } -! return (long)tv_get_number_chk(&li->li_tv, errorp); - } - - /* -*************** -*** 420,426 **** - EMSGN(_(e_listidx), idx); - return NULL; - } -! return get_tv_string(&li->li_tv); - } - - /* ---- 420,426 ---- - EMSGN(_(e_listidx), idx); - return NULL; - } -! return tv_get_string(&li->li_tv); - } - - /* -*************** -*** 949,955 **** - - for (li = list->lv_first; li != NULL; li = li->li_next) - { -! for (s = get_tv_string(&li->li_tv); *s != NUL; ++s) - { - if (*s == '\n') - c = putc(NUL, fd); ---- 949,955 ---- - - for (li = list->lv_first; li != NULL; li = li->li_next) - { -! for (s = tv_get_string(&li->li_tv); *s != NUL; ++s) - { - if (*s == '\n') - c = putc(NUL, fd); -*** ../vim-8.1.0614/src/message.c 2018-11-28 20:38:34.560273411 +0100 ---- src/message.c 2018-12-21 16:00:44.977851866 +0100 -*************** -*** 4137,4143 **** - else - { - ++*idxp; -! n = get_tv_number_chk(&tvs[idx], &err); - if (err) - n = 0; - } ---- 4137,4143 ---- - else - { - ++*idxp; -! n = tv_get_number_chk(&tvs[idx], &err); - if (err) - n = 0; - } -*************** -*** 4146,4152 **** - - /* - * Get string argument from "idxp" entry in "tvs". First entry is 1. -! * If "tofree" is NULL get_tv_string_chk() is used. Some types (e.g. List) - * are not converted to a string. - * If "tofree" is not NULL echo_string() is used. All types are converted to - * a string with the same format as ":echo". The caller must free "*tofree". ---- 4146,4152 ---- - - /* - * Get string argument from "idxp" entry in "tvs". First entry is 1. -! * If "tofree" is NULL tv_get_string_chk() is used. Some types (e.g. List) - * are not converted to a string. - * If "tofree" is not NULL echo_string() is used. All types are converted to - * a string with the same format as ":echo". The caller must free "*tofree". -*************** -*** 4167,4173 **** - if (tofree != NULL) - s = (char *)echo_string(&tvs[idx], tofree, numbuf, get_copyID()); - else -! s = (char *)get_tv_string_chk(&tvs[idx]); - } - return s; - } ---- 4167,4173 ---- - if (tofree != NULL) - s = (char *)echo_string(&tvs[idx], tofree, numbuf, get_copyID()); - else -! s = (char *)tv_get_string_chk(&tvs[idx]); - } - return s; - } -*** ../vim-8.1.0614/src/tag.c 2018-12-14 15:38:28.331597637 +0100 ---- src/tag.c 2018-12-21 15:46:40.487262414 +0100 -*************** -*** 4212,4218 **** - } - - if ((di = dict_find(d, (char_u *)"curidx", -1)) != NULL) -! tagstack_set_curidx(wp, (int)get_tv_number(&di->di_tv) - 1); - - return OK; - } ---- 4212,4218 ---- - } - - if ((di = dict_find(d, (char_u *)"curidx", -1)) != NULL) -! tagstack_set_curidx(wp, (int)tv_get_number(&di->di_tv) - 1); - - return OK; - } -*** ../vim-8.1.0614/src/terminal.c 2018-12-20 20:47:28.462655566 +0100 ---- src/terminal.c 2018-12-21 16:01:24.609588053 +0100 -*************** -*** 496,502 **** - else if (argvar->v_type != VAR_LIST - || argvar->vval.v_list == NULL - || argvar->vval.v_list->lv_len < 1 -! || (cmd = get_tv_string_chk( - &argvar->vval.v_list->lv_first->li_tv)) == NULL) - cmd = (char_u*)""; - ---- 496,502 ---- - else if (argvar->v_type != VAR_LIST - || argvar->vval.v_list == NULL - || argvar->vval.v_list->lv_len < 1 -! || (cmd = tv_get_string_chk( - &argvar->vval.v_list->lv_first->li_tv)) == NULL) - cmd = (char_u*)""; - -*************** -*** 569,575 **** - for (item = argvar->vval.v_list->lv_first; - item != NULL; item = item->li_next) - { -! char_u *s = get_tv_string_chk(&item->li_tv); - char_u *p; - - if (s == NULL) ---- 569,575 ---- - for (item = argvar->vval.v_list->lv_first; - item != NULL; item = item->li_next) - { -! char_u *s = tv_get_string_chk(&item->li_tv); - char_u *p; - - if (s == NULL) -*************** -*** 1913,1919 **** - type = get_reg_type(c, ®len); - for (item = l->lv_first; item != NULL; item = item->li_next) - { -! char_u *s = get_tv_string(&item->li_tv); - #ifdef WIN3264 - char_u *tmp = s; - ---- 1913,1919 ---- - type = get_reg_type(c, ®len); - for (item = l->lv_first; item != NULL; item = item->li_next) - { -! char_u *s = tv_get_string(&item->li_tv); - #ifdef WIN3264 - char_u *tmp = s; - -*************** -*** 3455,3461 **** - char_u *color_name; - guicolor_T guicolor; - -! color_name = get_tv_string_chk(&li->li_tv); - if (color_name == NULL) - return FAIL; - ---- 3455,3461 ---- - char_u *color_name; - guicolor_T guicolor; - -! color_name = tv_get_string_chk(&li->li_tv); - if (color_name == NULL) - return FAIL; - -*************** -*** 3497,3503 **** - static void - handle_drop_command(listitem_T *item) - { -! char_u *fname = get_tv_string(&item->li_tv); - listitem_T *opt_item = item->li_next; - int bufnr; - win_T *wp; ---- 3497,3503 ---- - static void - handle_drop_command(listitem_T *item) - { -! char_u *fname = tv_get_string(&item->li_tv); - listitem_T *opt_item = item->li_next; - int bufnr; - win_T *wp; -*************** -*** 3589,3595 **** - ch_log(channel, "Missing function arguments for call"); - return; - } -! func = get_tv_string(&item->li_tv); - - if (STRNCMP(func, "Tapi_", 5) != 0) - { ---- 3589,3595 ---- - ch_log(channel, "Missing function arguments for call"); - return; - } -! func = tv_get_string(&item->li_tv); - - if (STRNCMP(func, "Tapi_", 5) != 0) - { -*************** -*** 3645,3651 **** - ch_log(channel, "Missing command"); - else - { -! char_u *cmd = get_tv_string(&item->li_tv); - - /* Make sure an invoked command doesn't delete the buffer (and the - * terminal) under our fingers. */ ---- 3645,3651 ---- - ch_log(channel, "Missing command"); - else - { -! char_u *cmd = tv_get_string(&item->li_tv); - - /* Make sure an invoked command doesn't delete the buffer (and the - * terminal) under our fingers. */ -*************** -*** 3826,3832 **** - { - buf_T *buf; - -! (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - buf = get_buf_tv(&argvars[0], FALSE); - --emsg_off; ---- 3826,3832 ---- - { - buf_T *buf; - -! (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */ - ++emsg_off; - buf = get_buf_tv(&argvars[0], FALSE); - --emsg_off; -*************** -*** 3921,3927 **** - } - } - -! fname = get_tv_string_chk(&argvars[1]); - if (fname == NULL) - return; - if (mch_stat((char *)fname, &st) >= 0) ---- 3921,3927 ---- - } - } - -! fname = tv_get_string_chk(&argvars[1]); - if (fname == NULL) - return; - if (mch_stat((char *)fname, &st) >= 0) -*************** -*** 4370,4378 **** - char_u *textline = NULL; - - /* First open the files. If this fails bail out. */ -! fname1 = get_tv_string_buf_chk(&argvars[0], buf1); - if (do_diff) -! fname2 = get_tv_string_buf_chk(&argvars[1], buf2); - if (fname1 == NULL || (do_diff && fname2 == NULL)) - { - EMSG(_(e_invarg)); ---- 4370,4378 ---- - char_u *textline = NULL; - - /* First open the files. If this fails bail out. */ -! fname1 = tv_get_string_buf_chk(&argvars[0], buf1); - if (do_diff) -! fname2 = tv_get_string_buf_chk(&argvars[1], buf2); - if (fname1 == NULL || (do_diff && fname2 == NULL)) - { - EMSG(_(e_invarg)); -*************** -*** 4740,4747 **** - {"reverse", HL_INVERSE}, - }; - -! attr = get_tv_number(&argvars[0]); -! name = get_tv_string_chk(&argvars[1]); - if (name == NULL) - return; - ---- 4740,4747 ---- - {"reverse", HL_INVERSE}, - }; - -! attr = tv_get_number(&argvars[0]); -! name = tv_get_string_chk(&argvars[1]); - if (name == NULL) - return; - -*************** -*** 4811,4817 **** - && tv->vval.v_string != NULL - && STRCMP(tv->vval.v_string, ".") == 0) - return term->tl_cursor_pos.row; -! return (int)get_tv_number(tv) - 1; - } - - /* ---- 4811,4817 ---- - && tv->vval.v_string != NULL - && STRCMP(tv->vval.v_string, ".") == 0) - return term->tl_cursor_pos.row; -! return (int)tv_get_number(tv) - 1; - } - - /* -*************** -*** 4911,4919 **** - if (buf->b_term->tl_vterm == NULL) - return; - term = buf->b_term; -! rows = get_tv_number(&argvars[1]); - rows = rows <= 0 ? term->tl_rows : rows; -! cols = get_tv_number(&argvars[2]); - cols = cols <= 0 ? term->tl_cols : cols; - vterm_set_size(term->tl_vterm, rows, cols); - /* handle_resize() will resize the windows */ ---- 4911,4919 ---- - if (buf->b_term->tl_vterm == NULL) - return; - term = buf->b_term; -! rows = tv_get_number(&argvars[1]); - rows = rows <= 0 ? term->tl_rows : rows; -! cols = tv_get_number(&argvars[2]); - cols = cols <= 0 ? term->tl_cols : cols; - vterm_set_size(term->tl_vterm, rows, cols); - /* handle_resize() will resize the windows */ -*************** -*** 4977,4983 **** - if (buf == NULL) - return; - if (argvars[1].v_type != VAR_UNKNOWN) -! num = get_tv_number(&argvars[1]); - - switch (num) - { ---- 4977,4983 ---- - if (buf == NULL) - return; - if (argvars[1].v_type != VAR_UNKNOWN) -! num = tv_get_number(&argvars[1]); - - switch (num) - { -*************** -*** 4990,4996 **** - p = buf->b_term->tl_job->jv_tty_in; - break; - default: -! EMSG2(_(e_invarg2), get_tv_string(&argvars[1])); - return; - } - if (p != NULL) ---- 4990,4996 ---- - p = buf->b_term->tl_job->jv_tty_in; - break; - default: -! EMSG2(_(e_invarg2), tv_get_string(&argvars[1])); - return; - } - if (p != NULL) -*************** -*** 5139,5145 **** - if (buf == NULL) - return; - -! msg = get_tv_string_chk(&argvars[1]); - if (msg == NULL) - return; - term = buf->b_term; ---- 5139,5145 ---- - if (buf == NULL) - return; - -! msg = tv_get_string_chk(&argvars[1]); - if (msg == NULL) - return; - term = buf->b_term; -*************** -*** 5241,5247 **** - return; - term = buf->b_term; - vim_free(term->tl_command); -! cmd = get_tv_string_chk(&argvars[1]); - if (cmd != NULL) - term->tl_command = vim_strsave(cmd); - else ---- 5241,5247 ---- - return; - term = buf->b_term; - vim_free(term->tl_command); -! cmd = tv_get_string_chk(&argvars[1]); - if (cmd != NULL) - term->tl_command = vim_strsave(cmd); - else -*************** -*** 5263,5269 **** - return; - term = buf->b_term; - vim_free(term->tl_kill); -! how = get_tv_string_chk(&argvars[1]); - if (how != NULL) - term->tl_kill = vim_strsave(how); - else ---- 5263,5269 ---- - return; - term = buf->b_term; - vim_free(term->tl_kill); -! how = tv_get_string_chk(&argvars[1]); - if (how != NULL) - term->tl_kill = vim_strsave(how); - else -*************** -*** 5347,5353 **** - - /* Wait for some time for any channel I/O. */ - if (argvars[1].v_type != VAR_UNKNOWN) -! wait = get_tv_number(&argvars[1]); - ui_delay(wait, TRUE); - mch_check_messages(); - ---- 5347,5353 ---- - - /* Wait for some time for any channel I/O. */ - if (argvars[1].v_type != VAR_UNKNOWN) -! wait = tv_get_number(&argvars[1]); - ui_delay(wait, TRUE); - mch_check_messages(); - -*** ../vim-8.1.0614/src/textprop.c 2018-12-16 14:37:35.845271247 +0100 ---- src/textprop.c 2018-12-21 15:53:27.052698970 +0100 -*************** -*** 154,161 **** - textprop_T tmp_prop; - int i; - -! lnum = get_tv_number(&argvars[0]); -! col = get_tv_number(&argvars[1]); - if (col < 1) - { - EMSGN(_(e_invalid_col), (long)col); ---- 154,161 ---- - textprop_T tmp_prop; - int i; - -! lnum = tv_get_number(&argvars[0]); -! col = tv_get_number(&argvars[1]); - if (col < 1) - { - EMSGN(_(e_invalid_col), (long)col); -*************** -*** 352,365 **** - void - f_prop_clear(typval_T *argvars, typval_T *rettv UNUSED) - { -! linenr_T start = get_tv_number(&argvars[0]); - linenr_T end = start; - linenr_T lnum; - buf_T *buf = curbuf; - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! end = get_tv_number(&argvars[1]); - if (argvars[2].v_type != VAR_UNKNOWN) - { - if (get_bufnr_from_arg(&argvars[2], &buf) == FAIL) ---- 352,365 ---- - void - f_prop_clear(typval_T *argvars, typval_T *rettv UNUSED) - { -! linenr_T start = tv_get_number(&argvars[0]); - linenr_T end = start; - linenr_T lnum; - buf_T *buf = curbuf; - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! end = tv_get_number(&argvars[1]); - if (argvars[2].v_type != VAR_UNKNOWN) - { - if (get_bufnr_from_arg(&argvars[2], &buf) == FAIL) -*************** -*** 405,411 **** - void - f_prop_list(typval_T *argvars, typval_T *rettv) - { -! linenr_T lnum = get_tv_number(&argvars[0]); - buf_T *buf = curbuf; - - if (argvars[1].v_type != VAR_UNKNOWN) ---- 405,411 ---- - void - f_prop_list(typval_T *argvars, typval_T *rettv) - { -! linenr_T lnum = tv_get_number(&argvars[0]); - buf_T *buf = curbuf; - - if (argvars[1].v_type != VAR_UNKNOWN) -*************** -*** 476,485 **** - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! start = get_tv_number(&argvars[1]); - end = start; - if (argvars[2].v_type != VAR_UNKNOWN) -! end = get_tv_number(&argvars[2]); - if (start < 1 || end < 1) - { - EMSG(_(e_invrange)); ---- 476,485 ---- - - if (argvars[1].v_type != VAR_UNKNOWN) - { -! start = tv_get_number(&argvars[1]); - end = start; - if (argvars[2].v_type != VAR_UNKNOWN) -! end = tv_get_number(&argvars[2]); - if (start < 1 || end < 1) - { - EMSG(_(e_invrange)); -*************** -*** 586,592 **** - dictitem_T *di; - proptype_T *prop; - -! name = get_tv_string(&argvars[0]); - if (*name == NUL) - { - EMSG(_(e_invarg)); ---- 586,592 ---- - dictitem_T *di; - proptype_T *prop; - -! name = tv_get_string(&argvars[0]); - if (*name == NUL) - { - EMSG(_(e_invarg)); -*************** -*** 656,667 **** - - di = dict_find(dict, (char_u *)"priority", -1); - if (di != NULL) -! prop->pt_priority = get_tv_number(&di->di_tv); - - di = dict_find(dict, (char_u *)"start_incl", -1); - if (di != NULL) - { -! if (get_tv_number(&di->di_tv)) - prop->pt_flags |= PT_FLAG_INS_START_INCL; - else - prop->pt_flags &= ~PT_FLAG_INS_START_INCL; ---- 656,667 ---- - - di = dict_find(dict, (char_u *)"priority", -1); - if (di != NULL) -! prop->pt_priority = tv_get_number(&di->di_tv); - - di = dict_find(dict, (char_u *)"start_incl", -1); - if (di != NULL) - { -! if (tv_get_number(&di->di_tv)) - prop->pt_flags |= PT_FLAG_INS_START_INCL; - else - prop->pt_flags &= ~PT_FLAG_INS_START_INCL; -*************** -*** 670,676 **** - di = dict_find(dict, (char_u *)"end_incl", -1); - if (di != NULL) - { -! if (get_tv_number(&di->di_tv)) - prop->pt_flags |= PT_FLAG_INS_END_INCL; - else - prop->pt_flags &= ~PT_FLAG_INS_END_INCL; ---- 670,676 ---- - di = dict_find(dict, (char_u *)"end_incl", -1); - if (di != NULL) - { -! if (tv_get_number(&di->di_tv)) - prop->pt_flags |= PT_FLAG_INS_END_INCL; - else - prop->pt_flags &= ~PT_FLAG_INS_END_INCL; -*************** -*** 706,712 **** - buf_T *buf = NULL; - hashitem_T *hi; - -! name = get_tv_string(&argvars[0]); - if (*name == NUL) - { - EMSG(_(e_invarg)); ---- 706,712 ---- - buf_T *buf = NULL; - hashitem_T *hi; - -! name = tv_get_string(&argvars[0]); - if (*name == NUL) - { - EMSG(_(e_invarg)); -*************** -*** 740,746 **** - void - f_prop_type_get(typval_T *argvars, typval_T *rettv UNUSED) - { -! char_u *name = get_tv_string(&argvars[0]); - - if (*name == NUL) - { ---- 740,746 ---- - void - f_prop_type_get(typval_T *argvars, typval_T *rettv UNUSED) - { -! char_u *name = tv_get_string(&argvars[0]); - - if (*name == NUL) - { -*** ../vim-8.1.0614/src/window.c 2018-11-10 16:01:23.335381858 +0100 ---- src/window.c 2018-12-21 15:50:18.737863579 +0100 -*************** -*** 6867,6873 **** - subli = subl->lv_first; - if (subli == NULL) - goto fail; -! lnum = get_tv_number_chk(&subli->li_tv, &error); - if (error == TRUE) - goto fail; - if (lnum == 0) ---- 6867,6873 ---- - subli = subl->lv_first; - if (subli == NULL) - goto fail; -! lnum = tv_get_number_chk(&subli->li_tv, &error); - if (error == TRUE) - goto fail; - if (lnum == 0) -*************** -*** 6879,6891 **** - subli = subli->li_next; - if (subli != NULL) - { -! col = get_tv_number_chk(&subli->li_tv, &error); - if (error == TRUE) - goto fail; - subli = subli->li_next; - if (subli != NULL) - { -! len = get_tv_number_chk(&subli->li_tv, &error); - if (error == TRUE) - goto fail; - } ---- 6879,6891 ---- - subli = subli->li_next; - if (subli != NULL) - { -! col = tv_get_number_chk(&subli->li_tv, &error); - if (error == TRUE) - goto fail; - subli = subli->li_next; - if (subli != NULL) - { -! len = tv_get_number_chk(&subli->li_tv, &error); - if (error == TRUE) - goto fail; - } -*************** -*** 7132,7138 **** - - if (argvars[0].v_type == VAR_UNKNOWN) - return curwin->w_id; -! winnr = get_tv_number(&argvars[0]); - if (winnr > 0) - { - if (argvars[1].v_type == VAR_UNKNOWN) ---- 7132,7138 ---- - - if (argvars[0].v_type == VAR_UNKNOWN) - return curwin->w_id; -! winnr = tv_get_number(&argvars[0]); - if (winnr > 0) - { - if (argvars[1].v_type == VAR_UNKNOWN) -*************** -*** 7140,7146 **** - else - { - tabpage_T *tp; -! int tabnr = get_tv_number(&argvars[1]); - - FOR_ALL_TABPAGES(tp) - if (--tabnr == 0) ---- 7140,7146 ---- - else - { - tabpage_T *tp; -! int tabnr = tv_get_number(&argvars[1]); - - FOR_ALL_TABPAGES(tp) - if (--tabnr == 0) -*************** -*** 7164,7170 **** - { - win_T *wp; - tabpage_T *tp; -! int id = get_tv_number(&argvars[0]); - - FOR_ALL_TAB_WINDOWS(tp, wp) - if (wp->w_id == id) ---- 7164,7170 ---- - { - win_T *wp; - tabpage_T *tp; -! int id = tv_get_number(&argvars[0]); - - FOR_ALL_TAB_WINDOWS(tp, wp) - if (wp->w_id == id) -*************** -*** 7182,7188 **** - tabpage_T *tp; - int winnr = 1; - int tabnr = 1; -! int id = get_tv_number(&argvars[0]); - - FOR_ALL_TABPAGES(tp) - { ---- 7182,7188 ---- - tabpage_T *tp; - int winnr = 1; - int tabnr = 1; -! int id = tv_get_number(&argvars[0]); - - FOR_ALL_TABPAGES(tp) - { -*************** -*** 7208,7214 **** - { - win_T *wp; - tabpage_T *tp; -! int id = get_tv_number(&argvars[0]); - - FOR_ALL_TAB_WINDOWS(tp, wp) - if (wp->w_id == id) ---- 7208,7214 ---- - { - win_T *wp; - tabpage_T *tp; -! int id = tv_get_number(&argvars[0]); - - FOR_ALL_TAB_WINDOWS(tp, wp) - if (wp->w_id == id) -*************** -*** 7222,7228 **** - { - win_T *wp; - int nr = 1; -! int id = get_tv_number(&argvars[0]); - - FOR_ALL_WINDOWS(wp) - { ---- 7222,7228 ---- - { - win_T *wp; - int nr = 1; -! int id = tv_get_number(&argvars[0]); - - FOR_ALL_WINDOWS(wp) - { -*************** -*** 7238,7244 **** - { - win_T *wp; - tabpage_T *tp; -! int bufnr = get_tv_number(&argvars[0]); - - FOR_ALL_TAB_WINDOWS(tp, wp) - if (wp->w_buffer->b_fnum == bufnr) ---- 7238,7244 ---- - { - win_T *wp; - tabpage_T *tp; -! int bufnr = tv_get_number(&argvars[0]); - - FOR_ALL_TAB_WINDOWS(tp, wp) - if (wp->w_buffer->b_fnum == bufnr) -*** ../vim-8.1.0614/src/ex_cmds.c 2018-12-21 15:16:57.479579788 +0100 ---- src/ex_cmds.c 2018-12-21 15:52:31.953044706 +0100 -*************** -*** 8913,8919 **** - for (li = l->lv_first; li != NULL && !got_int; li = li->li_next) - { - ++nr; -! fname = get_tv_string(&li->li_tv); - if (!message_filtered(fname)) - { - msg_outnum((long)nr); ---- 8913,8919 ---- - for (li = l->lv_first; li != NULL && !got_int; li = li->li_next) - { - ++nr; -! fname = tv_get_string(&li->li_tv); - if (!message_filtered(fname)) - { - msg_outnum((long)nr); -*** ../vim-8.1.0614/src/os_unix.c 2018-12-08 14:39:00.055120155 +0100 ---- src/os_unix.c 2018-12-21 15:52:50.360929614 +0100 -*************** -*** 1678,1690 **** - /* - * An X IO Error handler, used to catch terminal errors. - */ -! static int xterm_dpy_was_reset = FALSE; - - static int - x_IOerror_handler(Display *dpy UNUSED) - { - xterm_dpy = NULL; -! xterm_dpy_was_reset = TRUE; - x11_window = 0; - x11_display = NULL; - xterm_Shell = (Widget)0; ---- 1678,1690 ---- - /* - * An X IO Error handler, used to catch terminal errors. - */ -! static int xterm_dpy_retry_count = 0; - - static int - x_IOerror_handler(Display *dpy UNUSED) - { - xterm_dpy = NULL; -! xterm_dpy_retry_count = 5; // Try reconnecting five times - x11_window = 0; - x11_display = NULL; - xterm_Shell = (Widget)0; -*************** -*** 1704,1712 **** - static void - may_restore_clipboard(void) - { -! if (xterm_dpy_was_reset) - { -! xterm_dpy_was_reset = FALSE; - - # ifndef LESSTIF_VERSION - /* This has been reported to avoid Vim getting stuck. */ ---- 1704,1712 ---- - static void - may_restore_clipboard(void) - { -! if (xterm_dpy_retry_count > 0) - { -! --xterm_dpy_retry_count; - - # ifndef LESSTIF_VERSION - /* This has been reported to avoid Vim getting stuck. */ -*************** -*** 5553,5559 **** - { - typval_T *item = &dict_lookup(hi)->di_tv; - -! vim_setenv((char_u*)hi->hi_key, get_tv_string(item)); - --todo; - } - } ---- 5553,5559 ---- - { - typval_T *item = &dict_lookup(hi)->di_tv; - -! vim_setenv((char_u*)hi->hi_key, tv_get_string(item)); - --todo; - } - } -*************** -*** 7494,7499 **** ---- 7494,7501 ---- - { - xterm_dpy = XtOpenDisplay(app_context, xterm_display, - "vim_xterm", "Vim_xterm", NULL, 0, &z, &strp); -+ if (xterm_dpy != NULL) -+ xterm_dpy_retry_count = 0; - #if defined(HAVE_SETJMP_H) - mch_endjmp(); - #endif -*** ../vim-8.1.0614/src/os_win32.c 2018-11-16 16:21:01.641310033 +0100 ---- src/os_win32.c 2018-12-21 15:52:57.296886140 +0100 -*************** -*** 5355,5361 **** - { - typval_T *item = &dict_lookup(hi)->di_tv; - WCHAR *wkey = enc_to_utf16((char_u *)hi->hi_key, NULL); -! WCHAR *wval = enc_to_utf16(get_tv_string(item), NULL); - --todo; - if (wkey != NULL && wval != NULL) - { ---- 5355,5361 ---- - { - typval_T *item = &dict_lookup(hi)->di_tv; - WCHAR *wkey = enc_to_utf16((char_u *)hi->hi_key, NULL); -! WCHAR *wval = enc_to_utf16(tv_get_string(item), NULL); - --todo; - if (wkey != NULL && wval != NULL) - { -*** ../vim-8.1.0614/src/json.c 2018-09-30 21:43:17.195693290 +0200 ---- src/json.c 2018-12-21 15:57:46.355030394 +0100 -*************** -*** 873,879 **** - if (top_item != NULL && top_item->jd_type == JSON_OBJECT_KEY - && cur_item != NULL) - { -! top_item->jd_key = get_tv_string_buf_chk(cur_item, key_buf); - if (top_item->jd_key == NULL) - { - clear_tv(cur_item); ---- 873,879 ---- - if (top_item != NULL && top_item->jd_type == JSON_OBJECT_KEY - && cur_item != NULL) - { -! top_item->jd_key = tv_get_string_buf_chk(cur_item, key_buf); - if (top_item->jd_key == NULL) - { - clear_tv(cur_item); -*** ../vim-8.1.0614/src/regexp.c 2018-09-30 21:43:17.203693237 +0200 ---- src/regexp.c 2018-12-21 15:58:23.750785268 +0100 -*************** -*** 7566,7572 **** - /* fill_submatch_list() was called */ - clear_submatch_list(&matchList); - -! eval_result = get_tv_string_buf_chk(&rettv, buf); - if (eval_result != NULL) - eval_result = vim_strsave(eval_result); - clear_tv(&rettv); ---- 7566,7572 ---- - /* fill_submatch_list() was called */ - clear_submatch_list(&matchList); - -! eval_result = tv_get_string_buf_chk(&rettv, buf); - if (eval_result != NULL) - eval_result = vim_strsave(eval_result); - clear_tv(&rettv); -*** ../vim-8.1.0614/src/edit.c 2018-12-14 15:38:28.327597664 +0100 ---- src/edit.c 2018-12-21 15:59:19.326419307 +0100 -*************** -*** 4363,4369 **** - } - else - { -! word = get_tv_string_chk(tv); - vim_memset(cptext, 0, sizeof(cptext)); - } - if (word == NULL || (!aempty && *word == NUL)) ---- 4363,4369 ---- - } - else - { -! word = tv_get_string_chk(tv); - vim_memset(cptext, 0, sizeof(cptext)); - } - if (word == NULL || (!aempty && *word == NUL)) -*** ../vim-8.1.0614/src/misc2.c 2018-12-21 15:16:57.479579788 +0100 ---- src/misc2.c 2018-12-21 16:00:56.985772017 +0100 -*************** -*** 6593,6599 **** - *argc = 0; - for (li = l->lv_first; li != NULL; li = li->li_next) - { -! s = get_tv_string_chk(&li->li_tv); - if (s == NULL) - { - int i; ---- 6593,6599 ---- - *argc = 0; - for (li = l->lv_first; li != NULL; li = li->li_next) - { -! s = tv_get_string_chk(&li->li_tv); - if (s == NULL) - { - int i; -*** ../vim-8.1.0614/src/popupmnu.c 2018-12-01 11:58:44.415064948 +0100 ---- src/popupmnu.c 2018-12-21 16:01:04.985718779 +0100 -*************** -*** 1103,1109 **** - return; - for (idx = 0, li = list->lv_first; li != NULL; li = li->li_next, ++idx) - { -! char_u *text = get_tv_string_chk(&li->li_tv); - - balloon_array[idx].pum_text = vim_strsave( - text == NULL ? (char_u *)"" : text); ---- 1103,1109 ---- - return; - for (idx = 0, li = list->lv_first; li != NULL; li = li->li_next, ++idx) - { -! char_u *text = tv_get_string_chk(&li->li_tv); - - balloon_array[idx].pum_text = vim_strsave( - text == NULL ? (char_u *)"" : text); -*** ../vim-8.1.0614/src/version.c 2018-12-21 15:16:57.483579762 +0100 ---- src/version.c 2018-12-21 16:03:51.828602235 +0100 -*************** -*** 801,802 **** ---- 801,804 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 615, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -32. You don't know what sex three of your closest friends are, because they - have neutral nicknames and you never bothered to ask. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |