Mercurial > vim
diff src/eval.c @ 4133:36fd800b8c6c v7.3.819
updated for version 7.3.819
Problem: Compiling without +eval and with Python isn't working.
Solution: Add the eval feature when building with Python.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Thu, 14 Feb 2013 22:11:39 +0100 |
parents | 2b340e5c5baa |
children | f5ef9b9c18cd |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -917,7 +917,9 @@ eval_clear() hash_clear(&compat_hashtab); free_scriptnames(); +# if defined(FEAT_CMDL_COMPL) free_locales(); +# endif /* global variables */ vars_clear(&globvarht); @@ -1561,8 +1563,6 @@ eval_expr(arg, nextcmd) } -#if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) \ - || defined(FEAT_COMPL_FUNC) || defined(PROTO) /* * Call some vimL function and return the result in "*rettv". * Uses argv[argc] for the function arguments. Only Number and String @@ -1640,6 +1640,33 @@ call_vim_function(func, argc, argv, safe return ret; } +/* + * Call vimL function "func" and return the result as a number. + * Returns -1 when calling the function fails. + * Uses argv[argc] for the function arguments. + */ + long +call_func_retnr(func, argc, argv, safe) + char_u *func; + int argc; + char_u **argv; + int safe; /* use the sandbox */ +{ + typval_T rettv; + long retval; + + /* All arguments are passed as strings, no conversion to number. */ + if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL) + return -1; + + retval = get_tv_number_chk(&rettv, NULL); + clear_tv(&rettv); + return retval; +} + +#if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) \ + || defined(FEAT_COMPL_FUNC) || defined(PROTO) + # if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) || defined(PROTO) /* * Call vimL function "func" and return the result as a string. @@ -1666,32 +1693,6 @@ call_func_retstr(func, argc, argv, safe) } # endif -# if defined(FEAT_COMPL_FUNC) || defined(PROTO) -/* - * Call vimL function "func" and return the result as a number. - * Returns -1 when calling the function fails. - * Uses argv[argc] for the function arguments. - */ - long -call_func_retnr(func, argc, argv, safe) - char_u *func; - int argc; - char_u **argv; - int safe; /* use the sandbox */ -{ - typval_T rettv; - long retval; - - /* All arguments are passed as strings, no conversion to number. */ - if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL) - return -1; - - retval = get_tv_number_chk(&rettv, NULL); - clear_tv(&rettv); - return retval; -} -# endif - /* * Call vimL function "func" and return the result as a List. * Uses argv[argc] for the function arguments. @@ -1720,7 +1721,6 @@ call_func_retlist(func, argc, argv, safe } #endif - /* * Save the current function call pointer, and set it to NULL. * Used when executing autocommands and for ":source". @@ -9330,7 +9330,7 @@ f_char2nr(argvars, rettv) */ static void f_cindent(argvars, rettv) - typval_T *argvars; + typval_T *argvars UNUSED; typval_T *rettv; { #ifdef FEAT_CINDENT @@ -10379,9 +10379,9 @@ static void findfilendir __ARGS((typval_ static void findfilendir(argvars, rettv, find_what) - typval_T *argvars; - typval_T *rettv; - int find_what; + typval_T *argvars UNUSED; + typval_T *rettv; + int find_what UNUSED; { #ifdef FEAT_SEARCHPATH char_u *fname; @@ -10751,9 +10751,9 @@ static void foldclosed_both __ARGS((typv */ static void foldclosed_both(argvars, rettv, end) - typval_T *argvars; - typval_T *rettv; - int end; + typval_T *argvars UNUSED; + typval_T *rettv; + int end UNUSED; { #ifdef FEAT_FOLDING linenr_T lnum; @@ -10802,8 +10802,8 @@ f_foldclosedend(argvars, rettv) */ static void f_foldlevel(argvars, rettv) - typval_T *argvars; - typval_T *rettv; + typval_T *argvars UNUSED; + typval_T *rettv UNUSED; { #ifdef FEAT_FOLDING linenr_T lnum; @@ -11583,7 +11583,7 @@ f_getline(argvars, rettv) static void f_getmatches(argvars, rettv) typval_T *argvars UNUSED; - typval_T *rettv; + typval_T *rettv UNUSED; { #ifdef FEAT_SEARCH_EXTRA dict_T *dict; @@ -13589,7 +13589,7 @@ f_line2byte(argvars, rettv) */ static void f_lispindent(argvars, rettv) - typval_T *argvars; + typval_T *argvars UNUSED; typval_T *rettv; { #ifdef FEAT_LISP @@ -13983,8 +13983,8 @@ f_match(argvars, rettv) */ static void f_matchadd(argvars, rettv) - typval_T *argvars; - typval_T *rettv; + typval_T *argvars UNUSED; + typval_T *rettv UNUSED; { #ifdef FEAT_SEARCH_EXTRA char_u buf[NUMBUFLEN]; @@ -14021,7 +14021,7 @@ f_matchadd(argvars, rettv) */ static void f_matcharg(argvars, rettv) - typval_T *argvars; + typval_T *argvars UNUSED; typval_T *rettv; { if (rettv_list_alloc(rettv) == OK) @@ -14053,8 +14053,8 @@ f_matcharg(argvars, rettv) */ static void f_matchdelete(argvars, rettv) - typval_T *argvars; - typval_T *rettv; + typval_T *argvars UNUSED; + typval_T *rettv UNUSED; { #ifdef FEAT_SEARCH_EXTRA rettv->vval.v_number = match_delete(curwin, @@ -14871,8 +14871,8 @@ list2proftime(arg, tm) */ static void f_reltime(argvars, rettv) - typval_T *argvars; - typval_T *rettv; + typval_T *argvars UNUSED; + typval_T *rettv UNUSED; { #ifdef FEAT_RELTIME proftime_T res; @@ -14920,7 +14920,7 @@ f_reltime(argvars, rettv) */ static void f_reltimestr(argvars, rettv) - typval_T *argvars; + typval_T *argvars UNUSED; typval_T *rettv; { #ifdef FEAT_RELTIME @@ -15965,7 +15965,7 @@ do_searchpair(spat, mpat, epat, dir, ski int flags; /* SP_SETPCMARK and other SP_ values */ pos_T *match_pos; linenr_T lnum_stop; /* stop at this line if not zero */ - long time_limit; /* stop after this many msec */ + long time_limit UNUSED; /* stop after this many msec */ { char_u *save_cpo; char_u *pat, *pat2 = NULL, *pat3 = NULL; @@ -16390,8 +16390,8 @@ f_setloclist(argvars, rettv) */ static void f_setmatches(argvars, rettv) - typval_T *argvars; - typval_T *rettv; + typval_T *argvars UNUSED; + typval_T *rettv UNUSED; { #ifdef FEAT_SEARCH_EXTRA list_T *l; @@ -18463,7 +18463,7 @@ f_type(argvars, rettv) */ static void f_undofile(argvars, rettv) - typval_T *argvars; + typval_T *argvars UNUSED; typval_T *rettv; { rettv->v_type = VAR_STRING;