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)); 26int call_vim_function __ARGS((char_u *func, int argc, char_u **argv, int safe, int str_arg_only, typval_T *rettv)); 27long call_func_retnr __ARGS((char_u *func, int argc, char_u **argv, int safe)); 28void *call_func_retstr __ARGS((char_u *func, int argc, char_u **argv, int safe)); 29void *call_func_retlist __ARGS((char_u *func, int argc, char_u **argv, int safe)); 30void *save_funccal __ARGS((void)); 31void restore_funccal __ARGS((void *vfc)); 32void prof_child_enter __ARGS((proftime_T *tm)); 33void prof_child_exit __ARGS((proftime_T *tm)); 34int eval_foldexpr __ARGS((char_u *arg, int *cp)); 35void ex_let __ARGS((exarg_T *eap)); 36void list_add_watch __ARGS((list_T *l, listwatch_T *lw)); 37void list_rem_watch __ARGS((list_T *l, listwatch_T *lwrem)); 38void *eval_for_line __ARGS((char_u *arg, int *errp, char_u **nextcmdp, int skip)); 39int next_for_item __ARGS((void *fi_void, char_u *arg)); 40void free_for_info __ARGS((void *fi_void)); 41void set_context_for_expression __ARGS((expand_T *xp, char_u *arg, cmdidx_T cmdidx)); 42void ex_call __ARGS((exarg_T *eap)); 43void ex_unlet __ARGS((exarg_T *eap)); 44void ex_lockvar __ARGS((exarg_T *eap)); 45int do_unlet __ARGS((char_u *name, int forceit)); 46void del_menutrans_vars __ARGS((void)); 47char_u *get_user_var_name __ARGS((expand_T *xp, int idx)); 48list_T *list_alloc __ARGS((void)); 49void list_unref __ARGS((list_T *l)); 50void list_free __ARGS((list_T *l, int recurse)); 51listitem_T *listitem_alloc __ARGS((void)); 52void listitem_free __ARGS((listitem_T *item)); 53void listitem_remove __ARGS((list_T *l, listitem_T *item)); 54dictitem_T *dict_lookup __ARGS((hashitem_T *hi)); 55listitem_T *list_find __ARGS((list_T *l, long n)); 56char_u *list_find_str __ARGS((list_T *l, long idx)); 57void list_append __ARGS((list_T *l, listitem_T *item)); 58int list_append_tv __ARGS((list_T *l, typval_T *tv)); 59int list_append_dict __ARGS((list_T *list, dict_T *dict)); 60int list_append_string __ARGS((list_T *l, char_u *str, int len)); 61int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item)); 62void list_insert __ARGS((list_T *l, listitem_T *ni, listitem_T *item)); 63void vimlist_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2)); 64int garbage_collect __ARGS((void)); 65int set_ref_in_ht __ARGS((hashtab_T *ht, int copyID, list_stack_T **list_stack)); 66int set_ref_in_list __ARGS((list_T *l, int copyID, ht_stack_T **ht_stack)); 67int set_ref_in_item __ARGS((typval_T *tv, int copyID, ht_stack_T **ht_stack, list_stack_T **list_stack)); 68dict_T *dict_alloc __ARGS((void)); 69void dict_unref __ARGS((dict_T *d)); 70void dict_free __ARGS((dict_T *d, int recurse)); 71dictitem_T *dictitem_alloc __ARGS((char_u *key)); 72void dictitem_free __ARGS((dictitem_T *item)); 73int dict_add __ARGS((dict_T *d, dictitem_T *item)); 74int dict_add_nr_str __ARGS((dict_T *d, char *key, long nr, char_u *str)); 75int dict_add_list __ARGS((dict_T *d, char *key, list_T *list)); 76dictitem_T *dict_find __ARGS((dict_T *d, char_u *key, int len)); 77char_u *get_dict_string __ARGS((dict_T *d, char_u *key, int save)); 78long get_dict_number __ARGS((dict_T *d, char_u *key)); 79char_u *get_function_name __ARGS((expand_T *xp, int idx)); 80char_u *get_expr_name __ARGS((expand_T *xp, int idx)); 81int func_call __ARGS((char_u *name, typval_T *args, dict_T *selfdict, typval_T *rettv)); 82void dict_extend __ARGS((dict_T *d1, dict_T *d2, char_u *action)); 83void mzscheme_call_vim __ARGS((char_u *name, typval_T *args, typval_T *rettv)); 84float_T vim_round __ARGS((float_T f)); 85long 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)); 86void set_vim_var_nr __ARGS((int idx, long val)); 87long get_vim_var_nr __ARGS((int idx)); 88char_u *get_vim_var_str __ARGS((int idx)); 89list_T *get_vim_var_list __ARGS((int idx)); 90void set_vim_var_char __ARGS((int c)); 91void set_vcount __ARGS((long count, long count1, int set_prevcount)); 92void set_vim_var_string __ARGS((int idx, char_u *val, int len)); 93void set_vim_var_list __ARGS((int idx, list_T *val)); 94void set_vim_var_dict __ARGS((int idx, dict_T *val)); 95void set_reg_var __ARGS((int c)); 96char_u *v_exception __ARGS((char_u *oldval)); 97char_u *v_throwpoint __ARGS((char_u *oldval)); 98char_u *set_cmdarg __ARGS((exarg_T *eap, char_u *oldarg)); 99void free_tv __ARGS((typval_T *varp)); 100void clear_tv __ARGS((typval_T *varp)); 101long get_tv_number_chk __ARGS((typval_T *varp, int *denote)); 102char_u *get_tv_string_chk __ARGS((typval_T *varp)); 103char_u *get_var_value __ARGS((char_u *name)); 104void new_script_vars __ARGS((scid_T id)); 105void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var, int scope)); 106void unref_var_dict __ARGS((dict_T *dict)); 107void vars_clear __ARGS((hashtab_T *ht)); 108void copy_tv __ARGS((typval_T *from, typval_T *to)); 109void ex_echo __ARGS((exarg_T *eap)); 110void ex_echohl __ARGS((exarg_T *eap)); 111void ex_execute __ARGS((exarg_T *eap)); 112void ex_function __ARGS((exarg_T *eap)); 113void free_all_functions __ARGS((void)); 114int translated_function_exists __ARGS((char_u *name)); 115char_u *get_expanded_name __ARGS((char_u *name, int check)); 116void func_dump_profile __ARGS((FILE *fd)); 117char_u *get_user_func_name __ARGS((expand_T *xp, int idx)); 118void ex_delfunction __ARGS((exarg_T *eap)); 119void func_unref __ARGS((char_u *name)); 120void func_ref __ARGS((char_u *name)); 121void ex_return __ARGS((exarg_T *eap)); 122int do_return __ARGS((exarg_T *eap, int reanimate, int is_cmd, void *rettv)); 123void discard_pending_return __ARGS((void *rettv)); 124char_u *get_return_cmd __ARGS((void *rettv)); 125char_u *get_func_line __ARGS((int c, void *cookie, int indent)); 126void func_line_start __ARGS((void *cookie)); 127void func_line_exec __ARGS((void *cookie)); 128void func_line_end __ARGS((void *cookie)); 129int func_has_ended __ARGS((void *cookie)); 130int func_has_abort __ARGS((void *cookie)); 131int read_viminfo_varlist __ARGS((vir_T *virp, int writing)); 132void write_viminfo_varlist __ARGS((FILE *fp)); 133int store_session_globals __ARGS((FILE *fd)); 134void last_set_msg __ARGS((scid_T scriptID)); 135void ex_oldfiles __ARGS((exarg_T *eap)); 136void reset_v_option_vars __ARGS((void)); 137int modify_fname __ARGS((char_u *src, int *usedlen, char_u **fnamep, char_u **bufp, int *fnamelen)); 138char_u *do_string_sub __ARGS((char_u *str, char_u *pat, char_u *sub, char_u *flags)); 139/* vim: set ft=c : */ 140