typval_T tv;
char_u *retval;
garray_T ga;
+#ifdef FEAT_FLOAT
char_u numbuf[NUMBUFLEN];
+#endif
if (eval0(arg, &tv, nextcmd, TRUE) == FAIL)
retval = NULL;
/* execute the function if no errors detected and executing */
if (evaluate && error == ERROR_NONE)
{
- rettv->v_type = VAR_NUMBER; /* default is number rettv */
+ rettv->v_type = VAR_NUMBER; /* default rettv is number zero */
+ rettv->vval.v_number = 0;
error = ERROR_UNKNOWN;
if (!builtin_function(fname))
return;
li = l->lv_first;
}
- rettv->vval.v_number = 0; /* Default: Success */
for (;;)
{
if (l == NULL)
int dummy;
dict_T *selfdict = NULL;
- rettv->vval.v_number = 0;
if (argvars[1].v_type != VAR_LIST)
{
EMSG(_(e_listreq));
if (buttons == NULL || *buttons == NUL)
buttons = (char_u *)_("&Ok");
- if (error)
- rettv->vval.v_number = 0;
- else
+ if (!error)
rettv->vval.v_number = do_dialog(type, NULL, message, buttons,
def, NULL);
-#else
- rettv->vval.v_number = 0;
#endif
}
}
rettv->vval.v_number = cs_connection(num, dbpath, prepend);
-#else
- rettv->vval.v_number = 0;
#endif
}
/*
* "cursor(lnum, col)" function
*
- * Moves the cursor to the specified line and column
+ * Moves the cursor to the specified line and column.
+ * Returns 0 when the position could be set, -1 otherwise.
*/
/*ARGSUSED*/
static void
long coladd = 0;
#endif
+ rettv->vval.v_number = -1;
if (argvars[1].v_type == VAR_UNKNOWN)
{
pos_T pos;
#endif
curwin->w_set_curswant = TRUE;
+ rettv->vval.v_number = 0;
}
/*
{
#ifdef FEAT_AUTOCMD
rettv->vval.v_number = did_filetype;
-#else
- rettv->vval.v_number = 0;
#endif
}
typval_T *argvars;
typval_T *rettv;
{
- rettv->vval.v_number = 0;
if (argvars[0].v_type == VAR_LIST && argvars[1].v_type == VAR_LIST)
{
list_T *l1, *l2;
if (check_secure())
return;
- rettv->vval.v_number = 0;
keys = get_tv_string(&argvars[0]);
if (*keys != NUL)
{
char_u *ermsg = map ? (char_u *)"map()" : (char_u *)"filter()";
int save_did_emsg;
- rettv->vval.v_number = 0;
if (argvars[0].v_type == VAR_LIST)
{
if ((l = argvars[0].vval.v_list) == NULL
else
rettv->vval.v_number = (varnumber_T)f;
}
- else
- rettv->vval.v_number = 0;
}
/*
lnum = get_tv_lnum(argvars);
if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count)
rettv->vval.v_number = foldLevel(lnum);
- else
#endif
- rettv->vval.v_number = 0;
}
/*
typval_T *argvars;
typval_T *rettv;
{
- rettv->vval.v_number = 0;
#ifdef FEAT_GUI
if (gui.in_use)
gui_mch_set_foreground();
{
char_u *s;
- rettv->vval.v_number = 0;
s = get_tv_string(&argvars[0]);
if (s == NULL || *s == NUL || VIM_ISDIGIT(*s))
EMSG2(_(e_invarg2), s);
if (tv == NULL)
{
- if (argvars[2].v_type == VAR_UNKNOWN)
- rettv->vval.v_number = 0;
- else
+ if (argvars[2].v_type != VAR_UNKNOWN)
copy_tv(&argvars[2], rettv);
}
else
{
char_u *p;
- if (retlist)
- {
- if (rettv_list_alloc(rettv) == FAIL)
- return;
- }
- else
- rettv->vval.v_number = 0;
+ if (retlist && rettv_list_alloc(rettv) == FAIL)
+ return;
if (buf == NULL || buf->b_ml.ml_mfp == NULL || start < 0)
return;
dict_T *dict;
matchitem_T *cur = curwin->w_match_head;
- rettv->vval.v_number = 0;
-
if (rettv_list_alloc(rettv) == OK)
{
while (cur != NULL)
win_T *wp;
#endif
- rettv->vval.v_number = 0;
#ifdef FEAT_QUICKFIX
if (rettv_list_alloc(rettv) == OK)
{
typval_T *argvars;
typval_T *rettv;
{
- rettv->vval.v_number = 0;
if (argvars[0].v_type != VAR_DICT)
{
EMSG(_(e_dictreq));
n = del_history_entry(get_histtype(str),
get_tv_string_buf(&argvars[1], buf));
rettv->vval.v_number = n;
-#else
- rettv->vval.v_number = 0;
#endif
}
int selected;
int mouse_used;
- rettv->vval.v_number = 0;
#ifdef NO_CONSOLE_INPUT
/* While starting up, there is no place to enter text. */
if (no_console_input())
--ga_userinput.ga_len;
restore_typeahead((tasave_T *)(ga_userinput.ga_data)
+ ga_userinput.ga_len);
- rettv->vval.v_number = 0; /* OK */
+ /* default return is zero == OK */
}
else if (p_verbose > 1)
{
save_typeahead((tasave_T *)(ga_userinput.ga_data)
+ ga_userinput.ga_len);
++ga_userinput.ga_len;
- rettv->vval.v_number = 0; /* OK */
+ /* default return is zero == OK */
}
else
rettv->vval.v_number = 1; /* Failed */
list_T *l;
int error = FALSE;
- rettv->vval.v_number = 0;
if (argvars[0].v_type != VAR_LIST)
EMSG2(_(e_listarg), "insert()");
else if ((l = argvars[0].vval.v_list) != NULL
dict_T *d;
int todo;
- rettv->vval.v_number = 0;
if (argvars[0].v_type != VAR_DICT)
{
EMSG(_(e_dictreq));
garray_T ga;
char_u *sep;
- rettv->vval.v_number = 0;
if (argvars[0].v_type != VAR_LIST)
{
EMSG(_(e_listreq));
#endif
rettv->v_type = type;
- if (type == VAR_NUMBER)
- rettv->vval.v_number = 0;
- else
+ if (type != VAR_NUMBER)
rettv->vval.v_string = NULL;
if (check_restricted() || check_secure())
typval_T *argvars;
typval_T *rettv;
{
- rettv->vval.v_number = 0;
#ifdef FEAT_INS_EXPAND
if (pum_visible())
rettv->vval.v_number = 1;
stride = get_tv_number_chk(&argvars[2], &error);
}
- rettv->vval.v_number = 0;
if (error)
return; /* type error; errmsg already given */
if (stride == 0)
typval_T *argvars;
typval_T *rettv;
{
- rettv->vval.v_number = 0;
#ifdef FEAT_CLIENTSERVER
# ifdef WIN32
/* On Win32 it's done in this application. */
rettv->vval.v_number = (s != NULL);
}
# else
- rettv->vval.v_number = 0;
if (check_connection() == FAIL)
return;
dict_T *d;
dictitem_T *di;
- rettv->vval.v_number = 0;
if (argvars[0].v_type == VAR_DICT)
{
if (argvars[2].v_type != VAR_UNKNOWN)
list_T *l;
listitem_T *li, *ni;
- rettv->vval.v_number = 0;
if (argvars[0].v_type != VAR_LIST)
EMSG2(_(e_listarg), "reverse()");
else if ((l = argvars[0].vval.v_list) != NULL
int lnum = 0;
int col = 0;
- rettv->vval.v_number = 0;
-
if (rettv_list_alloc(rettv) == FAIL)
return;
int n;
int flags = 0;
- rettv->vval.v_number = 0;
-
if (rettv_list_alloc(rettv) == FAIL)
return;
typval_T *varp;
char_u nbuf[NUMBUFLEN];
- rettv->vval.v_number = 0;
-
if (check_restricted() || check_secure())
return;
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
else
line = get_tv_string_chk(&argvars[1]);
- rettv->vval.v_number = 0; /* OK */
+ /* default result is zero == OK */
for (;;)
{
if (l != NULL)
/*
* "setwinvar()" and "settabwinvar()" functions
*/
+/*ARGSUSED*/
static void
setwinvar(argvars, rettv, off)
typval_T *argvars;
char_u nbuf[NUMBUFLEN];
tabpage_T *tp;
- rettv->vval.v_number = 0;
-
if (check_restricted() || check_secure())
return;
long len;
long i;
- rettv->vval.v_number = 0;
if (argvars[0].v_type != VAR_LIST)
EMSG2(_(e_listarg), "sort()");
else
typval_T *argvars;
typval_T *rettv;
{
-#ifndef FEAT_WINDOWS
- rettv->vval.v_number = 0;
-#else
+#ifdef FEAT_WINDOWS
tabpage_T *tp;
win_T *wp = NULL;
if (tp != NULL)
wp = (tp == curtab) ? firstwin : tp->tp_firstwin;
}
- if (wp == NULL)
- rettv->vval.v_number = 0;
- else
+ if (wp != NULL && rettv_list_alloc(rettv) != FAIL)
{
- if (rettv_list_alloc(rettv) == FAIL)
- rettv->vval.v_number = 0;
- else
- {
- for (; wp != NULL; wp = wp->w_next)
- if (list_append_number(rettv->vval.v_list,
+ for (; wp != NULL; wp = wp->w_next)
+ if (list_append_number(rettv->vval.v_list,
wp->w_buffer->b_fnum) == FAIL)
- break;
- }
+ break;
}
#endif
}
int first;
if (rettv_list_alloc(rettv) == FAIL)
- {
- rettv->vval.v_number = 0;
return;
- }
for (first = TRUE; ; first = FALSE)
if (get_tagfname(&tn, first, fname) == FAIL
/* A non-zero number or non-empty string argument: reset mode. */
if (non_zero_arg(&argvars[0]))
curbuf->b_visual_mode_eval = NUL;
-#else
- rettv->vval.v_number = 0; /* return anything, it won't work anyway */
#endif
}