summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0615
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0615')
-rw-r--r--data/vim/patches/8.1.06158621
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, &notanum);
- 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, &notanum);
- 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, &notanum);
- 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, &notanum);
- 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], &notanum);
- 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], &notanum);
- 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, &notanum);
- 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, &notanum);
- 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, &notanum);
- 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, &notanum);
- 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, &reglen);
- 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, &reglen);
- 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 ///