blob: b807baf4c4f652e75b490850b0bd48d3086032d9 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001/* eval.c */
Bram Moolenaarff4a37e2007-05-06 13:18:29 +00002void 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));
Bram Moolenaard812df62008-11-09 12:46:09 +000020char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd, int convert));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +000021char_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));
Bram Moolenaar0cbba942012-07-25 16:47:03 +020026int call_vim_function __ARGS((char_u *func, int argc, char_u **argv, int safe, int str_arg_only, typval_T *rettv));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +000027long call_func_retnr __ARGS((char_u *func, int argc, char_u **argv, int safe));
Bram Moolenaar429fa852013-04-15 12:27:36 +020028void *call_func_retstr __ARGS((char_u *func, int argc, char_u **argv, int safe));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +000029void *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));
Bram Moolenaar105bc352013-05-17 16:03:57 +020036void list_add_watch __ARGS((list_T *l, listwatch_T *lw));
37void list_rem_watch __ARGS((list_T *l, listwatch_T *lwrem));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +000038void *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));
Bram Moolenaardb913952012-06-29 12:54:53 +020051listitem_T *listitem_alloc __ARGS((void));
Bram Moolenaar9bb77d62013-05-30 12:14:49 +020052void listitem_free __ARGS((listitem_T *item));
Bram Moolenaardb913952012-06-29 12:54:53 +020053void listitem_remove __ARGS((list_T *l, listitem_T *item));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +000054dictitem_T *dict_lookup __ARGS((hashitem_T *hi));
Bram Moolenaardb913952012-06-29 12:54:53 +020055listitem_T *list_find __ARGS((list_T *l, long n));
Bram Moolenaard812df62008-11-09 12:46:09 +000056char_u *list_find_str __ARGS((list_T *l, long idx));
Bram Moolenaardb913952012-06-29 12:54:53 +020057void list_append __ARGS((list_T *l, listitem_T *item));
Bram Moolenaar7e506b62010-01-19 15:55:06 +010058int list_append_tv __ARGS((list_T *l, typval_T *tv));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +000059int list_append_dict __ARGS((list_T *list, dict_T *dict));
Bram Moolenaard812df62008-11-09 12:46:09 +000060int list_append_string __ARGS((list_T *l, char_u *str, int len));
Bram Moolenaardb913952012-06-29 12:54:53 +020061int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item));
Bram Moolenaar063a46b2014-01-14 16:36:51 +010062void list_insert __ARGS((list_T *l, listitem_T *ni, listitem_T *item));
Bram Moolenaarcaad4f02014-12-17 14:36:14 +010063void vimlist_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +000064int garbage_collect __ARGS((void));
Bram Moolenaar2459a5e2015-02-03 12:55:18 +010065int 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));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +000068dict_T *dict_alloc __ARGS((void));
Bram Moolenaar82139082011-09-14 16:52:09 +020069void dict_unref __ARGS((dict_T *d));
Bram Moolenaar9bb77d62013-05-30 12:14:49 +020070void dict_free __ARGS((dict_T *d, int recurse));
Bram Moolenaar7e506b62010-01-19 15:55:06 +010071dictitem_T *dictitem_alloc __ARGS((char_u *key));
72void dictitem_free __ARGS((dictitem_T *item));
73int dict_add __ARGS((dict_T *d, dictitem_T *item));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +000074int dict_add_nr_str __ARGS((dict_T *d, char *key, long nr, char_u *str));
Bram Moolenaara800b422010-06-27 01:15:55 +020075int dict_add_list __ARGS((dict_T *d, char *key, list_T *list));
Bram Moolenaar8bcf9652010-06-12 20:12:02 +020076dictitem_T *dict_find __ARGS((dict_T *d, char_u *key, int len));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +000077char_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));
Bram Moolenaardb913952012-06-29 12:54:53 +020081int func_call __ARGS((char_u *name, typval_T *args, dict_T *selfdict, typval_T *rettv));
Bram Moolenaara2e14fc2013-06-10 20:10:44 +020082void dict_extend __ARGS((dict_T *d1, dict_T *d2, char_u *action));
Bram Moolenaar75676462013-01-30 14:55:42 +010083void mzscheme_call_vim __ARGS((char_u *name, typval_T *args, typval_T *rettv));
Bram Moolenaara2e14fc2013-06-10 20:10:44 +020084float_T vim_round __ARGS((float_T f));
Bram Moolenaar76929292008-01-06 19:07:36 +000085long 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));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +000086void 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));
Bram Moolenaard812df62008-11-09 12:46:09 +000089list_T *get_vim_var_list __ARGS((int idx));
Bram Moolenaarda9591e2009-09-30 13:17:02 +000090void set_vim_var_char __ARGS((int c));
Bram Moolenaar8df74be2008-11-20 15:12:02 +000091void set_vcount __ARGS((long count, long count1, int set_prevcount));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +000092void set_vim_var_string __ARGS((int idx, char_u *val, int len));
Bram Moolenaard812df62008-11-09 12:46:09 +000093void set_vim_var_list __ARGS((int idx, list_T *val));
Bram Moolenaar42a45122015-07-10 17:56:23 +020094void set_vim_var_dict __ARGS((int idx, dict_T *val));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +000095void 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));
Bram Moolenaarbdb62052012-07-16 17:31:53 +0200105void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var, int scope));
Bram Moolenaar429fa852013-04-15 12:27:36 +0200106void unref_var_dict __ARGS((dict_T *dict));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +0000107void vars_clear __ARGS((hashtab_T *ht));
Bram Moolenaar7e506b62010-01-19 15:55:06 +0100108void copy_tv __ARGS((typval_T *from, typval_T *to));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +0000109void 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));
Bram Moolenaara2e14fc2013-06-10 20:10:44 +0200114int translated_function_exists __ARGS((char_u *name));
115char_u *get_expanded_name __ARGS((char_u *name, int check));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +0000116void 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));
Bram Moolenaardb913952012-06-29 12:54:53 +0200119void func_unref __ARGS((char_u *name));
120void func_ref __ARGS((char_u *name));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +0000121void 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));
Bram Moolenaard812df62008-11-09 12:46:09 +0000135void ex_oldfiles __ARGS((exarg_T *eap));
Bram Moolenaar53744302015-07-17 17:38:22 +0200136void reset_v_option_vars __ARGS((void));
Bram Moolenaarff4a37e2007-05-06 13:18:29 +0000137int 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));
Bram Moolenaar071d4272004-06-13 20:20:40 +0000139/* vim: set ft=c : */