1/* eval.c */ 2void eval_init __ARGS((void)); 3void eval_clear __ARGS((void)); 4char_u *func_name __ARGS((void *cookie)); 5linenr_T *func_breakpoint __ARGS((void *cookie)); 6int *func_dbg_tick __ARGS((void *cookie)); 7int func_level __ARGS((void *cookie)); 8int current_func_returned __ARGS((void)); 9void set_internal_string_var __ARGS((char_u *name, char_u *value)); 10int var_redir_start __ARGS((char_u *name, int append)); 11void var_redir_str __ARGS((char_u *value, int value_len)); 12void var_redir_stop __ARGS((void)); 13int eval_charconvert __ARGS((char_u *enc_from, char_u *enc_to, char_u *fname_from, char_u *fname_to)); 14int eval_printexpr __ARGS((char_u *fname, char_u *args)); 15void eval_diff __ARGS((char_u *origfile, char_u *newfile, char_u *outfile)); 16void eval_patch __ARGS((char_u *origfile, char_u *difffile, char_u *outfile)); 17int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip)); 18char_u *eval_to_string_skip __ARGS((char_u *arg, char_u **nextcmd, int skip)); 19int skip_expr __ARGS((char_u **pp)); 20char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd, int convert)); 21char_u *eval_to_string_safe __ARGS((char_u *arg, char_u **nextcmd, int use_sandbox)); 22int eval_to_number __ARGS((char_u *expr)); 23list_T *eval_spell_expr __ARGS((char_u *badword, char_u *expr)); 24int get_spellword __ARGS((list_T *list, char_u **pp)); 25typval_T *eval_expr __ARGS((char_u *arg, char_u **nextcmd)); 26void *call_func_retstr __ARGS((char_u *func, int argc, char_u **argv, int safe)); 27long call_func_retnr __ARGS((char_u *func, int argc, char_u **argv, int safe)); 28void *call_func_retlist __ARGS((char_u *func, int argc, char_u **argv, int safe)); 29void *save_funccal __ARGS((void)); 30void restore_funccal __ARGS((void *vfc)); 31void prof_child_enter __ARGS((proftime_T *tm)); 32void prof_child_exit __ARGS((proftime_T *tm)); 33int eval_foldexpr __ARGS((char_u *arg, int *cp)); 34void ex_let __ARGS((exarg_T *eap)); 35void *eval_for_line __ARGS((char_u *arg, int *errp, char_u **nextcmdp, int skip)); 36int next_for_item __ARGS((void *fi_void, char_u *arg)); 37void free_for_info __ARGS((void *fi_void)); 38void set_context_for_expression __ARGS((expand_T *xp, char_u *arg, cmdidx_T cmdidx)); 39void ex_call __ARGS((exarg_T *eap)); 40void ex_unlet __ARGS((exarg_T *eap)); 41void ex_lockvar __ARGS((exarg_T *eap)); 42int do_unlet __ARGS((char_u *name, int forceit)); 43void del_menutrans_vars __ARGS((void)); 44char_u *get_user_var_name __ARGS((expand_T *xp, int idx)); 45list_T *list_alloc __ARGS((void)); 46void list_unref __ARGS((list_T *l)); 47void list_free __ARGS((list_T *l, int recurse)); 48dictitem_T *dict_lookup __ARGS((hashitem_T *hi)); 49char_u *list_find_str __ARGS((list_T *l, long idx)); 50int list_append_tv __ARGS((list_T *l, typval_T *tv)); 51int list_append_dict __ARGS((list_T *list, dict_T *dict)); 52int list_append_string __ARGS((list_T *l, char_u *str, int len)); 53int garbage_collect __ARGS((void)); 54dict_T *dict_alloc __ARGS((void)); 55dictitem_T *dictitem_alloc __ARGS((char_u *key)); 56void dictitem_free __ARGS((dictitem_T *item)); 57int dict_add __ARGS((dict_T *d, dictitem_T *item)); 58int dict_add_nr_str __ARGS((dict_T *d, char *key, long nr, char_u *str)); 59int dict_add_list __ARGS((dict_T *d, char *key, list_T *list)); 60dictitem_T *dict_find __ARGS((dict_T *d, char_u *key, int len)); 61char_u *get_dict_string __ARGS((dict_T *d, char_u *key, int save)); 62long get_dict_number __ARGS((dict_T *d, char_u *key)); 63char_u *get_function_name __ARGS((expand_T *xp, int idx)); 64char_u *get_expr_name __ARGS((expand_T *xp, int idx)); 65long do_searchpair __ARGS((char_u *spat, char_u *mpat, char_u *epat, int dir, char_u *skip, int flags, pos_T *match_pos, linenr_T lnum_stop, long time_limit)); 66void set_vim_var_nr __ARGS((int idx, long val)); 67long get_vim_var_nr __ARGS((int idx)); 68char_u *get_vim_var_str __ARGS((int idx)); 69list_T *get_vim_var_list __ARGS((int idx)); 70void set_vim_var_char __ARGS((int c)); 71void set_vcount __ARGS((long count, long count1, int set_prevcount)); 72void set_vim_var_string __ARGS((int idx, char_u *val, int len)); 73void set_vim_var_list __ARGS((int idx, list_T *val)); 74void set_reg_var __ARGS((int c)); 75char_u *v_exception __ARGS((char_u *oldval)); 76char_u *v_throwpoint __ARGS((char_u *oldval)); 77char_u *set_cmdarg __ARGS((exarg_T *eap, char_u *oldarg)); 78void free_tv __ARGS((typval_T *varp)); 79void clear_tv __ARGS((typval_T *varp)); 80long get_tv_number_chk __ARGS((typval_T *varp, int *denote)); 81char_u *get_tv_string_chk __ARGS((typval_T *varp)); 82char_u *get_var_value __ARGS((char_u *name)); 83void new_script_vars __ARGS((scid_T id)); 84void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var)); 85void vars_clear __ARGS((hashtab_T *ht)); 86void copy_tv __ARGS((typval_T *from, typval_T *to)); 87void ex_echo __ARGS((exarg_T *eap)); 88void ex_echohl __ARGS((exarg_T *eap)); 89void ex_execute __ARGS((exarg_T *eap)); 90void ex_function __ARGS((exarg_T *eap)); 91void free_all_functions __ARGS((void)); 92void func_dump_profile __ARGS((FILE *fd)); 93char_u *get_user_func_name __ARGS((expand_T *xp, int idx)); 94void ex_delfunction __ARGS((exarg_T *eap)); 95void ex_return __ARGS((exarg_T *eap)); 96int do_return __ARGS((exarg_T *eap, int reanimate, int is_cmd, void *rettv)); 97void discard_pending_return __ARGS((void *rettv)); 98char_u *get_return_cmd __ARGS((void *rettv)); 99char_u *get_func_line __ARGS((int c, void *cookie, int indent)); 100void func_line_start __ARGS((void *cookie)); 101void func_line_exec __ARGS((void *cookie)); 102void func_line_end __ARGS((void *cookie)); 103int func_has_ended __ARGS((void *cookie)); 104int func_has_abort __ARGS((void *cookie)); 105int read_viminfo_varlist __ARGS((vir_T *virp, int writing)); 106void write_viminfo_varlist __ARGS((FILE *fp)); 107int store_session_globals __ARGS((FILE *fd)); 108void last_set_msg __ARGS((scid_T scriptID)); 109void ex_oldfiles __ARGS((exarg_T *eap)); 110int modify_fname __ARGS((char_u *src, int *usedlen, char_u **fnamep, char_u **bufp, int *fnamelen)); 111char_u *do_string_sub __ARGS((char_u *str, char_u *pat, char_u *sub, char_u *flags)); 112/* vim: set ft=c : */ 113