*error = FALSE;
if (!skip)
{
- retval = (get_tv_number_chk(&tv, error) != 0);
+ retval = (tv_get_number_chk(&tv, error) != 0);
clear_tv(&tv);
}
}
}
else
{
- s = get_tv_string_buf_chk(expr, buf);
+ s = tv_get_string_buf_chk(expr, buf);
if (s == NULL)
return FAIL;
s = skipwhite(s);
*error = TRUE;
return FALSE;
}
- res = (get_tv_number_chk(&rettv, error) != 0);
+ res = (tv_get_number_chk(&rettv, error) != 0);
clear_tv(&rettv);
return res;
}
retval = NULL;
else
{
- retval = vim_strsave(get_tv_string(&tv));
+ retval = vim_strsave(tv_get_string(&tv));
clear_tv(&tv);
}
if (skip)
}
#endif
else
- retval = vim_strsave(get_tv_string(&tv));
+ retval = vim_strsave(tv_get_string(&tv));
clear_tv(&tv);
}
retval = -1;
else
{
- retval = get_tv_number_chk(&rettv, NULL);
+ retval = tv_get_number_chk(&rettv, NULL);
clear_tv(&rettv);
}
--emsg_off;
li = list->lv_first;
if (li == NULL)
return -1;
- *pp = get_tv_string(&li->li_tv);
+ *pp = tv_get_string(&li->li_tv);
li = li->li_next;
if (li == NULL)
return -1;
- return (int)get_tv_number(&li->li_tv);
+ return (int)tv_get_number(&li->li_tv);
}
#endif
if (call_vim_function(func, argc, argv, &rettv) == FAIL)
return -1;
- retval = get_tv_number_chk(&rettv, NULL);
+ retval = tv_get_number_chk(&rettv, NULL);
clear_tv(&rettv);
return retval;
}
if (call_vim_function(func, argc, argv, &rettv) == FAIL)
return NULL;
- retval = vim_strsave(get_tv_string(&rettv));
+ retval = vim_strsave(tv_get_string(&rettv));
clear_tv(&rettv);
return retval;
}
{
c1 = name[len];
name[len] = NUL;
- p = get_tv_string_chk(tv);
+ p = tv_get_string_chk(tv);
if (p != NULL && op != NULL && *op == '.')
{
int mustfree = FALSE;
c1 = *p;
*p = NUL;
- n = (long)get_tv_number(tv);
- s = get_tv_string_chk(tv); /* != NULL if number or string */
+ 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,
char_u *ptofree = NULL;
char_u *s;
- p = get_tv_string_chk(tv);
+ p = tv_get_string_chk(tv);
if (p != NULL && op != NULL && *op == '.')
{
s = get_reg_contents(*arg == '@' ? '"' : *arg, GREG_EXPR_SRC);
empty1 = FALSE;
if (eval1(&p, &var1, TRUE) == FAIL) /* recursive! */
return NULL;
- if (get_tv_string_chk(&var1) == NULL)
+ if (tv_get_string_chk(&var1) == NULL)
{
/* not a number or string */
clear_tv(&var1);
clear_tv(&var1);
return NULL;
}
- if (get_tv_string_chk(&var2) == NULL)
+ if (tv_get_string_chk(&var2) == NULL)
{
/* not a number or string */
clear_tv(&var1);
if (len == -1)
{
/* "[key]": get key from "var1" */
- key = get_tv_string_chk(&var1); /* is number or string */
+ key = tv_get_string_chk(&var1); /* is number or string */
if (key == NULL)
{
clear_tv(&var1);
lp->ll_n1 = 0;
else
/* is number or string */
- lp->ll_n1 = (long)get_tv_number(&var1);
+ lp->ll_n1 = (long)tv_get_number(&var1);
clear_tv(&var1);
lp->ll_dict = NULL;
*/
if (lp->ll_range && !lp->ll_empty2)
{
- lp->ll_n2 = (long)get_tv_number(&var2);
+ lp->ll_n2 = (long)tv_get_number(&var2);
/* is number or string */
clear_tv(&var2);
if (lp->ll_n2 < 0)
if (*op == '+' || *op == '-')
{
/* nr += nr or nr -= nr*/
- n = get_tv_number(tv1);
+ n = tv_get_number(tv1);
#ifdef FEAT_FLOAT
if (tv2->v_type == VAR_FLOAT)
{
#endif
{
if (*op == '+')
- n += get_tv_number(tv2);
+ n += tv_get_number(tv2);
else
- n -= get_tv_number(tv2);
+ n -= tv_get_number(tv2);
clear_tv(tv1);
tv1->v_type = VAR_NUMBER;
tv1->vval.v_number = n;
break;
/* str .= str */
- s = get_tv_string(tv1);
- s = concat_str(s, get_tv_string_buf(tv2, numbuf));
+ 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;
if (tv2->v_type == VAR_FLOAT)
f = tv2->vval.v_float;
else
- f = get_tv_number(tv2);
+ f = tv_get_number(tv2);
if (*op == '+')
tv1->vval.v_float += f;
else
{
int error = FALSE;
- if (get_tv_number_chk(rettv, &error) != 0)
+ if (tv_get_number_chk(rettv, &error) != 0)
result = TRUE;
clear_tv(rettv);
if (error)
{
if (evaluate && first)
{
- if (get_tv_number_chk(rettv, &error) != 0)
+ if (tv_get_number_chk(rettv, &error) != 0)
result = TRUE;
clear_tv(rettv);
if (error)
*/
if (evaluate && !result)
{
- if (get_tv_number_chk(&var2, &error) != 0)
+ if (tv_get_number_chk(&var2, &error) != 0)
result = TRUE;
clear_tv(&var2);
if (error)
{
if (evaluate && first)
{
- if (get_tv_number_chk(rettv, &error) == 0)
+ if (tv_get_number_chk(rettv, &error) == 0)
result = FALSE;
clear_tv(rettv);
if (error)
*/
if (evaluate && result)
{
- if (get_tv_number_chk(&var2, &error) == 0)
+ if (tv_get_number_chk(&var2, &error) == 0)
result = FALSE;
clear_tv(&var2);
if (error)
* 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)
+ if (evaluate && tv_get_string_chk(rettv) == NULL)
{
clear_tv(rettv);
return FAIL;
*/
if (op == '.')
{
- s1 = get_tv_string_buf(rettv, buf1); /* already checked */
- s2 = get_tv_string_buf_chk(&var2, buf2);
+ 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);
else
#endif
{
- n1 = get_tv_number_chk(rettv, &error);
+ n1 = tv_get_number_chk(rettv, &error);
if (error)
{
/* This can only happen for "list + non-list". For
else
#endif
{
- n2 = get_tv_number_chk(&var2, &error);
+ n2 = tv_get_number_chk(&var2, &error);
if (error)
{
clear_tv(rettv);
}
else
#endif
- n1 = get_tv_number_chk(rettv, &error);
+ n1 = tv_get_number_chk(rettv, &error);
clear_tv(rettv);
if (error)
return FAIL;
else
#endif
{
- n2 = get_tv_number_chk(&var2, &error);
+ n2 = tv_get_number_chk(&var2, &error);
clear_tv(&var2);
if (error)
return FAIL;
f = rettv->vval.v_float;
else
#endif
- val = get_tv_number_chk(rettv, &error);
+ val = tv_get_number_chk(rettv, &error);
if (error)
{
clear_tv(rettv);
empty1 = TRUE;
else if (eval1(arg, &var1, evaluate) == FAIL) /* recursive! */
return FAIL;
- else if (evaluate && get_tv_string_chk(&var1) == NULL)
+ else if (evaluate && tv_get_string_chk(&var1) == NULL)
{
/* not a number or string */
clear_tv(&var1);
clear_tv(&var1);
return FAIL;
}
- else if (evaluate && get_tv_string_chk(&var2) == NULL)
+ else if (evaluate && tv_get_string_chk(&var2) == NULL)
{
/* not a number or string */
if (!empty1)
n1 = 0;
if (!empty1 && rettv->v_type != VAR_DICT)
{
- n1 = get_tv_number(&var1);
+ n1 = tv_get_number(&var1);
clear_tv(&var1);
}
if (range)
n2 = -1;
else
{
- n2 = get_tv_number(&var2);
+ n2 = tv_get_number(&var2);
clear_tv(&var2);
}
}
case VAR_NUMBER:
case VAR_STRING:
- s = get_tv_string(rettv);
+ s = tv_get_string(rettv);
len = (long)STRLEN(s);
if (range)
{
if (len == -1)
{
- key = get_tv_string_chk(&var1);
+ key = tv_get_string_chk(&var1);
if (key == NULL)
{
clear_tv(&var1);
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);
+ 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:
case VAR_NUMBER:
case VAR_UNKNOWN:
*tofree = NULL;
- r = get_tv_string_buf(tv, numbuf);
+ r = tv_get_string_buf(tv, numbuf);
break;
case VAR_JOB:
case VAR_CHANNEL:
*tofree = NULL;
- r = get_tv_string_buf(tv, numbuf);
+ r = tv_get_string_buf(tv, numbuf);
if (composite_val)
{
*tofree = string_quote(r, FALSE);
return &pos;
}
- name = get_tv_string_chk(varp);
+ name = tv_get_string_chk(varp);
if (name == NULL)
return NULL;
if (name[0] == '.') /* cursor */
char_u *
get_vim_var_str(int idx)
{
- return get_tv_string(&vimvars[idx].vv_tv);
+ return tv_get_string(&vimvars[idx].vv_tv);
}
/*
* 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
+ * 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
-get_tv_number(typval_T *varp)
+tv_get_number(typval_T *varp)
{
int error = FALSE;
- return get_tv_number_chk(varp, &error); /* return 0L on error */
+ return tv_get_number_chk(varp, &error); /* return 0L on error */
}
varnumber_T
-get_tv_number_chk(typval_T *varp, int *denote)
+tv_get_number_chk(typval_T *varp, int *denote)
{
varnumber_T n = 0L;
break;
#endif
case VAR_UNKNOWN:
- internal_error("get_tv_number(UNKNOWN)");
+ internal_error("tv_get_number(UNKNOWN)");
break;
}
if (denote == NULL) /* useful for values that must be unsigned */
#ifdef FEAT_FLOAT
float_T
-get_tv_float(typval_T *varp)
+tv_get_float(typval_T *varp)
{
switch (varp->v_type)
{
break;
# endif
case VAR_UNKNOWN:
- internal_error("get_tv_float(UNKNOWN)");
+ internal_error("tv_get_float(UNKNOWN)");
break;
}
return 0;
/*
* 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.
+ * 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;
- * get_tv_string_chk() and get_tv_string_buf_chk() are similar, but return
+ * tv_get_string_chk() and tv_get_string_buf_chk() are similar, but return
* NULL on error.
*/
char_u *
-get_tv_string(typval_T *varp)
+tv_get_string(typval_T *varp)
{
static char_u mybuf[NUMBUFLEN];
- return get_tv_string_buf(varp, mybuf);
+ return tv_get_string_buf(varp, mybuf);
}
char_u *
-get_tv_string_buf(typval_T *varp, char_u *buf)
+tv_get_string_buf(typval_T *varp, char_u *buf)
{
- char_u *res = get_tv_string_buf_chk(varp, buf);
+ char_u *res = tv_get_string_buf_chk(varp, buf);
return res != NULL ? res : (char_u *)"";
}
* Careful: This uses a single, static buffer. YOU CAN ONLY USE IT ONCE!
*/
char_u *
-get_tv_string_chk(typval_T *varp)
+tv_get_string_chk(typval_T *varp)
{
static char_u mybuf[NUMBUFLEN];
- return get_tv_string_buf_chk(varp, mybuf);
+ return tv_get_string_buf_chk(varp, mybuf);
}
char_u *
-get_tv_string_buf_chk(typval_T *varp, char_u *buf)
+tv_get_string_buf_chk(typval_T *varp, char_u *buf)
{
switch (varp->v_type)
{
/*
* Get the string value of a (global/local) variable.
- * Note: see get_tv_string() for how long the pointer remains valid.
+ * Note: see tv_get_string() for how long the pointer remains valid.
* Returns NULL when it doesn't exist.
*/
char_u *
v = find_var(name, NULL, FALSE);
if (v == NULL)
return NULL;
- return get_tv_string(&v->di_tv);
+ return tv_get_string(&v->di_tv);
}
/*
{
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));
+ v->di_tv.vval.v_string = vim_strsave(tv_get_string(tv));
else
{
/* Take over the string to avoid an extra alloc/free. */
}
else if (v->di_tv.v_type == VAR_NUMBER)
{
- v->di_tv.vval.v_number = get_tv_number(tv);
+ 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
int inputdialog,
int secret)
{
- char_u *prompt = get_tv_string_chk(&argvars[0]);
+ char_u *prompt = tv_get_string_chk(&argvars[0]);
char_u *p = NULL;
int c;
char_u buf[NUMBUFLEN];
if (argvars[1].v_type != VAR_UNKNOWN)
{
- defstr = get_tv_string_buf_chk(&argvars[1], buf);
+ defstr = tv_get_string_buf_chk(&argvars[1], buf);
if (defstr != NULL)
stuffReadbuffSpec(defstr);
/* input() with a third argument: completion */
rettv->vval.v_string = NULL;
- xp_name = get_tv_string_buf_chk(&argvars[2], buf);
+ xp_name = tv_get_string_buf_chk(&argvars[2], buf);
if (xp_name == NULL)
return;
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(
+ rettv->vval.v_string = vim_strsave(tv_get_string_buf(
&argvars[2], buf));
vim_free(xp_arg);
if (!eap->skip)
{
- p = get_tv_string(&rettv);
+ p = tv_get_string(&rettv);
len = (int)STRLEN(p);
if (ga_grow(&ga, len + 2) == FAIL)
{
tabpage_T *tp) /* NULL for current tab page */
{
win_T *wp;
- int nr = (int)get_tv_number_chk(vp, NULL);
+ int nr = (int)tv_get_number_chk(vp, NULL);
if (nr < 0)
return NULL;
win_T *
find_win_by_nr_or_id(typval_T *vp)
{
- int nr = (int)get_tv_number_chk(vp, NULL);
+ int nr = (int)tv_get_number_chk(vp, NULL);
if (nr >= LOWEST_WIN_ID)
return win_id2wp(vp);
{
if (tvp->v_type != VAR_UNKNOWN)
{
- n = (long)get_tv_number(tvp);
+ n = (long)tv_get_number(tvp);
if (n >= 0)
tp = find_tabpage(n);
}
int need_switch_win;
if (off == 1)
- tp = find_tabpage((int)get_tv_number_chk(&argvars[0], NULL));
+ tp = find_tabpage((int)tv_get_number_chk(&argvars[0], NULL));
else
tp = curtab;
win = find_win_by_nr(&argvars[off], tp);
- varname = get_tv_string_chk(&argvars[off + 1]);
+ varname = tv_get_string_chk(&argvars[off + 1]);
++emsg_off;
rettv->v_type = VAR_STRING;
return;
if (off == 1)
- tp = find_tabpage((int)get_tv_number_chk(&argvars[0], NULL));
+ tp = find_tabpage((int)tv_get_number_chk(&argvars[0], NULL));
else
tp = curtab;
win = find_win_by_nr(&argvars[off], tp);
- varname = get_tv_string_chk(&argvars[off + 1]);
+ varname = tv_get_string_chk(&argvars[off + 1]);
varp = &argvars[off + 2];
if (win != NULL && varname != NULL && varp != NULL)
int error = FALSE;
++varname;
- numval = (long)get_tv_number_chk(varp, &error);
- strval = get_tv_string_buf_chk(varp, nbuf);
+ 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);
}
{
/* 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),
+ p = vim_strsave_escaped(tv_get_string(&this_var->di_tv),
(char_u *)"\\\"\n\r");
if (p == NULL) /* out of memory */
break;
{
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);
+ 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;
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);
+ 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));
{
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);
+ 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];
&& 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
+ || (tv_get_number_chk(&argvars[0], &error) == 0) == isTrue
|| error)
{
prepare_assert_error(&ga);
garray_T ga;
prepare_assert_error(&ga);
- ga_concat(&ga, get_tv_string(&argvars[0]));
+ ga_concat(&ga, tv_get_string(&argvars[0]));
assert_error(&ga);
ga_clear(&ga);
return 1;
assert_exception(typval_T *argvars)
{
garray_T ga;
- char_u *error = get_tv_string_chk(&argvars[0]);
+ char_u *error = tv_get_string_chk(&argvars[0]);
if (vimvars[VV_EXCEPTION].vv_str == NULL)
{
int
assert_beeps(typval_T *argvars)
{
- char_u *cmd = get_tv_string_chk(&argvars[0]);
+ char_u *cmd = tv_get_string_chk(&argvars[0]);
garray_T ga;
int ret = 0;
int
assert_fails(typval_T *argvars)
{
- char_u *cmd = get_tv_string_chk(&argvars[0]);
+ char_u *cmd = tv_get_string_chk(&argvars[0]);
garray_T ga;
int ret = 0;
char_u numbuf[NUMBUFLEN];
else if (argvars[1].v_type != VAR_UNKNOWN)
{
char_u buf[NUMBUFLEN];
- char *error = (char *)get_tv_string_buf_chk(&argvars[1], buf);
+ char *error = (char *)tv_get_string_buf_chk(&argvars[1], buf);
if (error == NULL
|| strstr((char *)vimvars[VV_ERRMSG].vv_str, error) == NULL)
if (typ1->v_type == VAR_FLOAT)
f1 = typ1->vval.v_float;
else
- f1 = get_tv_number(typ1);
+ f1 = tv_get_number(typ1);
if (typ2->v_type == VAR_FLOAT)
f2 = typ2->vval.v_float;
else
- f2 = get_tv_number(typ2);
+ f2 = tv_get_number(typ2);
n1 = FALSE;
switch (type)
{
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);
+ n1 = tv_get_number(typ1);
+ n2 = tv_get_number(typ2);
switch (type)
{
case TYPE_EQUAL: n1 = (n1 == n2); break;
}
else
{
- s1 = get_tv_string_buf(typ1, buf1);
- s2 = get_tv_string_buf(typ2, buf2);
+ 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
int error = FALSE;
/* filter(): when expr is zero remove the item */
- *remp = (get_tv_number_chk(&rettv, &error) == 0);
+ *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 get_tv_number_chk(). */
+ * loop. The error message was given by tv_get_number_chk(). */
if (error)
goto theend;
}
* Returns -1 on error.
*/
static linenr_T
-get_tv_lnum(typval_T *argvars)
+tv_get_lnum(typval_T *argvars)
{
typval_T rettv;
linenr_T lnum;
- lnum = (linenr_T)get_tv_number_chk(&argvars[0], NULL);
+ lnum = (linenr_T)tv_get_number_chk(&argvars[0], NULL);
if (lnum == 0) /* no valid number, try using line() */
{
rettv.v_type = VAR_NUMBER;
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".
varnumber_T n;
int error = FALSE;
- n = get_tv_number_chk(&argvars[0], &error);
+ n = tv_get_number_chk(&argvars[0], &error);
if (error)
rettv->vval.v_number = -1;
else if (n > 0)
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);
+ rettv->vval.v_number = tv_get_number_chk(&argvars[0], NULL)
+ & tv_get_number_chk(&argvars[1], NULL);
}
/*
li = l->lv_first;
}
else
- line = get_tv_string_chk(lines);
+ line = tv_get_string_chk(lines);
/* default result is zero == OK */
for (;;)
/* list argument, get next string */
if (li == NULL)
break;
- line = get_tv_string_chk(&li->li_tv);
+ line = tv_get_string_chk(&li->li_tv);
li = li->li_next;
}
static void
f_append(typval_T *argvars, typval_T *rettv)
{
- linenr_T lnum = get_tv_lnum(&argvars[0]);
+ linenr_T lnum = tv_get_lnum(&argvars[0]);
set_buffer_lines(curbuf, lnum, TRUE, &argvars[1], rettv);
}
rettv->vval.v_number = 1; /* FAIL */
else
{
- lnum = get_tv_lnum_buf(&argvars[1], buf);
+ lnum = tv_get_lnum_buf(&argvars[1], buf);
set_buffer_lines(buf, lnum, TRUE, &argvars[2], rettv);
}
}
// use the current window
rettv->vval.v_number = ARGCOUNT;
else if (argvars[0].v_type == VAR_NUMBER
- && get_tv_number(&argvars[0]) == -1)
+ && tv_get_number(&argvars[0]) == -1)
// use the global argument list
rettv->vval.v_number = GARGCOUNT;
else
argcount = ARGCOUNT;
}
else if (argvars[1].v_type == VAR_NUMBER
- && get_tv_number(&argvars[1]) == -1)
+ && tv_get_number(&argvars[1]) == -1)
{
arglist = GARGLIST;
argcount = GARGCOUNT;
rettv->v_type = VAR_STRING;
rettv->vval.v_string = NULL;
- idx = get_tv_number_chk(&argvars[0], 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)
)
post_balloon(balloonEval, NULL, argvars[0].vval.v_list);
else
- post_balloon(balloonEval, get_tv_string_chk(&argvars[0]), NULL);
+ post_balloon(balloonEval, tv_get_string_chk(&argvars[0]), NULL);
}
}
{
if (rettv_list_alloc(rettv) == OK)
{
- char_u *msg = get_tv_string_chk(&argvars[0]);
+ char_u *msg = tv_get_string_chk(&argvars[0]);
if (msg != NULL)
{
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);
+ 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;
char_u *initdir;
char_u buf[NUMBUFLEN];
- title = get_tv_string_chk(&argvars[0]);
- initdir = get_tv_string_buf_chk(&argvars[1], buf);
+ 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;
{
buf_T *buf;
- (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
+ (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;
int error = FALSE;
char_u *name;
- (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
+ (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */
++emsg_off;
buf = get_buf_tv(&argvars[0], FALSE);
--emsg_off;
* new buffer. */
if (buf == NULL
&& argvars[1].v_type != VAR_UNKNOWN
- && get_tv_number_chk(&argvars[1], &error) != 0
+ && tv_get_number_chk(&argvars[1], &error) != 0
&& !error
- && (name = get_tv_string_chk(&argvars[0])) != NULL
+ && (name = tv_get_string_chk(&argvars[0])) != NULL
&& !error)
buf = buflist_new(name, NULL, (linenr_T)1, 0);
int winnr = 0;
buf_T *buf;
- (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
+ (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */
++emsg_off;
buf = get_buf_tv(&argvars[0], TRUE);
FOR_ALL_WINDOWS(wp)
#else
long boff = 0;
- boff = get_tv_number(&argvars[0]) - 1; /* boff gets -1 on type error */
+ boff = tv_get_number(&argvars[0]) - 1; /* boff gets -1 on type error */
if (boff < 0)
rettv->vval.v_number = -1;
else
char_u *str;
varnumber_T idx;
- str = get_tv_string_chk(&argvars[0]);
- idx = get_tv_number_chk(&argvars[1], NULL);
+ 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;
func = partial_name(partial);
}
else
- func = get_tv_string(&argvars[0]);
+ func = tv_get_string(&argvars[0]);
if (*func == NUL)
return; /* type error or empty name */
rettv->vval.v_number = -1;
if (channel != NULL)
{
- char_u *what = get_tv_string(&argvars[1]);
+ char_u *what = tv_get_string(&argvars[1]);
int part;
if (STRCMP(what, "err") == 0)
static void
f_ch_log(typval_T *argvars, typval_T *rettv UNUSED)
{
- char_u *msg = get_tv_string(&argvars[0]);
+ char_u *msg = tv_get_string(&argvars[0]);
channel_T *channel = NULL;
if (argvars[1].v_type != VAR_UNKNOWN)
/* Don't open a file in restricted mode. */
if (check_restricted() || check_secure())
return;
- fname = get_tv_string(&argvars[0]);
+ fname = tv_get_string(&argvars[0]);
if (argvars[1].v_type == VAR_STRING)
- opt = get_tv_string_buf(&argvars[1], buf);
+ opt = tv_get_string_buf(&argvars[1], buf);
ch_logfile(fname, opt);
}
int utf8 = 0;
if (argvars[1].v_type != VAR_UNKNOWN)
- utf8 = (int)get_tv_number_chk(&argvars[1], NULL);
+ utf8 = (int)tv_get_number_chk(&argvars[1], NULL);
if (utf8)
- rettv->vval.v_number = (*utf_ptr2char)(get_tv_string(&argvars[0]));
+ rettv->vval.v_number = (*utf_ptr2char)(tv_get_string(&argvars[0]));
else
- rettv->vval.v_number = (*mb_ptr2char)(get_tv_string(&argvars[0]));
+ rettv->vval.v_number = (*mb_ptr2char)(tv_get_string(&argvars[0]));
}
else
#endif
- rettv->vval.v_number = get_tv_string(&argvars[0])[0];
+ rettv->vval.v_number = tv_get_string(&argvars[0])[0];
}
/*
linenr_T lnum;
pos = curwin->w_cursor;
- lnum = get_tv_lnum(argvars);
+ lnum = tv_get_lnum(argvars);
if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count)
{
curwin->w_cursor.lnum = lnum;
return;
}
- startcol = (int)get_tv_number_chk(&argvars[0], NULL);
+ startcol = (int)tv_get_number_chk(&argvars[0], NULL);
if (startcol <= 0)
return;
char_u *typestr;
int error = FALSE;
- message = get_tv_string_chk(&argvars[0]);
+ message = tv_get_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);
+ buttons = tv_get_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);
+ def = (int)tv_get_number_chk(&argvars[2], &error);
if (argvars[3].v_type != VAR_UNKNOWN)
{
- typestr = get_tv_string_buf_chk(&argvars[3], buf2);
+ typestr = tv_get_string_buf_chk(&argvars[3], buf2);
if (typestr == NULL)
error = TRUE;
else
int error = FALSE;
if (argvars[2].v_type != VAR_UNKNOWN)
- ic = (int)get_tv_number_chk(&argvars[2], &error);
+ ic = (int)tv_get_number_chk(&argvars[2], &error);
if (argvars[0].v_type == VAR_STRING)
{
- char_u *expr = get_tv_string_chk(&argvars[1]);
+ char_u *expr = tv_get_string_chk(&argvars[1]);
char_u *p = argvars[0].vval.v_string;
char_u *next;
{
if (argvars[3].v_type != VAR_UNKNOWN)
{
- idx = (long)get_tv_number_chk(&argvars[3], &error);
+ idx = (long)tv_get_number_chk(&argvars[3], &error);
if (!error)
{
li = list_find(l, idx);
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]);
+ num = (int)tv_get_number(&argvars[0]);
+ dbpath = tv_get_string(&argvars[1]);
if (argvars[2].v_type != VAR_UNKNOWN)
- prepend = get_tv_string_buf(&argvars[2], buf);
+ prepend = tv_get_string_buf(&argvars[2], buf);
}
rettv->vval.v_number = cs_connection(num, dbpath, prepend);
}
else
{
- line = get_tv_lnum(argvars);
- col = (long)get_tv_number_chk(&argvars[1], NULL);
+ 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)get_tv_number_chk(&argvars[2], NULL);
+ coladd = (long)tv_get_number_chk(&argvars[2], NULL);
#endif
}
if (line < 0 || col < 0
int pid;
rettv->vval.v_number = FAIL;
- pid = (int)get_tv_number(&argvars[0]);
+ pid = (int)tv_get_number(&argvars[0]);
if (pid == 0)
EMSG(_(e_invarg));
else
int copyID;
if (argvars[1].v_type != VAR_UNKNOWN)
- noref = (int)get_tv_number_chk(&argvars[1], NULL);
+ noref = (int)tv_get_number_chk(&argvars[1], NULL);
if (noref < 0 || noref > 1)
EMSG(_(e_invarg));
else
if (check_restricted() || check_secure())
return;
- name = get_tv_string(&argvars[0]);
+ name = tv_get_string(&argvars[0]);
if (name == NULL || *name == NUL)
{
EMSG(_(e_invarg));
}
if (argvars[1].v_type != VAR_UNKNOWN)
- flags = get_tv_string_buf(&argvars[1], nbuf);
+ flags = tv_get_string_buf(&argvars[1], nbuf);
else
flags = (char_u *)"";
}
is_curbuf = buf == curbuf;
- first = get_tv_lnum_buf(&argvars[1], buf);
+ first = tv_get_lnum_buf(&argvars[1], buf);
if (argvars[2].v_type != VAR_UNKNOWN)
- last = get_tv_lnum_buf(&argvars[2], buf);
+ last = tv_get_lnum_buf(&argvars[2], buf);
else
last = first;
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));
+ rettv->vval.v_number = diff_check_fill(curwin, tv_get_lnum(argvars));
#endif
}
f_diff_hlID(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
{
#ifdef FEAT_DIFF
- linenr_T lnum = get_tv_lnum(argvars);
+ linenr_T lnum = tv_get_lnum(argvars);
static linenr_T prev_lnum = 0;
static varnumber_T changedtick = 0;
static int fnum = 0;
if (hlID == HLF_CHD || hlID == HLF_TXD)
{
- col = get_tv_number(&argvars[1]) - 1; /* ignore type error in {col} */
+ 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
{
char_u buf[NUMBUFLEN];
- rettv->vval.v_string = vim_strsave_escaped(get_tv_string(&argvars[0]),
- get_tv_string_buf(&argvars[1], buf));
+ rettv->vval.v_string = vim_strsave_escaped(tv_get_string(&argvars[0]),
+ tv_get_string_buf(&argvars[1], buf));
rettv->v_type = VAR_STRING;
}
{
char_u *s, *p;
- s = get_tv_string_chk(&argvars[0]);
+ s = tv_get_string_chk(&argvars[0]);
if (s != NULL)
s = skipwhite(s);
static void
f_executable(typval_T *argvars, typval_T *rettv)
{
- char_u *name = get_tv_string(&argvars[0]);
+ 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)
if (item == NULL)
return NULL;
- s = get_tv_string_buf_chk(&item->li_tv, buf);
+ s = tv_get_string_buf_chk(&item->li_tv, buf);
*p = item->li_next;
return s == NULL ? NULL : vim_strsave(s);
}
}
else
{
- cmd = get_tv_string_chk(&argvars[0]);
+ cmd = tv_get_string_chk(&argvars[0]);
if (cmd == NULL)
return;
}
if (argvars[1].v_type != VAR_UNKNOWN)
{
char_u buf[NUMBUFLEN];
- char_u *s = get_tv_string_buf_chk(&argvars[1], buf);
+ char_u *s = tv_get_string_buf_chk(&argvars[1], buf);
if (s == NULL)
return;
{
char_u *p = NULL;
- (void)mch_can_exe(get_tv_string(&argvars[0]), &p, TRUE);
+ (void)mch_can_exe(tv_get_string(&argvars[0]), &p, TRUE);
rettv->v_type = VAR_STRING;
rettv->vval.v_string = p;
}
char_u *p;
int n = FALSE;
- p = get_tv_string(&argvars[0]);
+ p = tv_get_string(&argvars[0]);
if (*p == '$') /* environment variable */
{
/* first try "normal" environment variables (fast) */
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)
+ && tv_get_number_chk(&argvars[2], &error)
&& !error)
{
rettv_list_set(rettv, NULL);
}
- s = get_tv_string(&argvars[0]);
+ s = tv_get_string(&argvars[0]);
if (*s == '%' || *s == '#' || *s == '<')
{
++emsg_off;
/* 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))
+ && tv_get_number_chk(&argvars[1], &error))
options |= WILD_KEEP_ALL;
if (!error)
{
{
if (argvars[2].v_type != VAR_UNKNOWN)
{
- before = (long)get_tv_number_chk(&argvars[2], &error);
+ before = (long)tv_get_number_chk(&argvars[2], &error);
if (error)
return; /* type error; errmsg already given */
{
static char *(av[]) = {"keep", "force", "error"};
- action = get_tv_string_chk(&argvars[2]);
+ action = tv_get_string_chk(&argvars[2]);
if (action == NULL)
return; /* type error; errmsg already given */
for (i = 0; i < 3; ++i)
if (check_secure())
return;
- keys = get_tv_string(&argvars[0]);
+ keys = tv_get_string(&argvars[0]);
if (argvars[1].v_type != VAR_UNKNOWN)
{
- flags = get_tv_string_buf(&argvars[1], nbuf);
+ flags = tv_get_string_buf(&argvars[1], nbuf);
for ( ; *flags != NUL; ++flags)
{
switch (*flags)
#ifndef O_NONBLOCK
# define O_NONBLOCK 0
#endif
- p = get_tv_string(&argvars[0]);
+ p = tv_get_string(&argvars[0]);
if (*p && !mch_isdir(p) && (fd = mch_open((char *)p,
O_RDONLY | O_NONBLOCK, 0)) >= 0)
{
static void
f_filewritable(typval_T *argvars, typval_T *rettv)
{
- rettv->vval.v_number = filewritable(get_tv_string(&argvars[0]));
+ rettv->vval.v_number = filewritable(tv_get_string(&argvars[0]));
}
static void
rettv->v_type = VAR_STRING;
#ifdef FEAT_SEARCHPATH
- fname = get_tv_string(&argvars[0]);
+ fname = tv_get_string(&argvars[0]);
if (argvars[1].v_type != VAR_UNKNOWN)
{
- p = get_tv_string_buf_chk(&argvars[1], pathbuf);
+ p = tv_get_string_buf_chk(&argvars[1], pathbuf);
if (p == NULL)
error = TRUE;
else
path = p;
if (argvars[2].v_type != VAR_UNKNOWN)
- count = (int)get_tv_number_chk(&argvars[2], &error);
+ count = (int)tv_get_number_chk(&argvars[2], &error);
}
}
f_fnameescape(typval_T *argvars, typval_T *rettv)
{
rettv->vval.v_string = vim_strsave_fnameescape(
- get_tv_string(&argvars[0]), FALSE);
+ tv_get_string(&argvars[0]), FALSE);
rettv->v_type = VAR_STRING;
}
char_u *fbuf = NULL;
char_u buf[NUMBUFLEN];
- fname = get_tv_string_chk(&argvars[0]);
- mods = get_tv_string_buf_chk(&argvars[1], buf);
+ fname = tv_get_string_chk(&argvars[0]);
+ mods = tv_get_string_buf_chk(&argvars[1], buf);
if (fname == NULL || mods == NULL)
fname = NULL;
else
linenr_T lnum;
linenr_T first, last;
- lnum = get_tv_lnum(argvars);
+ lnum = tv_get_lnum(argvars);
if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count)
{
if (hasFoldingWin(curwin, lnum, &first, &last, FALSE, NULL))
#ifdef FEAT_FOLDING
linenr_T lnum;
- lnum = get_tv_lnum(argvars);
+ lnum = tv_get_lnum(argvars);
if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count)
rettv->vval.v_number = foldLevel(lnum);
#endif
return; /* reject recursive use */
entered = TRUE;
- lnum = get_tv_lnum(argvars);
+ lnum = tv_get_lnum(argvars);
/* treat illegal types and illegal string values for {lnum} the same */
if (lnum < 0)
lnum = 0;
else
{
/* function('MyFunc', [arg], dict) */
- s = get_tv_string(&argvars[0]);
+ s = tv_get_string(&argvars[0]);
use_string = TRUE;
}
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);
+ 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
* 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)
+ if (argvars[0].v_type != VAR_UNKNOWN && tv_get_number(&argvars[0]) == 1)
garbage_collect_at_exit = TRUE;
}
{
int error = FALSE;
- li = list_find(l, (long)get_tv_number_chk(&argvars[1], &error));
+ li = list_find(l, (long)tv_get_number_chk(&argvars[1], &error));
if (!error && li != NULL)
tv = &li->li_tv;
}
{
if ((d = argvars[0].vval.v_dict) != NULL)
{
- di = dict_find(d, get_tv_string(&argvars[1]), -1);
+ di = dict_find(d, tv_get_string(&argvars[1]), -1);
if (di != NULL)
tv = &di->di_tv;
}
if (pt != NULL)
{
- char_u *what = get_tv_string(&argvars[1]);
+ char_u *what = tv_get_string(&argvars[1]);
char_u *n;
if (STRCMP(what, "func") == 0 || STRCMP(what, "name") == 0)
filtered = TRUE;
di = dict_find(sel_d, (char_u *)"buflisted", -1);
- if (di != NULL && get_tv_number(&di->di_tv))
+ if (di != NULL && tv_get_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))
+ if (di != NULL && tv_get_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))
+ 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)get_tv_number(&argvars[0]); /* issue errmsg if type error */
+ (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */
++emsg_off;
argbuf = get_buf_tv(&argvars[0], FALSE);
--emsg_off;
linenr_T end;
buf_T *buf;
- (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
+ (void)tv_get_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);
+ lnum = tv_get_lnum_buf(&argvars[1], buf);
if (argvars[2].v_type == VAR_UNKNOWN)
end = lnum;
else
- end = get_tv_lnum_buf(&argvars[2], buf);
+ end = tv_get_lnum_buf(&argvars[2], buf);
get_buffer_lines(buf, lnum, end, TRUE, rettv);
}
dictitem_T *v;
int done = FALSE;
- (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
- varname = get_tv_string_chk(&argvars[1]);
+ (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);
return;
#ifdef FEAT_JUMPLIST
- (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
+ (void)tv_get_number(&argvars[0]); /* issue errmsg if type error */
++emsg_off;
buf = get_buf_tv(&argvars[0], FALSE);
--emsg_off;
if (argvars[0].v_type == VAR_UNKNOWN)
/* getchar(): blocking wait. */
n = plain_vgetc();
- else if (get_tv_number_chk(&argvars[0], &error) == 1)
+ 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)
| WILD_NO_BEEP;
if (argvars[2].v_type != VAR_UNKNOWN)
- filtered = get_tv_number_chk(&argvars[2], NULL);
+ filtered = tv_get_number_chk(&argvars[2], NULL);
if (p_wic)
options |= WILD_ICASE;
options |= WILD_KEEP_ALL;
ExpandInit(&xpc);
- xpc.xp_pattern = get_tv_string(&argvars[0]);
+ xpc.xp_pattern = tv_get_string(&argvars[0]);
xpc.xp_pattern_len = (int)STRLEN(xpc.xp_pattern);
- xpc.xp_context = cmdcomplete_str_to_type(get_tv_string(&argvars[1]));
+ 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)
}
else
{
- name = get_tv_string(&argvars[0]);
+ name = tv_get_string(&argvars[0]);
if (STRCMP(name, "*") == 0) /* don't use font dialog */
return;
font = gui_mch_get_font(name, FALSE);
char_u flags[] = "rwx";
int i;
- fname = get_tv_string(&argvars[0]);
+ fname = tv_get_string(&argvars[0]);
rettv->v_type = VAR_STRING;
if (mch_stat((char *)fname, &st) >= 0)
char_u *fname;
stat_T st;
- fname = get_tv_string(&argvars[0]);
+ fname = tv_get_string(&argvars[0]);
rettv->v_type = VAR_NUMBER;
char_u *fname;
stat_T st;
- fname = get_tv_string(&argvars[0]);
+ fname = tv_get_string(&argvars[0]);
if (mch_stat((char *)fname, &st) >= 0)
rettv->vval.v_number = (varnumber_T)st.st_mtime;
char_u *type = NULL;
char *t;
- fname = get_tv_string(&argvars[0]);
+ fname = tv_get_string(&argvars[0]);
rettv->v_type = VAR_STRING;
if (mch_lstat((char *)fname, &st) >= 0)
linenr_T end;
int retlist;
- lnum = get_tv_lnum(argvars);
+ lnum = tv_get_lnum(argvars);
if (argvars[1].v_type == VAR_UNKNOWN)
{
end = 0;
}
else
{
- end = get_tv_lnum(&argvars[1]);
+ end = tv_get_lnum(&argvars[1]);
retlist = TRUE;
}
if (argvars[0].v_type != VAR_UNKNOWN)
{
- strregname = get_tv_string_chk(&argvars[0]);
+ strregname = tv_get_string_chk(&argvars[0]);
error = strregname == NULL;
if (argvars[1].v_type != VAR_UNKNOWN)
{
- arg2 = (int)get_tv_number_chk(&argvars[1], &error);
+ arg2 = (int)tv_get_number_chk(&argvars[1], &error);
if (!error && argvars[2].v_type != VAR_UNKNOWN)
- return_list = (int)get_tv_number_chk(&argvars[2], &error);
+ return_list = (int)tv_get_number_chk(&argvars[2], &error);
}
}
else
if (argvars[0].v_type != VAR_UNKNOWN)
{
- strregname = get_tv_string_chk(&argvars[0]);
+ strregname = tv_get_string_chk(&argvars[0]);
if (strregname == NULL) /* type error; errmsg already given */
{
rettv->v_type = VAR_STRING;
if (argvars[0].v_type != VAR_UNKNOWN)
{
/* Information about one tab page */
- tparg = find_tabpage((int)get_tv_number_chk(&argvars[0], NULL));
+ tparg = find_tabpage((int)tv_get_number_chk(&argvars[0], NULL));
if (tparg == NULL)
return;
}
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));
+ 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
varnumber_T timeout = 100;
if (argvars[0].v_type != VAR_UNKNOWN)
- timeout = get_tv_number(&argvars[0]);
+ timeout = tv_get_number(&argvars[0]);
term_get_winpos(&x, &y, timeout);
}
#endif
rettv->v_type = VAR_STRING;
if (argvars[1].v_type != VAR_UNKNOWN)
{
- if (get_tv_number_chk(&argvars[1], &error))
+ if (tv_get_number_chk(&argvars[1], &error))
options |= WILD_KEEP_ALL;
if (argvars[2].v_type != VAR_UNKNOWN)
{
- if (get_tv_number_chk(&argvars[2], &error))
+ if (tv_get_number_chk(&argvars[2], &error))
{
rettv_list_set(rettv, NULL);
}
if (argvars[3].v_type != VAR_UNKNOWN
- && get_tv_number_chk(&argvars[3], &error))
+ && tv_get_number_chk(&argvars[3], &error))
options |= WILD_ALLLINKS;
}
}
if (p_wic)
options += WILD_ICASE;
if (rettv->v_type == VAR_STRING)
- rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]),
+ 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, get_tv_string(&argvars[0]),
+ 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);
{
int flags = 0;
char_u buf1[NUMBUFLEN];
- char_u *file = get_tv_string_buf_chk(&argvars[1], buf1);
+ char_u *file = tv_get_string_buf_chk(&argvars[1], buf1);
int error = FALSE;
garray_T ga;
int i;
rettv->v_type = VAR_STRING;
if (argvars[2].v_type != VAR_UNKNOWN)
{
- if (get_tv_number_chk(&argvars[2], &error))
+ if (tv_get_number_chk(&argvars[2], &error))
flags |= WILD_KEEP_ALL;
if (argvars[3].v_type != VAR_UNKNOWN)
{
- if (get_tv_number_chk(&argvars[3], &error))
+ if (tv_get_number_chk(&argvars[3], &error))
{
rettv_list_set(rettv, NULL);
}
if (argvars[4].v_type != VAR_UNKNOWN
- && get_tv_number_chk(&argvars[4], &error))
+ && tv_get_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);
+ 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)
static void
f_glob2regpat(typval_T *argvars, typval_T *rettv)
{
- char_u *pat = get_tv_string_chk(&argvars[0]);
+ char_u *pat = tv_get_string_chk(&argvars[0]);
rettv->v_type = VAR_STRING;
rettv->vval.v_string = (pat == NULL)
NULL
};
- name = get_tv_string(&argvars[0]);
+ name = tv_get_string(&argvars[0]);
for (i = 0; has_list[i] != NULL; ++i)
if (STRICMP(name, has_list[i]) == 0)
{
return;
rettv->vval.v_number = dict_find(argvars[0].vval.v_dict,
- get_tv_string(&argvars[1]), -1) != NULL;
+ tv_get_string(&argvars[1]), -1) != NULL;
}
/*
char_u buf[NUMBUFLEN];
int abbr = FALSE;
- name = get_tv_string(&argvars[0]);
+ name = tv_get_string(&argvars[0]);
if (argvars[1].v_type == VAR_UNKNOWN)
mode = (char_u *)"nvo";
else
{
- mode = get_tv_string_buf(&argvars[1], buf);
+ mode = tv_get_string_buf(&argvars[1], buf);
if (argvars[2].v_type != VAR_UNKNOWN)
- abbr = (int)get_tv_number(&argvars[2]);
+ abbr = (int)tv_get_number(&argvars[2]);
}
if (map_to_exists(name, mode, abbr))
if (check_restricted() || check_secure())
return;
#ifdef FEAT_CMDHIST
- str = get_tv_string_chk(&argvars[0]); /* NULL on type error */
+ str = tv_get_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);
+ str = tv_get_string_buf(&argvars[1], buf);
if (*str != NUL)
{
init_history();
char_u buf[NUMBUFLEN];
char_u *str;
- str = get_tv_string_chk(&argvars[0]); /* NULL on type error */
+ str = tv_get_string_chk(&argvars[0]); /* NULL on type error */
if (str == NULL)
n = 0;
else if (argvars[1].v_type == VAR_UNKNOWN)
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]));
+ (int)tv_get_number(&argvars[1]));
else
/* string given: remove all matching entries */
n = del_history_entry(get_histtype(str),
- get_tv_string_buf(&argvars[1], buf));
+ tv_get_string_buf(&argvars[1], buf));
rettv->vval.v_number = n;
#endif
}
int idx;
char_u *str;
- str = get_tv_string_chk(&argvars[0]); /* NULL on type error */
+ str = tv_get_string_chk(&argvars[0]); /* NULL on type error */
if (str == NULL)
rettv->vval.v_string = NULL;
else
if (argvars[1].v_type == VAR_UNKNOWN)
idx = get_history_idx(type);
else
- idx = (int)get_tv_number_chk(&argvars[1], NULL);
+ idx = (int)tv_get_number_chk(&argvars[1], NULL);
/* -1 on type error */
rettv->vval.v_string = vim_strsave(get_history_entry(type, idx));
}
int i;
#ifdef FEAT_CMDHIST
- char_u *history = get_tv_string_chk(&argvars[0]);
+ 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)
static void
f_hlID(typval_T *argvars, typval_T *rettv)
{
- rettv->vval.v_number = syn_name2id(get_tv_string(&argvars[0]));
+ rettv->vval.v_number = syn_name2id(tv_get_string(&argvars[0]));
}
/*
static void
f_hlexists(typval_T *argvars, typval_T *rettv)
{
- rettv->vval.v_number = highlight_exists(get_tv_string(&argvars[0]));
+ rettv->vval.v_number = highlight_exists(tv_get_string(&argvars[0]));
}
/*
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)));
+ 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);
{
linenr_T lnum;
- lnum = get_tv_lnum(argvars);
+ lnum = tv_get_lnum(argvars);
if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count)
rettv->vval.v_number = get_indent_lnum(lnum);
else
/* 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));
+ 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)get_tv_number_chk(&argvars[3], &error);
+ ic = (int)tv_get_number_chk(&argvars[3], &error);
if (error)
item = NULL;
}
char_u buf[NUMBUFLEN];
char_u *defstr = (char_u *)"";
- message = get_tv_string_chk(&argvars[0]);
+ message = tv_get_string_chk(&argvars[0]);
if (argvars[1].v_type != VAR_UNKNOWN
- && (defstr = get_tv_string_buf_chk(&argvars[1], buf)) != NULL)
+ && (defstr = tv_get_string_buf_chk(&argvars[1], buf)) != NULL)
vim_strncpy(IObuff, defstr, IOSIZE - 1);
else
IObuff[0] = NUL;
&& 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));
+ tv_get_string_buf(&argvars[2], buf));
else
rettv->vval.v_string = NULL;
}
for (li = argvars[0].vval.v_list->lv_first; li != NULL; li = li->li_next)
{
- msg_puts(get_tv_string(&li->li_tv));
+ msg_puts(tv_get_string(&li->li_tv));
msg_putchar('\n');
}
&& !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);
+ before = (long)tv_get_number_chk(&argvars[2], &error);
if (error)
return; /* type error; errmsg already given */
static void
f_invert(typval_T *argvars, typval_T *rettv)
{
- rettv->vval.v_number = ~get_tv_number_chk(&argvars[0], NULL);
+ rettv->vval.v_number = ~tv_get_number_chk(&argvars[0], NULL);
}
/*
static void
f_isdirectory(typval_T *argvars, typval_T *rettv)
{
- rettv->vval.v_number = mch_isdir(get_tv_string(&argvars[0]));
+ rettv->vval.v_number = mch_isdir(tv_get_string(&argvars[0]));
}
/*
dictitem_T *di;
rettv->vval.v_number = -1;
- end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE,
+ 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)
{
if (tv->v_type != VAR_JOB)
{
- EMSG2(_(e_invarg2), get_tv_string(tv));
+ EMSG2(_(e_invarg2), tv_get_string(tv));
return NULL;
}
job = tv->vval.v_job;
if (argvars[1].v_type == VAR_UNKNOWN)
sep = (char_u *)" ";
else
- sep = get_tv_string_chk(&argvars[1]);
+ sep = tv_get_string_chk(&argvars[1]);
rettv->v_type = VAR_STRING;
{
js_read_T reader;
- reader.js_buf = get_tv_string(&argvars[0]);
+ 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)
{
js_read_T reader;
- reader.js_buf = get_tv_string(&argvars[0]);
+ reader.js_buf = tv_get_string(&argvars[0]);
reader.js_fill = NULL;
reader.js_used = 0;
json_decode_all(&reader, rettv, 0);
case VAR_STRING:
case VAR_NUMBER:
rettv->vval.v_number = (varnumber_T)STRLEN(
- get_tv_string(&argvars[0]));
+ tv_get_string(&argvars[0]));
break;
case VAR_LIST:
rettv->vval.v_number = list_len(argvars[0].vval.v_list);
#else
linenr_T lnum;
- lnum = get_tv_lnum(argvars);
+ lnum = tv_get_lnum(argvars);
if (lnum < 1 || lnum > curbuf->b_ml.ml_line_count + 1)
rettv->vval.v_number = -1;
else
linenr_T lnum;
pos = curwin->w_cursor;
- lnum = get_tv_lnum(argvars);
+ lnum = tv_get_lnum(argvars);
if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count)
{
curwin->w_cursor.lnum = lnum;
rettv->v_type = VAR_STRING;
rettv->vval.v_string = NULL;
- keys = get_tv_string(&argvars[0]);
+ keys = tv_get_string(&argvars[0]);
if (*keys == NUL)
return;
if (argvars[1].v_type != VAR_UNKNOWN)
{
- which = get_tv_string_buf_chk(&argvars[1], buf);
+ which = tv_get_string_buf_chk(&argvars[1], buf);
if (argvars[2].v_type != VAR_UNKNOWN)
{
- abbr = (int)get_tv_number(&argvars[2]);
+ abbr = (int)tv_get_number(&argvars[2]);
if (argvars[3].v_type != VAR_UNKNOWN)
- get_dict = (int)get_tv_number(&argvars[3]);
+ get_dict = (int)tv_get_number(&argvars[3]);
}
}
else
char_u *str;
char_u buf[NUMBUFLEN];
- str = get_tv_string_buf(&argvars[0], buf);
+ str = tv_get_string_buf(&argvars[0], buf);
do_luaeval(str, argvars + 1, rettv);
}
#endif
}
else
{
- expr = str = get_tv_string(&argvars[0]);
+ expr = str = tv_get_string(&argvars[0]);
len = (long)STRLEN(str);
}
- pat = get_tv_string_buf_chk(&argvars[1], patbuf);
+ pat = tv_get_string_buf_chk(&argvars[1], patbuf);
if (pat == NULL)
goto theend;
{
int error = FALSE;
- start = (long)get_tv_number_chk(&argvars[2], &error);
+ start = (long)tv_get_number_chk(&argvars[2], &error);
if (error)
goto theend;
if (l != NULL)
}
if (argvars[3].v_type != VAR_UNKNOWN)
- nth = (long)get_tv_number_chk(&argvars[3], &error);
+ nth = (long)tv_get_number_chk(&argvars[3], &error);
if (error)
goto theend;
}
{
#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 */
+ 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;
return;
if (argvars[2].v_type != VAR_UNKNOWN)
{
- prio = (int)get_tv_number_chk(&argvars[2], &error);
+ prio = (int)tv_get_number_chk(&argvars[2], &error);
if (argvars[3].v_type != VAR_UNKNOWN)
{
- id = (int)get_tv_number_chk(&argvars[3], &error);
+ 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;
rettv->vval.v_number = -1;
- group = get_tv_string_buf_chk(&argvars[0], buf);
+ group = tv_get_string_buf_chk(&argvars[0], buf);
if (group == NULL)
return;
if (argvars[2].v_type != VAR_UNKNOWN)
{
- prio = (int)get_tv_number_chk(&argvars[2], &error);
+ prio = (int)tv_get_number_chk(&argvars[2], &error);
if (argvars[3].v_type != VAR_UNKNOWN)
{
- id = (int)get_tv_number_chk(&argvars[3], &error);
+ 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)
if (rettv_list_alloc(rettv) == OK)
{
#ifdef FEAT_SEARCH_EXTRA
- int id = (int)get_tv_number(&argvars[0]);
+ int id = (int)tv_get_number(&argvars[0]);
matchitem_T *m;
if (id >= 1 && id <= 3)
{
#ifdef FEAT_SEARCH_EXTRA
rettv->vval.v_number = match_delete(curwin,
- (int)get_tv_number(&argvars[0]), TRUE);
+ (int)tv_get_number(&argvars[0]), TRUE);
#endif
}
li = l->lv_first;
if (li != NULL)
{
- n = get_tv_number_chk(&li->li_tv, &error);
+ n = tv_get_number_chk(&li->li_tv, &error);
for (;;)
{
li = li->li_next;
if (li == NULL)
break;
- i = get_tv_number_chk(&li->li_tv, &error);
+ i = tv_get_number_chk(&li->li_tv, &error);
if (domax ? i > n : i < n)
n = i;
}
if (!HASHITEM_EMPTY(hi))
{
--todo;
- i = get_tv_number_chk(&HI2DI(hi)->di_tv, &error);
+ i = tv_get_number_chk(&HI2DI(hi)->di_tv, &error);
if (first)
{
n = i;
if (check_restricted() || check_secure())
return;
- dir = get_tv_string_buf(&argvars[0], buf);
+ dir = tv_get_string_buf(&argvars[0], buf);
if (*dir == NUL)
return;
{
if (argvars[2].v_type != VAR_UNKNOWN)
{
- prot = (int)get_tv_number_chk(&argvars[2], NULL);
+ prot = (int)tv_get_number_chk(&argvars[2], NULL);
if (prot == -1)
return;
}
- if (STRCMP(get_tv_string(&argvars[1]), "p") == 0)
+ if (STRCMP(tv_get_string(&argvars[1]), "p") == 0)
{
if (mch_isdir(dir))
{
char_u *str;
char_u buf[NUMBUFLEN];
- str = get_tv_string_buf(&argvars[0], buf);
+ str = tv_get_string_buf(&argvars[0], buf);
do_mzeval(str, rettv);
}
{
linenr_T lnum;
- for (lnum = get_tv_lnum(argvars); ; ++lnum)
+ for (lnum = tv_get_lnum(argvars); ; ++lnum)
{
if (lnum < 0 || lnum > curbuf->b_ml.ml_line_count)
{
int utf8 = 0;
if (argvars[1].v_type != VAR_UNKNOWN)
- utf8 = (int)get_tv_number_chk(&argvars[1], NULL);
+ utf8 = (int)tv_get_number_chk(&argvars[1], NULL);
if (utf8)
- buf[(*utf_char2bytes)((int)get_tv_number(&argvars[0]), buf)] = NUL;
+ buf[(*utf_char2bytes)((int)tv_get_number(&argvars[0]), buf)] = NUL;
else
- buf[(*mb_char2bytes)((int)get_tv_number(&argvars[0]), buf)] = NUL;
+ buf[(*mb_char2bytes)((int)tv_get_number(&argvars[0]), buf)] = NUL;
}
else
#endif
{
- buf[0] = (char_u)get_tv_number(&argvars[0]);
+ buf[0] = (char_u)tv_get_number(&argvars[0]);
buf[1] = NUL;
}
rettv->v_type = VAR_STRING;
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);
+ rettv->vval.v_number = tv_get_number_chk(&argvars[0], NULL)
+ | tv_get_number_chk(&argvars[1], NULL);
}
/*
char_u *p;
rettv->v_type = VAR_STRING;
- p = get_tv_string_chk(&argvars[0]);
+ p = tv_get_string_chk(&argvars[0]);
if (p == NULL)
rettv->vval.v_string = NULL;
else
char_u *str;
char_u buf[NUMBUFLEN];
- str = get_tv_string_buf(&argvars[0], buf);
+ str = tv_get_string_buf(&argvars[0], buf);
do_perleval(str, rettv);
}
#endif
{
linenr_T lnum;
- lnum = get_tv_lnum(argvars);
+ lnum = tv_get_lnum(argvars);
if (lnum < 1 || lnum > curbuf->b_ml.ml_line_count)
lnum = 0;
else
/* Get the required length, allocate the buffer and do it for real. */
did_emsg = FALSE;
- fmt = (char *)get_tv_string_buf(&argvars[0], buf);
+ fmt = (char *)tv_get_string_buf(&argvars[0], buf);
len = vim_vsnprintf_typval(NULL, 0, fmt, ap, argvars + 1);
if (!did_emsg)
{
if (buf == NULL)
return;
- text = get_tv_string(&argvars[1]);
+ text = tv_get_string(&argvars[1]);
vim_free(buf->b_prompt_text);
buf->b_prompt_text = vim_strsave(text);
}
if (p_pyx == 0)
p_pyx = 3;
- str = get_tv_string_buf(&argvars[0], buf);
+ str = tv_get_string_buf(&argvars[0], buf);
do_py3eval(str, rettv);
}
#endif
if (p_pyx == 0)
p_pyx = 2;
- str = get_tv_string_buf(&argvars[0], buf);
+ str = tv_get_string_buf(&argvars[0], buf);
do_pyeval(str, rettv);
}
#endif
varnumber_T i;
int error = FALSE;
- start = get_tv_number_chk(&argvars[0], &error);
+ start = tv_get_number_chk(&argvars[0], &error);
if (argvars[1].v_type == VAR_UNKNOWN)
{
end = start - 1;
}
else
{
- end = get_tv_number_chk(&argvars[1], &error);
+ end = tv_get_number_chk(&argvars[1], &error);
if (argvars[2].v_type != VAR_UNKNOWN)
- stride = get_tv_number_chk(&argvars[2], &error);
+ stride = tv_get_number_chk(&argvars[2], &error);
}
if (error)
if (argvars[1].v_type != VAR_UNKNOWN)
{
- if (STRCMP(get_tv_string(&argvars[1]), "b") == 0)
+ if (STRCMP(tv_get_string(&argvars[1]), "b") == 0)
binary = TRUE;
if (argvars[2].v_type != VAR_UNKNOWN)
- maxline = (long)get_tv_number(&argvars[2]);
+ maxline = (long)tv_get_number(&argvars[2]);
}
if (rettv_list_alloc(rettv) == FAIL)
/* 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]);
+ 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);
# endif
if (argvars[2].v_type != VAR_UNKNOWN
&& argvars[3].v_type != VAR_UNKNOWN)
- timeout = get_tv_number(&argvars[3]);
+ timeout = tv_get_number(&argvars[3]);
- server_name = get_tv_string_chk(&argvars[0]);
+ server_name = tv_get_string_chk(&argvars[0]);
if (server_name == NULL)
return; /* type error; errmsg already given */
- keys = get_tv_string_buf(&argvars[1], buf);
+ keys = tv_get_string_buf(&argvars[1], buf);
# ifdef WIN32
if (serverSendToVim(server_name, keys, &r, &w, expr, timeout, TRUE) < 0)
# else
char_u str[30];
char_u *idvar;
- idvar = get_tv_string_chk(&argvars[2]);
+ idvar = tv_get_string_chk(&argvars[2]);
if (idvar != NULL && *idvar != NUL)
{
sprintf((char *)str, PRINTF_HEX_LONG_U, (long_u)w);
# ifdef WIN32
/* On Win32 it's done in this application. */
{
- char_u *server_name = get_tv_string_chk(&argvars[0]);
+ char_u *server_name = tv_get_string_chk(&argvars[0]);
if (server_name != NULL)
serverForeground(server_name);
rettv->vval.v_number = -1;
return;
}
- serverid = get_tv_string_chk(&argvars[0]);
+ serverid = tv_get_string_chk(&argvars[0]);
if (serverid == NULL)
{
rettv->vval.v_number = -1;
v.di_tv.v_type = VAR_STRING;
v.di_tv.vval.v_string = vim_strsave(s);
- retvar = get_tv_string_chk(&argvars[1]);
+ 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);
char_u *r = NULL;
#ifdef FEAT_CLIENTSERVER
- char_u *serverid = get_tv_string_chk(&argvars[0]);
+ char_u *serverid = tv_get_string_chk(&argvars[0]);
if (serverid != NULL && !check_restricted() && !check_secure())
{
# endif
if (argvars[1].v_type != VAR_UNKNOWN)
- timeout = get_tv_number(&argvars[1]);
+ timeout = tv_get_number(&argvars[1]);
# ifdef WIN32
sscanf((char *)serverid, SCANF_HEX_LONG_U, &n);
f_remote_startserver(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
{
#ifdef FEAT_CLIENTSERVER
- char_u *server = get_tv_string_chk(&argvars[0]);
+ char_u *server = tv_get_string_chk(&argvars[0]);
if (server == NULL)
return; /* type error; errmsg already given */
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]);
+ key = tv_get_string_chk(&argvars[1]);
if (key != NULL)
{
di = dict_find(d, key, -1);
{
int error = FALSE;
- idx = (long)get_tv_number_chk(&argvars[1], &error);
+ 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)
else
{
/* Remove range of items, return list with values. */
- end = (long)get_tv_number_chk(&argvars[2], &error);
+ end = (long)tv_get_number_chk(&argvars[2], &error);
if (error)
; /* type error: do nothing */
else if ((item2 = list_find(l, end)) == NULL)
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));
+ rettv->vval.v_number = vim_rename(tv_get_string(&argvars[0]),
+ tv_get_string_buf(&argvars[1], buf));
}
/*
char_u *r;
int i;
- n = (int)get_tv_number(&argvars[1]);
+ 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)
}
else
{
- p = get_tv_string(&argvars[0]);
+ p = tv_get_string(&argvars[0]);
rettv->v_type = VAR_STRING;
rettv->vval.v_string = NULL;
char_u *buf = NULL;
#endif
- p = get_tv_string(&argvars[0]);
+ p = tv_get_string(&argvars[0]);
#ifdef FEAT_SHORTCUT
{
char_u *v = NULL;
if (varp->v_type != VAR_UNKNOWN)
{
- flags = get_tv_string_buf_chk(varp, nbuf);
+ flags = tv_get_string_buf_chk(varp, nbuf);
if (flags == NULL)
return 0; /* type error; errmsg already given */
while (*flags != NUL)
int options = SEARCH_KEEP;
int subpatnum;
- pat = get_tv_string(&argvars[0]);
+ pat = tv_get_string(&argvars[0]);
dir = get_search_arg(&argvars[1], flagsp); /* may set p_ws */
if (dir == 0)
goto theend;
/* 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);
+ 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)get_tv_number_chk(&argvars[3], NULL);
+ time_limit = (long)tv_get_number_chk(&argvars[3], NULL);
if (time_limit < 0)
goto theend;
}
if (((flags & (SP_REPEAT | SP_RETCOUNT)) != 0)
|| ((flags & SP_NOMOVE) && (flags & SP_SETPCMARK)))
{
- EMSG2(_(e_invarg2), get_tv_string(&argvars[1]));
+ EMSG2(_(e_invarg2), tv_get_string(&argvars[1]));
goto theend;
}
int col;
int c;
- row = (int)get_tv_number_chk(&argvars[0], NULL) - 1;
- col = (int)get_tv_number_chk(&argvars[1], NULL) - 1;
+ 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;
int off;
int c;
- row = (int)get_tv_number_chk(&argvars[0], NULL) - 1;
- col = (int)get_tv_number_chk(&argvars[1], NULL) - 1;
+ 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;
rettv->vval.v_number = 1; /* default: FAIL */
- name = get_tv_string_chk(&argvars[0]);
+ name = tv_get_string_chk(&argvars[0]);
if (argvars[1].v_type != VAR_UNKNOWN)
{
- locally = (int)get_tv_number_chk(&argvars[1], &error) == 0;
+ locally = (int)tv_get_number_chk(&argvars[1], &error) == 0;
if (!error && argvars[2].v_type != VAR_UNKNOWN)
- thisblock = (int)get_tv_number_chk(&argvars[2], &error) != 0;
+ thisblock = (int)tv_get_number_chk(&argvars[2], &error) != 0;
}
if (!error && name != NULL)
rettv->vval.v_number = find_decl(name, (int)STRLEN(name),
/* 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);
+ 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 */
if ((flags & (SP_END | SP_SUBPAT)) != 0
|| ((flags & SP_NOMOVE) && (flags & SP_SETPCMARK)))
{
- EMSG2(_(e_invarg2), get_tv_string(&argvars[3]));
+ EMSG2(_(e_invarg2), tv_get_string(&argvars[3]));
goto theend;
}
&& skip->v_type != VAR_STRING)
{
/* Type error */
- EMSG2(_(e_invarg2), get_tv_string(&argvars[4]));
+ EMSG2(_(e_invarg2), tv_get_string(&argvars[4]));
goto theend;
}
if (argvars[5].v_type != VAR_UNKNOWN)
{
- lnum_stop = (long)get_tv_number_chk(&argvars[5], NULL);
+ lnum_stop = (long)tv_get_number_chk(&argvars[5], NULL);
if (lnum_stop < 0)
{
- EMSG2(_(e_invarg2), get_tv_string(&argvars[5]));
+ EMSG2(_(e_invarg2), tv_get_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);
+ time_limit = (long)tv_get_number_chk(&argvars[6], NULL);
if (time_limit < 0)
{
- EMSG2(_(e_invarg2), get_tv_string(&argvars[6]));
+ EMSG2(_(e_invarg2), tv_get_string(&argvars[6]));
goto theend;
}
}
{
#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);
+ 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)
rettv->vval.v_number = 1; /* FAIL */
else
{
- lnum = get_tv_lnum_buf(&argvars[1], buf);
+ lnum = tv_get_lnum_buf(&argvars[1], buf);
set_buffer_lines(buf, lnum, FALSE, &argvars[2], rettv);
}
}
if (check_restricted() || check_secure())
return;
- (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
- varname = get_tv_string_chk(&argvars[1]);
+ (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];
aucmd_prepbuf(&aco, buf);
++varname;
- numval = (long)get_tv_number_chk(varp, &error);
- strval = get_tv_string_buf_chk(varp, nbuf);
+ 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);
di = dict_find(d, (char_u *)"forward", -1);
if (di != NULL)
- set_csearch_direction((int)get_tv_number(&di->di_tv)
+ 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(!!get_tv_number(&di->di_tv));
+ set_csearch_until(!!tv_get_number(&di->di_tv));
}
}
static void
f_setcmdpos(typval_T *argvars, typval_T *rettv)
{
- int pos = (int)get_tv_number(&argvars[0]) - 1;
+ int pos = (int)tv_get_number(&argvars[0]) - 1;
if (pos >= 0)
rettv->vval.v_number = set_cmdline_pos(pos);
int mode = 0;
rettv->vval.v_number = 0;
- fname = get_tv_string_chk(&argvars[0]);
+ fname = tv_get_string_chk(&argvars[0]);
if (fname == NULL)
return;
- mode_str = get_tv_string_buf_chk(&argvars[1], modebuf);
+ mode_str = tv_get_string_buf_chk(&argvars[1], modebuf);
if (mode_str == NULL)
return;
if (STRLEN(mode_str) != 9)
static void
f_setline(typval_T *argvars, typval_T *rettv)
{
- linenr_T lnum = get_tv_lnum(&argvars[0]);
+ linenr_T lnum = tv_get_lnum(&argvars[0]);
set_buffer_lines(curbuf, lnum, FALSE, &argvars[1], rettv);
}
if (action_arg->v_type == VAR_STRING)
{
- act = get_tv_string_chk(action_arg);
+ act = tv_get_string_chk(action_arg);
if (act == NULL)
return; /* type error; errmsg already given */
if ((*act == 'a' || *act == 'r' || *act == ' ' || *act == 'f') &&
colnr_T curswant = -1;
rettv->vval.v_number = -1;
- name = get_tv_string_chk(argvars);
+ name = tv_get_string_chk(argvars);
if (name != NULL)
{
if (list2fpos(&argvars[1], &pos, &fnum, &curswant) == OK)
yank_type = MAUTO;
append = FALSE;
- strregname = get_tv_string_chk(argvars);
+ strregname = tv_get_string_chk(argvars);
rettv->vval.v_number = 1; /* FAIL is default */
if (strregname == NULL)
if (argvars[2].v_type != VAR_UNKNOWN)
{
- stropt = get_tv_string_chk(&argvars[2]);
+ stropt = tv_get_string_chk(&argvars[2]);
if (stropt == NULL)
return; /* type error */
for (; *stropt != NUL; ++stropt)
for (li = ll == NULL ? NULL : ll->lv_first; li != NULL;
li = li->li_next)
{
- strval = get_tv_string_buf_chk(&li->li_tv, buf);
+ 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 get_tv_string_buf_chk() will
+ /* Need to make a copy, next tv_get_string_buf_chk() will
* overwrite the string. */
strval = vim_strsave(buf);
if (strval == NULL)
}
else
{
- strval = get_tv_string_chk(&argvars[1]);
+ strval = tv_get_string_chk(&argvars[1]);
if (strval == NULL)
return;
write_reg_contents_ex(regname, strval, -1,
if (check_restricted() || check_secure())
return;
- tp = find_tabpage((int)get_tv_number_chk(&argvars[0], NULL));
- varname = get_tv_string_chk(&argvars[1]);
+ 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)
else if (argvars[2].v_type == VAR_STRING)
{
char_u *actstr;
- actstr = get_tv_string_chk(&argvars[2]);
+ actstr = tv_get_string_chk(&argvars[2]);
if (actstr == NULL)
return;
if ((*actstr == 'r' || *actstr == 'a') && actstr[1] == NUL)
{
char_u *p;
- p = get_tv_string(&argvars[0]);
+ 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;
int do_special = non_zero_arg(&argvars[1]);
rettv->vval.v_string = vim_strsave_shellescape(
- get_tv_string(&argvars[0]), do_special, do_special);
+ tv_get_string(&argvars[0]), do_special, do_special);
rettv->v_type = VAR_STRING;
}
{
long col;
- col = (long)get_tv_number_chk(argvars, NULL);
+ col = (long)tv_get_number_chk(argvars, NULL);
if (col < 0)
return; // type error; errmsg already given
#ifdef FEAT_VARTABS
rettv->vval.v_number = -1;
- name = get_tv_string_chk(&argvars[0]);
+ name = tv_get_string_chk(&argvars[0]);
if (name == NULL)
return;
return;
if (argvars[0].v_type != VAR_UNKNOWN)
- name = get_tv_string(&argvars[0]);
+ name = tv_get_string(&argvars[0]);
sign_getlist(name, rettv->vval.v_list);
}
if (buf == NULL)
{
EMSG2(_("E158: Invalid buffer name: %s"),
- get_tv_string(&argvars[0]));
+ tv_get_string(&argvars[0]));
return;
}
if ((di = dict_find(dict, (char_u *)"lnum", -1)) != NULL)
{
// get signs placed at this line
- (void)get_tv_number_chk(&di->di_tv, ¬anum);
+ (void)tv_get_number_chk(&di->di_tv, ¬anum);
if (notanum)
return;
- lnum = get_tv_lnum(&di->di_tv);
+ 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)get_tv_number_chk(&di->di_tv, ¬anum);
+ sign_id = (int)tv_get_number_chk(&di->di_tv, ¬anum);
if (notanum)
return;
}
if ((di = dict_find(dict, (char_u *)"group", -1)) != NULL)
{
- group = get_tv_string_chk(&di->di_tv);
+ group = tv_get_string_chk(&di->di_tv);
if (group == NULL)
return;
}
rettv->vval.v_number = -1;
// Sign identifer
- sign_id = (int)get_tv_number_chk(&argvars[0], ¬anum);
+ sign_id = (int)tv_get_number_chk(&argvars[0], ¬anum);
if (notanum)
return;
if (sign_id < 0)
}
// Sign group
- group = get_tv_string_chk(&argvars[1]);
+ group = tv_get_string_chk(&argvars[1]);
if (group == NULL)
return;
if (group[0] == '\0')
}
// Sign name
- sign_name = get_tv_string_chk(&argvars[2]);
+ sign_name = tv_get_string_chk(&argvars[2]);
if (sign_name == NULL)
goto cleanup;
buf = find_buffer(&argvars[3]);
if (buf == NULL)
{
- EMSG2(_("E158: Invalid buffer name: %s"), get_tv_string(&argvars[2]));
+ EMSG2(_("E158: Invalid buffer name: %s"), tv_get_string(&argvars[2]));
goto cleanup;
}
// Line number where the sign is to be placed
if ((di = dict_find(dict, (char_u *)"lnum", -1)) != NULL)
{
- (void)get_tv_number_chk(&di->di_tv, ¬anum);
+ (void)tv_get_number_chk(&di->di_tv, ¬anum);
if (notanum)
goto cleanup;
- lnum = get_tv_lnum(&di->di_tv);
+ lnum = tv_get_lnum(&di->di_tv);
}
if ((di = dict_find(dict, (char_u *)"priority", -1)) != NULL)
{
// Sign priority
- prio = (int)get_tv_number_chk(&di->di_tv, ¬anum);
+ prio = (int)tv_get_number_chk(&di->di_tv, ¬anum);
if (notanum)
goto cleanup;
}
else
{
// Free only the specified sign
- name = get_tv_string_chk(&argvars[0]);
+ name = tv_get_string_chk(&argvars[0]);
if (name == NULL)
return;
return;
}
- group = get_tv_string(&argvars[0]);
+ group = tv_get_string(&argvars[0]);
if (group[0] == '\0')
group = NULL; // global sign group
else
if (buf == NULL)
{
EMSG2(_("E158: Invalid buffer name: %s"),
- get_tv_string(&di->di_tv));
+ tv_get_string(&di->di_tv));
return;
}
}
{
char_u *p;
- p = get_tv_string(&argvars[0]);
+ 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;
if (sortinfo->item_compare_numbers)
{
- varnumber_T v1 = get_tv_number(tv1);
- varnumber_T v2 = get_tv_number(tv2);
+ varnumber_T v1 = tv_get_number(tv1);
+ varnumber_T v2 = tv_get_number(tv2);
return v1 == v2 ? 0 : v1 > v2 ? 1 : -1;
}
#ifdef FEAT_FLOAT
if (sortinfo->item_compare_float)
{
- float_T v1 = get_tv_float(tv1);
- float_T v2 = get_tv_float(tv2);
+ float_T v1 = tv_get_float(tv1);
+ float_T v2 = tv_get_float(tv2);
return v1 == v2 ? 0 : v1 > v2 ? 1 : -1;
}
if (res == FAIL)
res = ITEM_COMPARE_FAIL;
else
- res = (int)get_tv_number_chk(&rettv, &sortinfo->item_compare_func_err);
+ 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);
{
int error = FALSE;
- i = (long)get_tv_number_chk(&argvars[1], &error);
+ 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 = get_tv_string(&argvars[1]);
+ info.item_compare_func = tv_get_string(&argvars[1]);
else if (i != 0)
{
EMSG(_(e_invarg));
char_u *s;
rettv->v_type = VAR_STRING;
- s = get_tv_string(&argvars[0]);
+ s = tv_get_string(&argvars[0]);
#ifdef FEAT_SPELL
rettv->vval.v_string = eval_soundfold(s);
#else
}
else if (curwin->w_p_spell && *curbuf->b_s.b_p_spl != NUL)
{
- char_u *str = get_tv_string_chk(&argvars[0]);
+ char_u *str = tv_get_string_chk(&argvars[0]);
int capcol = -1;
if (str != NULL)
#ifdef FEAT_SPELL
if (curwin->w_p_spell && *curwin->w_s->b_p_spl != NUL)
{
- str = get_tv_string(&argvars[0]);
+ str = tv_get_string(&argvars[0]);
if (argvars[1].v_type != VAR_UNKNOWN)
{
- maxcount = (int)get_tv_number_chk(&argvars[1], &typeerr);
+ maxcount = (int)tv_get_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);
+ need_capital = (int)tv_get_number_chk(&argvars[2], &typeerr);
if (typeerr)
return;
}
save_cpo = p_cpo;
p_cpo = (char_u *)"";
- str = get_tv_string(&argvars[0]);
+ str = tv_get_string(&argvars[0]);
if (argvars[1].v_type != VAR_UNKNOWN)
{
- pat = get_tv_string_buf_chk(&argvars[1], patbuf);
+ pat = tv_get_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);
+ keepempty = (int)tv_get_number_chk(&argvars[2], &typeerr);
}
if (pat == NULL || *pat == NUL)
pat = (char_u *)"[\\x01- ]\\+";
static void
f_str2float(typval_T *argvars, typval_T *rettv)
{
- char_u *p = skipwhite(get_tv_string(&argvars[0]));
+ char_u *p = skipwhite(tv_get_string(&argvars[0]));
int isneg = (*p == '-');
if (*p == '+' || *p == '-')
if (argvars[1].v_type != VAR_UNKNOWN)
{
- base = (int)get_tv_number(&argvars[1]);
+ base = (int)tv_get_number(&argvars[1]);
if (base != 2 && base != 8 && base != 10 && base != 16)
{
EMSG(_(e_invarg));
}
}
- p = skipwhite(get_tv_string(&argvars[0]));
+ p = skipwhite(tv_get_string(&argvars[0]));
isneg = (*p == '-');
if (*p == '+' || *p == '-')
p = skipwhite(p + 1);
rettv->v_type = VAR_STRING;
- p = get_tv_string(&argvars[0]);
+ p = tv_get_string(&argvars[0]);
if (argvars[1].v_type == VAR_UNKNOWN)
seconds = time(NULL);
else
- seconds = (time_t)get_tv_number(&argvars[1]);
+ seconds = (time_t)tv_get_number(&argvars[1]);
curtime = localtime(&seconds);
/* MSVC returns NULL for an invalid value of seconds. */
if (curtime == NULL)
int charidx;
rettv->vval.v_number = -1;
- str = get_tv_string_chk(&argvars[0]);
+ str = tv_get_string_chk(&argvars[0]);
if (str == NULL)
return;
len = (int)STRLEN(str);
- charidx = (int)get_tv_number_chk(&argvars[1], &error);
+ charidx = (int)tv_get_number_chk(&argvars[1], &error);
if (error)
return;
#ifdef FEAT_MBYTE
char_u *pos;
int start_idx;
- needle = get_tv_string_chk(&argvars[1]);
- save_haystack = haystack = get_tv_string_buf_chk(&argvars[0], buf);
+ 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 */
{
int error = FALSE;
- start_idx = (int)get_tv_number_chk(&argvars[2], &error);
+ start_idx = (int)tv_get_number_chk(&argvars[2], &error);
if (error || start_idx >= (int)STRLEN(haystack))
return;
if (start_idx >= 0)
f_strlen(typval_T *argvars, typval_T *rettv)
{
rettv->vval.v_number = (varnumber_T)(STRLEN(
- get_tv_string(&argvars[0])));
+ tv_get_string(&argvars[0])));
}
/*
static void
f_strchars(typval_T *argvars, typval_T *rettv)
{
- char_u *s = get_tv_string(&argvars[0]);
+ char_u *s = tv_get_string(&argvars[0]);
int skipcc = 0;
#ifdef FEAT_MBYTE
varnumber_T len = 0;
#endif
if (argvars[1].v_type != VAR_UNKNOWN)
- skipcc = (int)get_tv_number_chk(&argvars[1], NULL);
+ skipcc = (int)tv_get_number_chk(&argvars[1], NULL);
if (skipcc < 0 || skipcc > 1)
EMSG(_(e_invarg));
else
static void
f_strdisplaywidth(typval_T *argvars, typval_T *rettv)
{
- char_u *s = get_tv_string(&argvars[0]);
+ char_u *s = tv_get_string(&argvars[0]);
int col = 0;
if (argvars[1].v_type != VAR_UNKNOWN)
- col = (int)get_tv_number(&argvars[1]);
+ col = (int)tv_get_number(&argvars[1]);
rettv->vval.v_number = (varnumber_T)(linetabsize_col(col, s) - col);
}
static void
f_strwidth(typval_T *argvars, typval_T *rettv)
{
- char_u *s = get_tv_string(&argvars[0]);
+ char_u *s = tv_get_string(&argvars[0]);
rettv->vval.v_number = (varnumber_T)(
#ifdef FEAT_MBYTE
int slen;
int error = FALSE;
- p = get_tv_string(&argvars[0]);
+ p = tv_get_string(&argvars[0]);
slen = (int)STRLEN(p);
- nchar = (int)get_tv_number_chk(&argvars[1], &error);
+ nchar = (int)tv_get_number_chk(&argvars[1], &error);
if (!error)
{
if (nchar > 0)
nbyte = nchar;
if (argvars[2].v_type != VAR_UNKNOWN)
{
- charlen = (int)get_tv_number(&argvars[2]);
+ charlen = (int)tv_get_number(&argvars[2]);
while (charlen > 0 && nbyte + len < slen)
{
int off = nbyte + len;
int slen;
int error = FALSE;
- p = get_tv_string(&argvars[0]);
+ p = tv_get_string(&argvars[0]);
slen = (int)STRLEN(p);
- n = (int)get_tv_number_chk(&argvars[1], &error);
+ n = (int)tv_get_number_chk(&argvars[1], &error);
if (error)
len = 0;
else if (argvars[2].v_type != VAR_UNKNOWN)
- len = (int)get_tv_number(&argvars[2]);
+ len = (int)tv_get_number(&argvars[2]);
else
len = slen - n; /* default len: all bytes that are available. */
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);
+ 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)
if (argvars[2].v_type != VAR_UNKNOWN)
{
/* Third argument: upper limit for index */
- end_idx = (int)get_tv_number_chk(&argvars[2], NULL);
+ end_idx = (int)tv_get_number_chk(&argvars[2], NULL);
if (end_idx < 0)
return; /* can never find a match */
}
f_strtrans(typval_T *argvars, typval_T *rettv)
{
rettv->v_type = VAR_STRING;
- rettv->vval.v_string = transstr(get_tv_string(&argvars[0]));
+ rettv->vval.v_string = transstr(tv_get_string(&argvars[0]));
}
/*
int no;
int retList = 0;
- no = (int)get_tv_number_chk(&argvars[0], &error);
+ no = (int)tv_get_number_chk(&argvars[0], &error);
if (error)
return;
if (no < 0 || no >= NSUBEXP)
return;
}
if (argvars[1].v_type != VAR_UNKNOWN)
- retList = (int)get_tv_number_chk(&argvars[1], &error);
+ retList = (int)tv_get_number_chk(&argvars[1], &error);
if (error)
return;
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 *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 = get_tv_string_buf_chk(&argvars[3], flagsbuf);
+ 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 = get_tv_string_buf_chk(&argvars[2], subbuf);
+ sub = tv_get_string_buf_chk(&argvars[2], subbuf);
rettv->v_type = VAR_STRING;
if (str == NULL || pat == NULL || (sub == NULL && expr == NULL)
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);
+ get_b0_dict(tv_get_string(argvars), rettv->vval.v_dict);
}
/*
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);
+ 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)))
char_u modebuf[NUMBUFLEN];
int modec;
- id = (int)get_tv_number(&argvars[0]);
- what = get_tv_string(&argvars[1]);
+ id = (int)tv_get_number(&argvars[0]);
+ what = tv_get_string(&argvars[1]);
if (argvars[2].v_type != VAR_UNKNOWN)
{
- mode = get_tv_string_buf(&argvars[2], modebuf);
+ 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 */
int id;
#ifdef FEAT_SYN_HL
- id = (int)get_tv_number(&argvars[0]);
+ id = (int)tv_get_number(&argvars[0]);
if (id > 0)
id = syn_get_final_id(id);
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 */
+ 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));
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 */
+ 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))
size_t len;
char_u buf[NUMBUFLEN];
- p = get_tv_string_buf_chk(&argvars[1], buf);
+ p = tv_get_string_buf_chk(&argvars[1], buf);
if (p == NULL)
{
fclose(fd);
char_u *end;
int i;
- res = get_cmd_output(get_tv_string(&argvars[0]), infile, flags, &len);
+ res = get_cmd_output(tv_get_string(&argvars[0]), infile, flags, &len);
if (res == NULL)
goto errret;
}
else
{
- res = get_cmd_output(get_tv_string(&argvars[0]), infile, flags, NULL);
+ res = get_cmd_output(tv_get_string(&argvars[0]), infile, flags, NULL);
#ifdef USE_CR
/* translate <CR> into <NL> */
if (res != NULL)
wp = firstwin;
else
{
- tp = find_tabpage((int)get_tv_number(&argvars[0]));
+ tp = find_tabpage((int)tv_get_number(&argvars[0]));
if (tp != NULL)
wp = (tp == curtab) ? firstwin : tp->tp_firstwin;
}
if (argvars[0].v_type != VAR_UNKNOWN)
{
- arg = get_tv_string_chk(&argvars[0]);
+ arg = tv_get_string_chk(&argvars[0]);
nr = 0;
if (arg != NULL)
{
twin = (tp == curtab) ? curwin : tp->tp_curwin;
if (argvar->v_type != VAR_UNKNOWN)
{
- arg = get_tv_string_chk(argvar);
+ arg = tv_get_string_chk(argvar);
if (arg == NULL)
nr = 0; /* type error; errmsg already given */
else if (STRCMP(arg, "$") == 0)
int nr = 1;
tabpage_T *tp;
- tp = find_tabpage((int)get_tv_number(&argvars[0]));
+ tp = find_tabpage((int)tv_get_number(&argvars[0]));
if (tp == NULL)
nr = 0;
else
char_u *fname = NULL;
char_u *tag_pattern;
- tag_pattern = get_tv_string(&argvars[0]);
+ 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 = get_tv_string(&argvars[1]);
+ fname = tv_get_string(&argvars[1]);
if (rettv_list_alloc(rettv) == OK)
(void)get_tags(rettv->vval.v_list, tag_pattern, fname);
}
f_test_feedinput(typval_T *argvars, typval_T *rettv UNUSED)
{
#ifdef USE_INPUT_BUF
- char_u *val = get_tv_string_chk(&argvars[0]);
+ char_u *val = tv_get_string_chk(&argvars[0]);
if (val != NULL)
{
EMSG(_(e_invarg));
else
{
- name = get_tv_string(&argvars[0]);
+ name = tv_get_string(&argvars[0]);
if (reset_option_was_set(name) == FAIL)
EMSG2(_(e_invarg2), name);
}
EMSG(_(e_invarg));
else
{
- name = get_tv_string_chk(&argvars[0]);
- val = (int)get_tv_number(&argvars[1]);
+ 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;
static void
f_test_ignore_error(typval_T *argvars, typval_T *rettv UNUSED)
{
- ignore_error_for_testing(get_tv_string(&argvars[0]));
+ ignore_error_for_testing(tv_get_string(&argvars[0]));
}
#ifdef FEAT_JOB_CHANNEL
EMSG(_(e_invarg));
return;
}
- which = get_tv_string(&argvars[0]);
- value = get_tv_number(&argvars[1]);
- dragging = get_tv_number(&argvars[2]);
+ 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];
static void
f_test_settime(typval_T *argvars, typval_T *rettv UNUSED)
{
- time_for_testing = (time_t)get_tv_number(&argvars[0]);
+ time_for_testing = (time_t)tv_get_number(&argvars[0]);
}
#if defined(FEAT_JOB_CHANNEL) || defined(FEAT_TIMERS) || defined(PROTO)
EMSG(_(e_number_exp));
else
{
- timer = find_timer((int)get_tv_number(&argvars[0]));
+ timer = find_timer((int)tv_get_number(&argvars[0]));
if (timer != NULL)
add_timer_info(rettv, timer);
}
f_timer_pause(typval_T *argvars, typval_T *rettv UNUSED)
{
timer_T *timer = NULL;
- int paused = (int)get_tv_number(&argvars[1]);
+ int paused = (int)tv_get_number(&argvars[1]);
if (argvars[0].v_type != VAR_NUMBER)
EMSG(_(e_number_exp));
else
{
- timer = find_timer((int)get_tv_number(&argvars[0]));
+ timer = find_timer((int)tv_get_number(&argvars[0]));
if (timer != NULL)
timer->tr_paused = paused;
}
static void
f_timer_start(typval_T *argvars, typval_T *rettv)
{
- long msec = (long)get_tv_number(&argvars[0]);
+ long msec = (long)tv_get_number(&argvars[0]);
timer_T *timer;
int repeat = 0;
char_u *callback;
if (argvars[2].v_type != VAR_DICT
|| (dict = argvars[2].vval.v_dict) == NULL)
{
- EMSG2(_(e_invarg2), get_tv_string(&argvars[2]));
+ EMSG2(_(e_invarg2), tv_get_string(&argvars[2]));
return;
}
if (dict_find(dict, (char_u *)"repeat", -1) != NULL)
EMSG(_(e_number_exp));
return;
}
- timer = find_timer((int)get_tv_number(&argvars[0]));
+ timer = find_timer((int)tv_get_number(&argvars[0]));
if (timer != NULL)
stop_timer(timer);
}
f_tolower(typval_T *argvars, typval_T *rettv)
{
rettv->v_type = VAR_STRING;
- rettv->vval.v_string = strlow_save(get_tv_string(&argvars[0]));
+ rettv->vval.v_string = strlow_save(tv_get_string(&argvars[0]));
}
/*
f_toupper(typval_T *argvars, typval_T *rettv)
{
rettv->v_type = VAR_STRING;
- rettv->vval.v_string = strup_save(get_tv_string(&argvars[0]));
+ rettv->vval.v_string = strup_save(tv_get_string(&argvars[0]));
}
/*
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);
+ 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;
{
char_u buf1[NUMBUFLEN];
char_u buf2[NUMBUFLEN];
- char_u *head = get_tv_string_buf_chk(&argvars[0], buf1);
+ char_u *head = tv_get_string_buf_chk(&argvars[0], buf1);
char_u *mask = NULL;
char_u *tail;
char_u *prev;
}
if (argvars[1].v_type == VAR_STRING)
- mask = get_tv_string_buf_chk(&argvars[1], buf2);
+ mask = tv_get_string_buf_chk(&argvars[1], buf2);
while (*head != NUL)
{
rettv->v_type = VAR_STRING;
#ifdef FEAT_PERSISTENT_UNDO
{
- char_u *fname = get_tv_string(&argvars[0]);
+ char_u *fname = tv_get_string(&argvars[0]);
if (*fname == NUL)
{
tp = curtab;
else
{
- tp = find_tabpage((int)get_tv_number(&argvars[0]));
+ tp = find_tabpage((int)tv_get_number(&argvars[0]));
if (tp == NULL)
return;
}
if (list == NULL)
return;
for (li = list->lv_first; li != NULL; li = li->li_next)
- if (get_tv_string_chk(&li->li_tv) == NULL)
+ if (tv_get_string_chk(&li->li_tv) == NULL)
return;
if (argvars[2].v_type != VAR_UNKNOWN)
{
- char_u *arg2 = get_tv_string_chk(&argvars[2]);
+ char_u *arg2 = tv_get_string_chk(&argvars[2]);
if (arg2 == NULL)
return;
#endif
}
- fname = get_tv_string_chk(&argvars[1]);
+ fname = tv_get_string_chk(&argvars[1]);
if (fname == NULL)
return;
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);
+ rettv->vval.v_number = tv_get_number_chk(&argvars[0], NULL)
+ ^ tv_get_number_chk(&argvars[1], NULL);
}
#endif /* FEAT_EVAL */