diff options
Diffstat (limited to 'src/eval.c')
-rw-r--r-- | src/eval.c | 40 |
1 files changed, 36 insertions, 4 deletions
diff --git a/src/eval.c b/src/eval.c index 2dbbb222c..3cb3bd7e1 100644 --- a/src/eval.c +++ b/src/eval.c @@ -612,6 +612,7 @@ static void f_synIDtrans __ARGS((typval_T *argvars, typval_T *rettv)); static void f_system __ARGS((typval_T *argvars, typval_T *rettv)); static void f_taglist __ARGS((typval_T *argvars, typval_T *rettv)); static void f_tempname __ARGS((typval_T *argvars, typval_T *rettv)); +static void f_test __ARGS((typval_T *argvars, typval_T *rettv)); static void f_tolower __ARGS((typval_T *argvars, typval_T *rettv)); static void f_toupper __ARGS((typval_T *argvars, typval_T *rettv)); static void f_tr __ARGS((typval_T *argvars, typval_T *rettv)); @@ -6849,6 +6850,7 @@ static struct fst {"system", 1, 2, f_system}, {"taglist", 1, 1, f_taglist}, {"tempname", 0, 0, f_tempname}, + {"test", 1, 1, f_test}, {"tolower", 1, 1, f_tolower}, {"toupper", 1, 1, f_toupper}, {"tr", 3, 3, f_tr}, @@ -11952,7 +11954,7 @@ f_printf(argvars, rettv) { rettv->v_type = VAR_STRING; rettv->vval.v_string = NULL; -#ifdef HAVE_STDARG_H +#ifdef HAVE_STDARG_H /* only very old compilers can't do this */ { char_u buf[NUMBUFLEN]; int len; @@ -11961,10 +11963,8 @@ f_printf(argvars, rettv) char *fmt; va_list ap; /* dummy */ -# ifdef LINT - /* avoid warning for "ap" used before set; it is unused. */ + /* Avoid warning for "ap" used before set; it's unused. */ va_start(ap, rettv); -# endif /* Get the required length, allocate the buffer and do it for real. */ did_emsg = FALSE; @@ -14490,6 +14490,38 @@ f_tempname(argvars, rettv) } /* + * "test(list)" function: Just checking the walls... + */ +/*ARGSUSED*/ + static void +f_test(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + /* Used for unit testing. Change the code below to your liking. */ +#if 0 + listitem_T *li; + list_T *l; + char_u *bad, *good; + + if (argvars[0].v_type != VAR_LIST) + return; + l = argvars[0].vval.v_list; + if (l == NULL) + return; + li = l->lv_first; + if (li == NULL) + return; + bad = get_tv_string(&li->li_tv); + li = li->li_next; + if (li == NULL) + return; + good = get_tv_string(&li->li_tv); + rettv->vval.v_number = test_edit_score(bad, good); +#endif +} + +/* * "tolower(string)" function */ static void |