forked from aniani/vim
patch 8.1.0615: get_tv function names are not consistent
Problem: Get_tv function names are not consistent. Solution: Rename to tv_get.
This commit is contained in:
parent
162b71479b
commit
d155d7a851
@ -938,7 +938,7 @@ channel_open_func(typval_T *argvars)
|
||||
jobopt_T opt;
|
||||
channel_T *channel = NULL;
|
||||
|
||||
address = get_tv_string(&argvars[0]);
|
||||
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,7 +4003,7 @@ ch_raw_common(typval_T *argvars, typval_T *rettv, int eval)
|
||||
rettv->v_type = VAR_STRING;
|
||||
rettv->vval.v_string = NULL;
|
||||
|
||||
text = get_tv_string_buf(&argvars[1], buf);
|
||||
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,7 +4402,7 @@ channel_get_timeout(channel_T *channel, ch_part_T part)
|
||||
static int
|
||||
handle_mode(typval_T *item, jobopt_T *opt, ch_mode_T *modep, int jo)
|
||||
{
|
||||
char_u *val = get_tv_string(item);
|
||||
char_u *val = tv_get_string(item);
|
||||
|
||||
opt->jo_set |= jo;
|
||||
if (STRCMP(val, "nl") == 0)
|
||||
@ -4424,7 +4424,7 @@ handle_mode(typval_T *item, jobopt_T *opt, ch_mode_T *modep, int jo)
|
||||
static int
|
||||
handle_io(typval_T *item, ch_part_T part, jobopt_T *opt)
|
||||
{
|
||||
char_u *val = get_tv_string(item);
|
||||
char_u *val = tv_get_string(item);
|
||||
|
||||
opt->jo_set |= JO_OUT_IO << (part - PART_OUT);
|
||||
if (STRCMP(val, "null") == 0)
|
||||
@ -4561,7 +4561,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
{
|
||||
if (!(supported & JO_MODE))
|
||||
break;
|
||||
opt->jo_noblock = get_tv_number(item);
|
||||
opt->jo_noblock = tv_get_number(item);
|
||||
}
|
||||
else if (STRCMP(hi->hi_key, "in_io") == 0
|
||||
|| STRCMP(hi->hi_key, "out_io") == 0
|
||||
@ -4582,13 +4582,13 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
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]);
|
||||
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 = get_tv_number(item);
|
||||
opt->jo_pty = tv_get_number(item);
|
||||
}
|
||||
else if (STRCMP(hi->hi_key, "in_buf") == 0
|
||||
|| STRCMP(hi->hi_key, "out_buf") == 0
|
||||
@ -4599,10 +4599,10 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported & JO_OUT_IO))
|
||||
break;
|
||||
opt->jo_set |= JO_OUT_BUF << (part - PART_OUT);
|
||||
opt->jo_io_buf[part] = get_tv_number(item);
|
||||
opt->jo_io_buf[part] = tv_get_number(item);
|
||||
if (opt->jo_io_buf[part] <= 0)
|
||||
{
|
||||
EMSG3(_(e_invargNval), hi->hi_key, get_tv_string(item));
|
||||
EMSG3(_(e_invargNval), hi->hi_key, tv_get_string(item));
|
||||
return FAIL;
|
||||
}
|
||||
if (buflist_findnr(opt->jo_io_buf[part]) == NULL)
|
||||
@ -4619,7 +4619,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported & JO_OUT_IO))
|
||||
break;
|
||||
opt->jo_set |= JO_OUT_MODIFIABLE << (part - PART_OUT);
|
||||
opt->jo_modifiable[part] = get_tv_number(item);
|
||||
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,7 +4629,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported & JO_OUT_IO))
|
||||
break;
|
||||
opt->jo_set2 |= JO2_OUT_MSG << (part - PART_OUT);
|
||||
opt->jo_message[part] = get_tv_number(item);
|
||||
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,10 +4648,10 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
lp = &opt->jo_in_bot;
|
||||
opt->jo_set |= JO_IN_BOT;
|
||||
}
|
||||
*lp = get_tv_number(item);
|
||||
*lp = tv_get_number(item);
|
||||
if (*lp < 0)
|
||||
{
|
||||
EMSG3(_(e_invargNval), hi->hi_key, get_tv_string(item));
|
||||
EMSG3(_(e_invargNval), hi->hi_key, tv_get_string(item));
|
||||
return FAIL;
|
||||
}
|
||||
}
|
||||
@ -4718,7 +4718,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
else if (STRCMP(hi->hi_key, "drop") == 0)
|
||||
{
|
||||
int never = FALSE;
|
||||
val = get_tv_string(item);
|
||||
val = tv_get_string(item);
|
||||
|
||||
if (STRCMP(val, "never") == 0)
|
||||
never = TRUE;
|
||||
@ -4747,7 +4747,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported2 & JO2_TERM_NAME))
|
||||
break;
|
||||
opt->jo_set2 |= JO2_TERM_NAME;
|
||||
opt->jo_term_name = get_tv_string_chk(item);
|
||||
opt->jo_term_name = tv_get_string_chk(item);
|
||||
if (opt->jo_term_name == NULL)
|
||||
{
|
||||
EMSG2(_(e_invargval), "term_name");
|
||||
@ -4758,7 +4758,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
{
|
||||
if (!(supported2 & JO2_TERM_FINISH))
|
||||
break;
|
||||
val = get_tv_string(item);
|
||||
val = tv_get_string(item);
|
||||
if (STRCMP(val, "open") != 0 && STRCMP(val, "close") != 0)
|
||||
{
|
||||
EMSG3(_(e_invargNval), "term_finish", val);
|
||||
@ -4774,7 +4774,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported2 & JO2_TERM_OPENCMD))
|
||||
break;
|
||||
opt->jo_set2 |= JO2_TERM_OPENCMD;
|
||||
p = opt->jo_term_opencmd = get_tv_string_chk(item);
|
||||
p = opt->jo_term_opencmd = tv_get_string_chk(item);
|
||||
if (p != NULL)
|
||||
{
|
||||
/* Must have %d and no other %. */
|
||||
@ -4796,7 +4796,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported2 & JO2_EOF_CHARS))
|
||||
break;
|
||||
opt->jo_set2 |= JO2_EOF_CHARS;
|
||||
p = opt->jo_eof_chars = get_tv_string_chk(item);
|
||||
p = opt->jo_eof_chars = tv_get_string_chk(item);
|
||||
if (p == NULL)
|
||||
{
|
||||
EMSG2(_(e_invargval), "eof_chars");
|
||||
@ -4808,54 +4808,54 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported2 & JO2_TERM_ROWS))
|
||||
break;
|
||||
opt->jo_set2 |= JO2_TERM_ROWS;
|
||||
opt->jo_term_rows = get_tv_number(item);
|
||||
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 = get_tv_number(item);
|
||||
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 = get_tv_number(item);
|
||||
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 = get_tv_number(item);
|
||||
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 = get_tv_number(item);
|
||||
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 = get_tv_number(item);
|
||||
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 = get_tv_string_chk(item);
|
||||
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;
|
||||
int n = 0;
|
||||
listitem_T *li;
|
||||
long_u rgb[16];
|
||||
|
||||
@ -4873,9 +4873,9 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
for (; li != NULL && n < 16; li = li->li_next, n++)
|
||||
{
|
||||
char_u *color_name;
|
||||
guicolor_T guicolor;
|
||||
guicolor_T guicolor;
|
||||
|
||||
color_name = get_tv_string_chk(&li->li_tv);
|
||||
color_name = tv_get_string_chk(&li->li_tv);
|
||||
if (color_name == NULL)
|
||||
return FAIL;
|
||||
|
||||
@ -4915,7 +4915,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
{
|
||||
if (!(supported2 & JO2_CWD))
|
||||
break;
|
||||
opt->jo_cwd = get_tv_string_buf_chk(item, opt->jo_cwd_buf);
|
||||
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,35 +4932,35 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported & JO_WAITTIME))
|
||||
break;
|
||||
opt->jo_set |= JO_WAITTIME;
|
||||
opt->jo_waittime = get_tv_number(item);
|
||||
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 = get_tv_number(item);
|
||||
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 = get_tv_number(item);
|
||||
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 = get_tv_number(item);
|
||||
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 = get_tv_string(item);
|
||||
val = tv_get_string(item);
|
||||
if (STRCMP(val, "err") == 0)
|
||||
opt->jo_part = PART_ERR;
|
||||
else if (STRCMP(val, "out") == 0)
|
||||
@ -4976,14 +4976,14 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported & JO_ID))
|
||||
break;
|
||||
opt->jo_set |= JO_ID;
|
||||
opt->jo_id = get_tv_number(item);
|
||||
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 = get_tv_string_buf_chk(item,
|
||||
opt->jo_stoponexit = tv_get_string_buf_chk(item,
|
||||
opt->jo_soe_buf);
|
||||
if (opt->jo_stoponexit == NULL)
|
||||
{
|
||||
@ -4996,7 +4996,7 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
if (!(supported & JO_BLOCK_WRITE))
|
||||
break;
|
||||
opt->jo_set |= JO_BLOCK_WRITE;
|
||||
opt->jo_block_write = get_tv_number(item);
|
||||
opt->jo_block_write = tv_get_number(item);
|
||||
}
|
||||
else
|
||||
break;
|
||||
@ -5035,7 +5035,7 @@ get_channel_arg(typval_T *tv, int check_open, int reading, ch_part_T part)
|
||||
}
|
||||
else
|
||||
{
|
||||
EMSG2(_(e_invarg2), get_tv_string(tv));
|
||||
EMSG2(_(e_invarg2), tv_get_string(tv));
|
||||
return NULL;
|
||||
}
|
||||
if (channel != NULL && reading)
|
||||
@ -5262,7 +5262,7 @@ win32_build_cmd(list_T *l, garray_T *gap)
|
||||
|
||||
for (li = l->lv_first; li != NULL; li = li->li_next)
|
||||
{
|
||||
s = get_tv_string_chk(&li->li_tv);
|
||||
s = tv_get_string_chk(&li->li_tv);
|
||||
if (s == NULL)
|
||||
return FAIL;
|
||||
s = win32_escape_arg(s);
|
||||
@ -5832,7 +5832,7 @@ job_stop(job_T *job, typval_T *argvars, char *type)
|
||||
arg = (char_u *)"";
|
||||
else
|
||||
{
|
||||
arg = get_tv_string_chk(&argvars[1]);
|
||||
arg = tv_get_string_chk(&argvars[1]);
|
||||
if (arg == NULL)
|
||||
{
|
||||
EMSG(_(e_invarg));
|
||||
|
@ -495,7 +495,7 @@ dict_get_string(dict_T *d, char_u *key, int save)
|
||||
di = dict_find(d, key, -1);
|
||||
if (di == NULL)
|
||||
return NULL;
|
||||
s = get_tv_string(&di->di_tv);
|
||||
s = tv_get_string(&di->di_tv);
|
||||
if (save && s != NULL)
|
||||
s = vim_strsave(s);
|
||||
return s;
|
||||
@ -513,7 +513,7 @@ dict_get_number(dict_T *d, char_u *key)
|
||||
di = dict_find(d, key, -1);
|
||||
if (di == NULL)
|
||||
return 0;
|
||||
return get_tv_number(&di->di_tv);
|
||||
return tv_get_number(&di->di_tv);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -630,10 +630,10 @@ dict_get_tv(char_u **arg, typval_T *rettv, int evaluate)
|
||||
}
|
||||
if (evaluate)
|
||||
{
|
||||
key = get_tv_string_buf_chk(&tvkey, buf);
|
||||
key = tv_get_string_buf_chk(&tvkey, buf);
|
||||
if (key == NULL)
|
||||
{
|
||||
/* "key" is NULL when get_tv_string_buf_chk() gave an errmsg */
|
||||
/* "key" is NULL when tv_get_string_buf_chk() gave an errmsg */
|
||||
clear_tv(&tvkey);
|
||||
goto failret;
|
||||
}
|
||||
|
@ -4363,7 +4363,7 @@ ins_compl_add_tv(typval_T *tv, int dir)
|
||||
}
|
||||
else
|
||||
{
|
||||
word = get_tv_string_chk(tv);
|
||||
word = tv_get_string_chk(tv);
|
||||
vim_memset(cptext, 0, sizeof(cptext));
|
||||
}
|
||||
if (word == NULL || (!aempty && *word == NUL))
|
||||
|
214
src/eval.c
214
src/eval.c
@ -681,7 +681,7 @@ eval_to_bool(
|
||||
*error = FALSE;
|
||||
if (!skip)
|
||||
{
|
||||
retval = (get_tv_number_chk(&tv, error) != 0);
|
||||
retval = (tv_get_number_chk(&tv, error) != 0);
|
||||
clear_tv(&tv);
|
||||
}
|
||||
}
|
||||
@ -720,7 +720,7 @@ eval_expr_typval(typval_T *expr, typval_T *argv, int argc, typval_T *rettv)
|
||||
}
|
||||
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);
|
||||
@ -751,7 +751,7 @@ eval_expr_to_bool(typval_T *expr, int *error)
|
||||
*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;
|
||||
}
|
||||
@ -776,7 +776,7 @@ eval_to_string_skip(
|
||||
retval = NULL;
|
||||
else
|
||||
{
|
||||
retval = vim_strsave(get_tv_string(&tv));
|
||||
retval = vim_strsave(tv_get_string(&tv));
|
||||
clear_tv(&tv);
|
||||
}
|
||||
if (skip)
|
||||
@ -841,7 +841,7 @@ eval_to_string(
|
||||
}
|
||||
#endif
|
||||
else
|
||||
retval = vim_strsave(get_tv_string(&tv));
|
||||
retval = vim_strsave(tv_get_string(&tv));
|
||||
clear_tv(&tv);
|
||||
}
|
||||
|
||||
@ -891,7 +891,7 @@ eval_to_number(char_u *expr)
|
||||
retval = -1;
|
||||
else
|
||||
{
|
||||
retval = get_tv_number_chk(&rettv, NULL);
|
||||
retval = tv_get_number_chk(&rettv, NULL);
|
||||
clear_tv(&rettv);
|
||||
}
|
||||
--emsg_off;
|
||||
@ -982,12 +982,12 @@ get_spellword(list_T *list, char_u **pp)
|
||||
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
|
||||
|
||||
@ -1053,7 +1053,7 @@ call_func_retnr(
|
||||
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;
|
||||
}
|
||||
@ -1080,7 +1080,7 @@ call_func_retstr(
|
||||
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;
|
||||
}
|
||||
@ -1654,7 +1654,7 @@ ex_let_one(
|
||||
{
|
||||
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;
|
||||
@ -1708,8 +1708,8 @@ ex_let_one(
|
||||
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,
|
||||
@ -1763,7 +1763,7 @@ ex_let_one(
|
||||
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);
|
||||
@ -1956,7 +1956,7 @@ get_lval(
|
||||
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);
|
||||
@ -1993,7 +1993,7 @@ get_lval(
|
||||
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);
|
||||
@ -2024,7 +2024,7 @@ get_lval(
|
||||
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);
|
||||
@ -2106,7 +2106,7 @@ get_lval(
|
||||
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;
|
||||
@ -2136,7 +2136,7 @@ get_lval(
|
||||
*/
|
||||
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)
|
||||
@ -2367,7 +2367,7 @@ tv_op(typval_T *tv1, typval_T *tv2, char_u *op)
|
||||
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)
|
||||
{
|
||||
@ -2385,9 +2385,9 @@ tv_op(typval_T *tv1, typval_T *tv2, char_u *op)
|
||||
#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;
|
||||
@ -2399,8 +2399,8 @@ tv_op(typval_T *tv1, typval_T *tv2, char_u *op)
|
||||
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;
|
||||
@ -2419,7 +2419,7 @@ tv_op(typval_T *tv1, typval_T *tv2, char_u *op)
|
||||
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
|
||||
@ -3271,7 +3271,7 @@ eval1(char_u **arg, typval_T *rettv, int evaluate)
|
||||
{
|
||||
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)
|
||||
@ -3345,7 +3345,7 @@ eval2(char_u **arg, typval_T *rettv, int evaluate)
|
||||
{
|
||||
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)
|
||||
@ -3365,7 +3365,7 @@ eval2(char_u **arg, typval_T *rettv, int evaluate)
|
||||
*/
|
||||
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)
|
||||
@ -3413,7 +3413,7 @@ eval3(char_u **arg, typval_T *rettv, int evaluate)
|
||||
{
|
||||
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)
|
||||
@ -3433,7 +3433,7 @@ eval3(char_u **arg, typval_T *rettv, int evaluate)
|
||||
*/
|
||||
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)
|
||||
@ -3622,7 +3622,7 @@ eval5(char_u **arg, typval_T *rettv, int evaluate)
|
||||
* 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;
|
||||
@ -3646,8 +3646,8 @@ eval5(char_u **arg, typval_T *rettv, int evaluate)
|
||||
*/
|
||||
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);
|
||||
@ -3686,7 +3686,7 @@ eval5(char_u **arg, typval_T *rettv, int evaluate)
|
||||
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
|
||||
@ -3709,7 +3709,7 @@ eval5(char_u **arg, typval_T *rettv, int evaluate)
|
||||
else
|
||||
#endif
|
||||
{
|
||||
n2 = get_tv_number_chk(&var2, &error);
|
||||
n2 = tv_get_number_chk(&var2, &error);
|
||||
if (error)
|
||||
{
|
||||
clear_tv(rettv);
|
||||
@ -3804,7 +3804,7 @@ eval6(
|
||||
}
|
||||
else
|
||||
#endif
|
||||
n1 = get_tv_number_chk(rettv, &error);
|
||||
n1 = tv_get_number_chk(rettv, &error);
|
||||
clear_tv(rettv);
|
||||
if (error)
|
||||
return FAIL;
|
||||
@ -3835,7 +3835,7 @@ eval6(
|
||||
else
|
||||
#endif
|
||||
{
|
||||
n2 = get_tv_number_chk(&var2, &error);
|
||||
n2 = tv_get_number_chk(&var2, &error);
|
||||
clear_tv(&var2);
|
||||
if (error)
|
||||
return FAIL;
|
||||
@ -4200,7 +4200,7 @@ eval7(
|
||||
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);
|
||||
@ -4326,7 +4326,7 @@ eval_index(
|
||||
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);
|
||||
@ -4348,7 +4348,7 @@ eval_index(
|
||||
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)
|
||||
@ -4376,7 +4376,7 @@ eval_index(
|
||||
n1 = 0;
|
||||
if (!empty1 && rettv->v_type != VAR_DICT)
|
||||
{
|
||||
n1 = get_tv_number(&var1);
|
||||
n1 = tv_get_number(&var1);
|
||||
clear_tv(&var1);
|
||||
}
|
||||
if (range)
|
||||
@ -4385,7 +4385,7 @@ eval_index(
|
||||
n2 = -1;
|
||||
else
|
||||
{
|
||||
n2 = get_tv_number(&var2);
|
||||
n2 = tv_get_number(&var2);
|
||||
clear_tv(&var2);
|
||||
}
|
||||
}
|
||||
@ -4403,7 +4403,7 @@ eval_index(
|
||||
|
||||
case VAR_NUMBER:
|
||||
case VAR_STRING:
|
||||
s = get_tv_string(rettv);
|
||||
s = tv_get_string(rettv);
|
||||
len = (long)STRLEN(s);
|
||||
if (range)
|
||||
{
|
||||
@ -4504,7 +4504,7 @@ eval_index(
|
||||
|
||||
if (len == -1)
|
||||
{
|
||||
key = get_tv_string_chk(&var1);
|
||||
key = tv_get_string_chk(&var1);
|
||||
if (key == NULL)
|
||||
{
|
||||
clear_tv(&var1);
|
||||
@ -4974,8 +4974,8 @@ tv_equal(
|
||||
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:
|
||||
@ -5652,13 +5652,13 @@ echo_string_core(
|
||||
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);
|
||||
@ -5913,7 +5913,7 @@ var2fpos(
|
||||
return &pos;
|
||||
}
|
||||
|
||||
name = get_tv_string_chk(varp);
|
||||
name = tv_get_string_chk(varp);
|
||||
if (name == NULL)
|
||||
return NULL;
|
||||
if (name[0] == '.') /* cursor */
|
||||
@ -6363,7 +6363,7 @@ get_vim_var_nr(int idx)
|
||||
char_u *
|
||||
get_vim_var_str(int idx)
|
||||
{
|
||||
return get_tv_string(&vimvars[idx].vv_tv);
|
||||
return tv_get_string(&vimvars[idx].vv_tv);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -6936,20 +6936,20 @@ init_tv(typval_T *varp)
|
||||
* 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;
|
||||
|
||||
@ -6991,7 +6991,7 @@ get_tv_number_chk(typval_T *varp, int *denote)
|
||||
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 */
|
||||
@ -7003,7 +7003,7 @@ get_tv_number_chk(typval_T *varp, int *denote)
|
||||
|
||||
#ifdef FEAT_FLOAT
|
||||
float_T
|
||||
get_tv_float(typval_T *varp)
|
||||
tv_get_float(typval_T *varp)
|
||||
{
|
||||
switch (varp->v_type)
|
||||
{
|
||||
@ -7038,7 +7038,7 @@ get_tv_float(typval_T *varp)
|
||||
break;
|
||||
# endif
|
||||
case VAR_UNKNOWN:
|
||||
internal_error("get_tv_float(UNKNOWN)");
|
||||
internal_error("tv_get_float(UNKNOWN)");
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
@ -7048,25 +7048,25 @@ get_tv_float(typval_T *varp)
|
||||
/*
|
||||
* 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 *)"";
|
||||
}
|
||||
@ -7075,15 +7075,15 @@ get_tv_string_buf(typval_T *varp, char_u *buf)
|
||||
* 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)
|
||||
{
|
||||
@ -7298,7 +7298,7 @@ find_var_ht(char_u *name, char_u **varname)
|
||||
|
||||
/*
|
||||
* 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 *
|
||||
@ -7309,7 +7309,7 @@ get_var_value(char_u *name)
|
||||
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);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -7544,7 +7544,7 @@ set_var(
|
||||
{
|
||||
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. */
|
||||
@ -7555,7 +7555,7 @@ set_var(
|
||||
}
|
||||
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
|
||||
@ -7894,7 +7894,7 @@ get_user_input(
|
||||
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];
|
||||
@ -7937,7 +7937,7 @@ get_user_input(
|
||||
|
||||
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);
|
||||
|
||||
@ -7950,7 +7950,7 @@ get_user_input(
|
||||
/* 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;
|
||||
|
||||
@ -7975,7 +7975,7 @@ get_user_input(
|
||||
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);
|
||||
@ -8142,7 +8142,7 @@ ex_execute(exarg_T *eap)
|
||||
|
||||
if (!eap->skip)
|
||||
{
|
||||
p = get_tv_string(&rettv);
|
||||
p = tv_get_string(&rettv);
|
||||
len = (int)STRLEN(p);
|
||||
if (ga_grow(&ga, len + 2) == FAIL)
|
||||
{
|
||||
@ -8205,7 +8205,7 @@ find_win_by_nr(
|
||||
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;
|
||||
@ -8234,7 +8234,7 @@ find_win_by_nr(
|
||||
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);
|
||||
@ -8257,7 +8257,7 @@ find_tabwin(
|
||||
{
|
||||
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);
|
||||
}
|
||||
@ -8292,11 +8292,11 @@ getwinvar(
|
||||
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;
|
||||
@ -8373,11 +8373,11 @@ setwinvar(typval_T *argvars, typval_T *rettv UNUSED, int off)
|
||||
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)
|
||||
@ -8393,8 +8393,8 @@ setwinvar(typval_T *argvars, typval_T *rettv UNUSED, int off)
|
||||
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);
|
||||
}
|
||||
@ -8697,7 +8697,7 @@ store_session_globals(FILE *fd)
|
||||
{
|
||||
/* 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;
|
||||
@ -8842,8 +8842,8 @@ assert_equalfile(typval_T *argvars)
|
||||
{
|
||||
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;
|
||||
@ -8914,8 +8914,8 @@ assert_match_common(typval_T *argvars, assert_type_T atype)
|
||||
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));
|
||||
@ -8936,9 +8936,9 @@ assert_inrange(typval_T *argvars)
|
||||
{
|
||||
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];
|
||||
@ -8980,7 +8980,7 @@ assert_bool(typval_T *argvars, int isTrue)
|
||||
&& 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);
|
||||
@ -9000,7 +9000,7 @@ assert_report(typval_T *argvars)
|
||||
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;
|
||||
@ -9010,7 +9010,7 @@ assert_report(typval_T *argvars)
|
||||
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)
|
||||
{
|
||||
@ -9036,7 +9036,7 @@ assert_exception(typval_T *argvars)
|
||||
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;
|
||||
|
||||
@ -9062,7 +9062,7 @@ assert_beeps(typval_T *argvars)
|
||||
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];
|
||||
@ -9091,7 +9091,7 @@ assert_fails(typval_T *argvars)
|
||||
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)
|
||||
@ -9325,11 +9325,11 @@ typval_compare(
|
||||
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)
|
||||
{
|
||||
@ -9353,8 +9353,8 @@ typval_compare(
|
||||
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;
|
||||
@ -9370,8 +9370,8 @@ typval_compare(
|
||||
}
|
||||
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
|
||||
@ -10220,10 +10220,10 @@ filter_map_one(typval_T *tv, typval_T *expr, int map, int *remp)
|
||||
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;
|
||||
}
|
||||
|
822
src/evalfunc.c
822
src/evalfunc.c
File diff suppressed because it is too large
Load Diff
@ -8913,7 +8913,7 @@ ex_oldfiles(exarg_T *eap UNUSED)
|
||||
for (li = l->lv_first; li != NULL && !got_int; li = li->li_next)
|
||||
{
|
||||
++nr;
|
||||
fname = get_tv_string(&li->li_tv);
|
||||
fname = tv_get_string(&li->li_tv);
|
||||
if (!message_filtered(fname))
|
||||
{
|
||||
msg_outnum((long)nr);
|
||||
|
@ -873,7 +873,7 @@ json_decode_item(js_read_T *reader, typval_T *res, int options)
|
||||
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);
|
||||
top_item->jd_key = tv_get_string_buf_chk(cur_item, key_buf);
|
||||
if (top_item->jd_key == NULL)
|
||||
{
|
||||
clear_tv(cur_item);
|
||||
|
@ -403,7 +403,7 @@ list_find_nr(
|
||||
*errorp = TRUE;
|
||||
return -1L;
|
||||
}
|
||||
return (long)get_tv_number_chk(&li->li_tv, errorp);
|
||||
return (long)tv_get_number_chk(&li->li_tv, errorp);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -420,7 +420,7 @@ list_find_str(list_T *l, long idx)
|
||||
EMSGN(_(e_listidx), idx);
|
||||
return NULL;
|
||||
}
|
||||
return get_tv_string(&li->li_tv);
|
||||
return tv_get_string(&li->li_tv);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -949,7 +949,7 @@ write_list(FILE *fd, list_T *list, int binary)
|
||||
|
||||
for (li = list->lv_first; li != NULL; li = li->li_next)
|
||||
{
|
||||
for (s = get_tv_string(&li->li_tv); *s != NUL; ++s)
|
||||
for (s = tv_get_string(&li->li_tv); *s != NUL; ++s)
|
||||
{
|
||||
if (*s == '\n')
|
||||
c = putc(NUL, fd);
|
||||
|
@ -4137,7 +4137,7 @@ tv_nr(typval_T *tvs, int *idxp)
|
||||
else
|
||||
{
|
||||
++*idxp;
|
||||
n = get_tv_number_chk(&tvs[idx], &err);
|
||||
n = tv_get_number_chk(&tvs[idx], &err);
|
||||
if (err)
|
||||
n = 0;
|
||||
}
|
||||
@ -4146,7 +4146,7 @@ tv_nr(typval_T *tvs, int *idxp)
|
||||
|
||||
/*
|
||||
* 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)
|
||||
* 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,7 +4167,7 @@ tv_str(typval_T *tvs, int *idxp, char_u **tofree)
|
||||
if (tofree != NULL)
|
||||
s = (char *)echo_string(&tvs[idx], tofree, numbuf, get_copyID());
|
||||
else
|
||||
s = (char *)get_tv_string_chk(&tvs[idx]);
|
||||
s = (char *)tv_get_string_chk(&tvs[idx]);
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
@ -6593,7 +6593,7 @@ build_argv_from_list(list_T *l, char ***argv, int *argc)
|
||||
*argc = 0;
|
||||
for (li = l->lv_first; li != NULL; li = li->li_next)
|
||||
{
|
||||
s = get_tv_string_chk(&li->li_tv);
|
||||
s = tv_get_string_chk(&li->li_tv);
|
||||
if (s == NULL)
|
||||
{
|
||||
int i;
|
||||
|
@ -1678,13 +1678,13 @@ x_IOerror_check(Display *dpy UNUSED)
|
||||
/*
|
||||
* An X IO Error handler, used to catch terminal errors.
|
||||
*/
|
||||
static int xterm_dpy_was_reset = FALSE;
|
||||
static int xterm_dpy_retry_count = 0;
|
||||
|
||||
static int
|
||||
x_IOerror_handler(Display *dpy UNUSED)
|
||||
{
|
||||
xterm_dpy = NULL;
|
||||
xterm_dpy_was_reset = TRUE;
|
||||
xterm_dpy_retry_count = 5; // Try reconnecting five times
|
||||
x11_window = 0;
|
||||
x11_display = NULL;
|
||||
xterm_Shell = (Widget)0;
|
||||
@ -1704,9 +1704,9 @@ x_IOerror_handler(Display *dpy UNUSED)
|
||||
static void
|
||||
may_restore_clipboard(void)
|
||||
{
|
||||
if (xterm_dpy_was_reset)
|
||||
if (xterm_dpy_retry_count > 0)
|
||||
{
|
||||
xterm_dpy_was_reset = FALSE;
|
||||
--xterm_dpy_retry_count;
|
||||
|
||||
# ifndef LESSTIF_VERSION
|
||||
/* This has been reported to avoid Vim getting stuck. */
|
||||
@ -5553,7 +5553,7 @@ mch_job_start(char **argv, job_T *job, jobopt_T *options, int is_terminal)
|
||||
{
|
||||
typval_T *item = &dict_lookup(hi)->di_tv;
|
||||
|
||||
vim_setenv((char_u*)hi->hi_key, get_tv_string(item));
|
||||
vim_setenv((char_u*)hi->hi_key, tv_get_string(item));
|
||||
--todo;
|
||||
}
|
||||
}
|
||||
@ -7494,6 +7494,8 @@ setup_term_clip(void)
|
||||
{
|
||||
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
|
||||
|
@ -5355,7 +5355,7 @@ win32_build_env(dict_T *env, garray_T *gap, int is_terminal)
|
||||
{
|
||||
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);
|
||||
WCHAR *wval = enc_to_utf16(tv_get_string(item), NULL);
|
||||
--todo;
|
||||
if (wkey != NULL && wval != NULL)
|
||||
{
|
||||
|
@ -1103,7 +1103,7 @@ ui_post_balloon(char_u *mesg, list_T *list)
|
||||
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);
|
||||
char_u *text = tv_get_string_chk(&li->li_tv);
|
||||
|
||||
balloon_array[idx].pum_text = vim_strsave(
|
||||
text == NULL ? (char_u *)"" : text);
|
||||
|
@ -82,13 +82,13 @@ typval_T *alloc_tv(void);
|
||||
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);
|
||||
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);
|
||||
|
@ -7566,7 +7566,7 @@ vim_regsub_both(
|
||||
/* fill_submatch_list() was called */
|
||||
clear_submatch_list(&matchList);
|
||||
|
||||
eval_result = get_tv_string_buf_chk(&rettv, buf);
|
||||
eval_result = tv_get_string_buf_chk(&rettv, buf);
|
||||
if (eval_result != NULL)
|
||||
eval_result = vim_strsave(eval_result);
|
||||
clear_tv(&rettv);
|
||||
|
@ -4212,7 +4212,7 @@ set_tagstack(win_T *wp, dict_T *d, int action)
|
||||
}
|
||||
|
||||
if ((di = dict_find(d, (char_u *)"curidx", -1)) != NULL)
|
||||
tagstack_set_curidx(wp, (int)get_tv_number(&di->di_tv) - 1);
|
||||
tagstack_set_curidx(wp, (int)tv_get_number(&di->di_tv) - 1);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
@ -496,7 +496,7 @@ term_start(
|
||||
else if (argvar->v_type != VAR_LIST
|
||||
|| argvar->vval.v_list == NULL
|
||||
|| argvar->vval.v_list->lv_len < 1
|
||||
|| (cmd = get_tv_string_chk(
|
||||
|| (cmd = tv_get_string_chk(
|
||||
&argvar->vval.v_list->lv_first->li_tv)) == NULL)
|
||||
cmd = (char_u*)"";
|
||||
|
||||
@ -569,7 +569,7 @@ term_start(
|
||||
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 *s = tv_get_string_chk(&item->li_tv);
|
||||
char_u *p;
|
||||
|
||||
if (s == NULL)
|
||||
@ -1913,7 +1913,7 @@ term_paste_register(int prev_c UNUSED)
|
||||
type = get_reg_type(c, ®len);
|
||||
for (item = l->lv_first; item != NULL; item = item->li_next)
|
||||
{
|
||||
char_u *s = get_tv_string(&item->li_tv);
|
||||
char_u *s = tv_get_string(&item->li_tv);
|
||||
#ifdef WIN3264
|
||||
char_u *tmp = s;
|
||||
|
||||
@ -3455,7 +3455,7 @@ set_ansi_colors_list(VTerm *vterm, list_T *list)
|
||||
char_u *color_name;
|
||||
guicolor_T guicolor;
|
||||
|
||||
color_name = get_tv_string_chk(&li->li_tv);
|
||||
color_name = tv_get_string_chk(&li->li_tv);
|
||||
if (color_name == NULL)
|
||||
return FAIL;
|
||||
|
||||
@ -3497,7 +3497,7 @@ init_vterm_ansi_colors(VTerm *vterm)
|
||||
static void
|
||||
handle_drop_command(listitem_T *item)
|
||||
{
|
||||
char_u *fname = get_tv_string(&item->li_tv);
|
||||
char_u *fname = tv_get_string(&item->li_tv);
|
||||
listitem_T *opt_item = item->li_next;
|
||||
int bufnr;
|
||||
win_T *wp;
|
||||
@ -3589,7 +3589,7 @@ handle_call_command(term_T *term, channel_T *channel, listitem_T *item)
|
||||
ch_log(channel, "Missing function arguments for call");
|
||||
return;
|
||||
}
|
||||
func = get_tv_string(&item->li_tv);
|
||||
func = tv_get_string(&item->li_tv);
|
||||
|
||||
if (STRNCMP(func, "Tapi_", 5) != 0)
|
||||
{
|
||||
@ -3645,7 +3645,7 @@ parse_osc(const char *command, size_t cmdlen, void *user)
|
||||
ch_log(channel, "Missing command");
|
||||
else
|
||||
{
|
||||
char_u *cmd = get_tv_string(&item->li_tv);
|
||||
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,7 +3826,7 @@ term_get_buf(typval_T *argvars, char *where)
|
||||
{
|
||||
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;
|
||||
@ -3921,7 +3921,7 @@ f_term_dumpwrite(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
}
|
||||
}
|
||||
|
||||
fname = get_tv_string_chk(&argvars[1]);
|
||||
fname = tv_get_string_chk(&argvars[1]);
|
||||
if (fname == NULL)
|
||||
return;
|
||||
if (mch_stat((char *)fname, &st) >= 0)
|
||||
@ -4370,9 +4370,9 @@ term_load_dump(typval_T *argvars, typval_T *rettv, int do_diff)
|
||||
char_u *textline = NULL;
|
||||
|
||||
/* First open the files. If this fails bail out. */
|
||||
fname1 = get_tv_string_buf_chk(&argvars[0], buf1);
|
||||
fname1 = tv_get_string_buf_chk(&argvars[0], buf1);
|
||||
if (do_diff)
|
||||
fname2 = get_tv_string_buf_chk(&argvars[1], buf2);
|
||||
fname2 = tv_get_string_buf_chk(&argvars[1], buf2);
|
||||
if (fname1 == NULL || (do_diff && fname2 == NULL))
|
||||
{
|
||||
EMSG(_(e_invarg));
|
||||
@ -4740,8 +4740,8 @@ f_term_getattr(typval_T *argvars, typval_T *rettv)
|
||||
{"reverse", HL_INVERSE},
|
||||
};
|
||||
|
||||
attr = get_tv_number(&argvars[0]);
|
||||
name = get_tv_string_chk(&argvars[1]);
|
||||
attr = tv_get_number(&argvars[0]);
|
||||
name = tv_get_string_chk(&argvars[1]);
|
||||
if (name == NULL)
|
||||
return;
|
||||
|
||||
@ -4811,7 +4811,7 @@ get_row_number(typval_T *tv, term_T *term)
|
||||
&& tv->vval.v_string != NULL
|
||||
&& STRCMP(tv->vval.v_string, ".") == 0)
|
||||
return term->tl_cursor_pos.row;
|
||||
return (int)get_tv_number(tv) - 1;
|
||||
return (int)tv_get_number(tv) - 1;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -4911,9 +4911,9 @@ f_term_setsize(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
|
||||
if (buf->b_term->tl_vterm == NULL)
|
||||
return;
|
||||
term = buf->b_term;
|
||||
rows = get_tv_number(&argvars[1]);
|
||||
rows = tv_get_number(&argvars[1]);
|
||||
rows = rows <= 0 ? term->tl_rows : rows;
|
||||
cols = get_tv_number(&argvars[2]);
|
||||
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,7 +4977,7 @@ f_term_gettty(typval_T *argvars, typval_T *rettv)
|
||||
if (buf == NULL)
|
||||
return;
|
||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||
num = get_tv_number(&argvars[1]);
|
||||
num = tv_get_number(&argvars[1]);
|
||||
|
||||
switch (num)
|
||||
{
|
||||
@ -4990,7 +4990,7 @@ f_term_gettty(typval_T *argvars, typval_T *rettv)
|
||||
p = buf->b_term->tl_job->jv_tty_in;
|
||||
break;
|
||||
default:
|
||||
EMSG2(_(e_invarg2), get_tv_string(&argvars[1]));
|
||||
EMSG2(_(e_invarg2), tv_get_string(&argvars[1]));
|
||||
return;
|
||||
}
|
||||
if (p != NULL)
|
||||
@ -5139,7 +5139,7 @@ f_term_sendkeys(typval_T *argvars, typval_T *rettv)
|
||||
if (buf == NULL)
|
||||
return;
|
||||
|
||||
msg = get_tv_string_chk(&argvars[1]);
|
||||
msg = tv_get_string_chk(&argvars[1]);
|
||||
if (msg == NULL)
|
||||
return;
|
||||
term = buf->b_term;
|
||||
@ -5241,7 +5241,7 @@ f_term_setrestore(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
|
||||
return;
|
||||
term = buf->b_term;
|
||||
vim_free(term->tl_command);
|
||||
cmd = get_tv_string_chk(&argvars[1]);
|
||||
cmd = tv_get_string_chk(&argvars[1]);
|
||||
if (cmd != NULL)
|
||||
term->tl_command = vim_strsave(cmd);
|
||||
else
|
||||
@ -5263,7 +5263,7 @@ f_term_setkill(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
|
||||
return;
|
||||
term = buf->b_term;
|
||||
vim_free(term->tl_kill);
|
||||
how = get_tv_string_chk(&argvars[1]);
|
||||
how = tv_get_string_chk(&argvars[1]);
|
||||
if (how != NULL)
|
||||
term->tl_kill = vim_strsave(how);
|
||||
else
|
||||
@ -5347,7 +5347,7 @@ f_term_wait(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
|
||||
/* Wait for some time for any channel I/O. */
|
||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||
wait = get_tv_number(&argvars[1]);
|
||||
wait = tv_get_number(&argvars[1]);
|
||||
ui_delay(wait, TRUE);
|
||||
mch_check_messages();
|
||||
|
||||
|
@ -154,8 +154,8 @@ f_prop_add(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
textprop_T tmp_prop;
|
||||
int i;
|
||||
|
||||
lnum = get_tv_number(&argvars[0]);
|
||||
col = get_tv_number(&argvars[1]);
|
||||
lnum = tv_get_number(&argvars[0]);
|
||||
col = tv_get_number(&argvars[1]);
|
||||
if (col < 1)
|
||||
{
|
||||
EMSGN(_(e_invalid_col), (long)col);
|
||||
@ -352,14 +352,14 @@ text_prop_type_by_id(buf_T *buf, int id)
|
||||
void
|
||||
f_prop_clear(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
{
|
||||
linenr_T start = get_tv_number(&argvars[0]);
|
||||
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 = get_tv_number(&argvars[1]);
|
||||
end = tv_get_number(&argvars[1]);
|
||||
if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
{
|
||||
if (get_bufnr_from_arg(&argvars[2], &buf) == FAIL)
|
||||
@ -405,7 +405,7 @@ f_prop_clear(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
void
|
||||
f_prop_list(typval_T *argvars, typval_T *rettv)
|
||||
{
|
||||
linenr_T lnum = get_tv_number(&argvars[0]);
|
||||
linenr_T lnum = tv_get_number(&argvars[0]);
|
||||
buf_T *buf = curbuf;
|
||||
|
||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||
@ -476,10 +476,10 @@ f_prop_remove(typval_T *argvars, typval_T *rettv)
|
||||
|
||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||
{
|
||||
start = get_tv_number(&argvars[1]);
|
||||
start = tv_get_number(&argvars[1]);
|
||||
end = start;
|
||||
if (argvars[2].v_type != VAR_UNKNOWN)
|
||||
end = get_tv_number(&argvars[2]);
|
||||
end = tv_get_number(&argvars[2]);
|
||||
if (start < 1 || end < 1)
|
||||
{
|
||||
EMSG(_(e_invrange));
|
||||
@ -586,7 +586,7 @@ prop_type_set(typval_T *argvars, int add)
|
||||
dictitem_T *di;
|
||||
proptype_T *prop;
|
||||
|
||||
name = get_tv_string(&argvars[0]);
|
||||
name = tv_get_string(&argvars[0]);
|
||||
if (*name == NUL)
|
||||
{
|
||||
EMSG(_(e_invarg));
|
||||
@ -656,12 +656,12 @@ prop_type_set(typval_T *argvars, int add)
|
||||
|
||||
di = dict_find(dict, (char_u *)"priority", -1);
|
||||
if (di != NULL)
|
||||
prop->pt_priority = get_tv_number(&di->di_tv);
|
||||
prop->pt_priority = tv_get_number(&di->di_tv);
|
||||
|
||||
di = dict_find(dict, (char_u *)"start_incl", -1);
|
||||
if (di != NULL)
|
||||
{
|
||||
if (get_tv_number(&di->di_tv))
|
||||
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,7 +670,7 @@ prop_type_set(typval_T *argvars, int add)
|
||||
di = dict_find(dict, (char_u *)"end_incl", -1);
|
||||
if (di != NULL)
|
||||
{
|
||||
if (get_tv_number(&di->di_tv))
|
||||
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,7 +706,7 @@ f_prop_type_delete(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
buf_T *buf = NULL;
|
||||
hashitem_T *hi;
|
||||
|
||||
name = get_tv_string(&argvars[0]);
|
||||
name = tv_get_string(&argvars[0]);
|
||||
if (*name == NUL)
|
||||
{
|
||||
EMSG(_(e_invarg));
|
||||
@ -740,7 +740,7 @@ f_prop_type_delete(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
void
|
||||
f_prop_type_get(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
{
|
||||
char_u *name = get_tv_string(&argvars[0]);
|
||||
char_u *name = tv_get_string(&argvars[0]);
|
||||
|
||||
if (*name == NUL)
|
||||
{
|
||||
|
@ -799,6 +799,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
615,
|
||||
/**/
|
||||
614,
|
||||
/**/
|
||||
|
20
src/window.c
20
src/window.c
@ -6867,7 +6867,7 @@ match_add(
|
||||
subli = subl->lv_first;
|
||||
if (subli == NULL)
|
||||
goto fail;
|
||||
lnum = get_tv_number_chk(&subli->li_tv, &error);
|
||||
lnum = tv_get_number_chk(&subli->li_tv, &error);
|
||||
if (error == TRUE)
|
||||
goto fail;
|
||||
if (lnum == 0)
|
||||
@ -6879,13 +6879,13 @@ match_add(
|
||||
subli = subli->li_next;
|
||||
if (subli != NULL)
|
||||
{
|
||||
col = get_tv_number_chk(&subli->li_tv, &error);
|
||||
col = tv_get_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);
|
||||
len = tv_get_number_chk(&subli->li_tv, &error);
|
||||
if (error == TRUE)
|
||||
goto fail;
|
||||
}
|
||||
@ -7132,7 +7132,7 @@ win_getid(typval_T *argvars)
|
||||
|
||||
if (argvars[0].v_type == VAR_UNKNOWN)
|
||||
return curwin->w_id;
|
||||
winnr = get_tv_number(&argvars[0]);
|
||||
winnr = tv_get_number(&argvars[0]);
|
||||
if (winnr > 0)
|
||||
{
|
||||
if (argvars[1].v_type == VAR_UNKNOWN)
|
||||
@ -7140,7 +7140,7 @@ win_getid(typval_T *argvars)
|
||||
else
|
||||
{
|
||||
tabpage_T *tp;
|
||||
int tabnr = get_tv_number(&argvars[1]);
|
||||
int tabnr = tv_get_number(&argvars[1]);
|
||||
|
||||
FOR_ALL_TABPAGES(tp)
|
||||
if (--tabnr == 0)
|
||||
@ -7164,7 +7164,7 @@ win_gotoid(typval_T *argvars)
|
||||
{
|
||||
win_T *wp;
|
||||
tabpage_T *tp;
|
||||
int id = get_tv_number(&argvars[0]);
|
||||
int id = tv_get_number(&argvars[0]);
|
||||
|
||||
FOR_ALL_TAB_WINDOWS(tp, wp)
|
||||
if (wp->w_id == id)
|
||||
@ -7182,7 +7182,7 @@ win_id2tabwin(typval_T *argvars, list_T *list)
|
||||
tabpage_T *tp;
|
||||
int winnr = 1;
|
||||
int tabnr = 1;
|
||||
int id = get_tv_number(&argvars[0]);
|
||||
int id = tv_get_number(&argvars[0]);
|
||||
|
||||
FOR_ALL_TABPAGES(tp)
|
||||
{
|
||||
@ -7208,7 +7208,7 @@ win_id2wp(typval_T *argvars)
|
||||
{
|
||||
win_T *wp;
|
||||
tabpage_T *tp;
|
||||
int id = get_tv_number(&argvars[0]);
|
||||
int id = tv_get_number(&argvars[0]);
|
||||
|
||||
FOR_ALL_TAB_WINDOWS(tp, wp)
|
||||
if (wp->w_id == id)
|
||||
@ -7222,7 +7222,7 @@ win_id2win(typval_T *argvars)
|
||||
{
|
||||
win_T *wp;
|
||||
int nr = 1;
|
||||
int id = get_tv_number(&argvars[0]);
|
||||
int id = tv_get_number(&argvars[0]);
|
||||
|
||||
FOR_ALL_WINDOWS(wp)
|
||||
{
|
||||
@ -7238,7 +7238,7 @@ win_findbuf(typval_T *argvars, list_T *list)
|
||||
{
|
||||
win_T *wp;
|
||||
tabpage_T *tp;
|
||||
int bufnr = get_tv_number(&argvars[0]);
|
||||
int bufnr = tv_get_number(&argvars[0]);
|
||||
|
||||
FOR_ALL_TAB_WINDOWS(tp, wp)
|
||||
if (wp->w_buffer->b_fnum == bufnr)
|
||||
|
Loading…
x
Reference in New Issue
Block a user