patch 8.1.1957: more code can be moved to evalvars.c

Problem:    More code can be moved to evalvars.c.
Solution:   Move code to where it fits better. (Yegappan Lakshmanan,
            closes #4883)
diff --git a/src/proto/eval.pro b/src/proto/eval.pro
index 1fd171c..b91774b 100644
--- a/src/proto/eval.pro
+++ b/src/proto/eval.pro
@@ -3,13 +3,6 @@
 varnumber_T num_modulus(varnumber_T n1, varnumber_T n2);
 void eval_init(void);
 void eval_clear(void);
-int var_redir_start(char_u *name, int append);
-void var_redir_str(char_u *value, int value_len);
-void var_redir_stop(void);
-int eval_charconvert(char_u *enc_from, char_u *enc_to, char_u *fname_from, char_u *fname_to);
-int eval_printexpr(char_u *fname, char_u *args);
-void eval_diff(char_u *origfile, char_u *newfile, char_u *outfile);
-void eval_patch(char_u *origfile, char_u *difffile, char_u *outfile);
 int eval_to_bool(char_u *arg, int *error, char_u **nextcmd, int skip);
 int eval_expr_typval(typval_T *expr, typval_T *argv, int argc, typval_T *rettv);
 int eval_expr_to_bool(typval_T *expr, int *error);
@@ -33,7 +26,6 @@
 int next_for_item(void *fi_void, char_u *arg);
 void free_for_info(void *fi_void);
 void set_context_for_expression(expand_T *xp, char_u *arg, cmdidx_T cmdidx);
-void del_menutrans_vars(void);
 int pattern_match(char_u *pat, char_u *text, int ic);
 int eval0(char_u *arg, typval_T *rettv, char_u **nextcmd, int evaluate);
 int eval1(char_u **arg, typval_T *rettv, int evaluate);
@@ -76,13 +68,11 @@
 char_u *tv_get_string_buf_chk(typval_T *varp, char_u *buf);
 void copy_tv(typval_T *from, typval_T *to);
 int item_copy(typval_T *from, typval_T *to, int deep, int copyID);
-void get_user_input(typval_T *argvars, typval_T *rettv, int inputdialog, int secret);
 void ex_echo(exarg_T *eap);
 void ex_echohl(exarg_T *eap);
+int get_echo_attr(void);
 void ex_execute(exarg_T *eap);
 char_u *find_option_end(char_u **arg, int *opt_flags);
-char_u *autoload_name(char_u *name);
-int script_autoload(char_u *name, int reload);
 void last_set_msg(sctx_T script_ctx);
 int typval_compare(typval_T *typ1, typval_T *typ2, exptype_T type, int type_is, int ic);
 char_u *typval_tostring(typval_T *arg);
diff --git a/src/proto/evalvars.pro b/src/proto/evalvars.pro
index fdb2e34..b031417 100644
--- a/src/proto/evalvars.pro
+++ b/src/proto/evalvars.pro
@@ -1,9 +1,14 @@
 /* evalvars.c */
 void evalvars_init(void);
 void evalvars_clear(void);
+int garbage_collect_globvars(int copyID);
 int garbage_collect_vimvars(int copyID);
 int garbage_collect_scriptvars(int copyID);
 void set_internal_string_var(char_u *name, char_u *value);
+int eval_charconvert(char_u *enc_from, char_u *enc_to, char_u *fname_from, char_u *fname_to);
+int eval_printexpr(char_u *fname, char_u *args);
+void eval_diff(char_u *origfile, char_u *newfile, char_u *outfile);
+void eval_patch(char_u *origfile, char_u *difffile, char_u *outfile);
 void prepare_vimvar(int idx, typval_T *save_tv);
 void restore_vimvar(int idx, typval_T *save_tv);
 void ex_let(exarg_T *eap);
@@ -14,7 +19,12 @@
 void ex_unlet(exarg_T *eap);
 void ex_lockvar(exarg_T *eap);
 int do_unlet(char_u *name, int forceit);
+void del_menutrans_vars(void);
 char_u *get_user_var_name(expand_T *xp, int idx);
+char *get_var_special_name(int nr);
+dict_T *get_globvar_dict(void);
+hashtab_T *get_globvar_ht(void);
+dict_T *get_vimvar_dict(void);
 void set_vim_var_type(int idx, vartype_T type);
 void set_vim_var_nr(int idx, varnumber_T val);
 typval_T *get_vim_var_tv(int idx);
@@ -44,7 +54,6 @@
 void unref_var_dict(dict_T *dict);
 void vars_clear(hashtab_T *ht);
 void vars_clear_ext(hashtab_T *ht, int free_val);
-void delete_var(hashtab_T *ht, hashitem_T *hi);
 void set_var(char_u *name, typval_T *tv, int copy);
 void set_var_const(char_u *name, typval_T *tv, int copy, int is_const);
 int var_check_ro(int flags, char_u *name, int use_gettext);
@@ -55,6 +64,9 @@
 void reset_v_option_vars(void);
 void assert_error(garray_T *gap);
 int var_exists(char_u *var);
+int var_redir_start(char_u *name, int append);
+void var_redir_str(char_u *value, int value_len);
+void var_redir_stop(void);
 void f_gettabvar(typval_T *argvars, typval_T *rettv);
 void f_gettabwinvar(typval_T *argvars, typval_T *rettv);
 void f_getwinvar(typval_T *argvars, typval_T *rettv);
diff --git a/src/proto/ex_getln.pro b/src/proto/ex_getln.pro
index 61215e0..12fd3be 100644
--- a/src/proto/ex_getln.pro
+++ b/src/proto/ex_getln.pro
@@ -35,4 +35,5 @@
 int get_cmdline_firstc(void);
 int get_list_range(char_u **str, int *num1, int *num2);
 char_u *script_get(exarg_T *eap, char_u *cmd);
+void get_user_input(typval_T *argvars, typval_T *rettv, int inputdialog, int secret);
 /* vim: set ft=c : */
diff --git a/src/proto/scriptfile.pro b/src/proto/scriptfile.pro
index 98f8210..c56b1c6 100644
--- a/src/proto/scriptfile.pro
+++ b/src/proto/scriptfile.pro
@@ -20,6 +20,7 @@
 void scriptnames_slash_adjust(void);
 char_u *get_scriptname(scid_T id);
 void free_scriptnames(void);
+void free_autoload_scriptnames(void);
 linenr_T get_sourced_lnum(char_u *(*fgetline)(int, void *, int, int), void *cookie);
 char_u *getsourceline(int c, void *cookie, int indent, int do_concat);
 void ex_scriptencoding(exarg_T *eap);
@@ -27,4 +28,6 @@
 void ex_finish(exarg_T *eap);
 void do_finish(exarg_T *eap, int reanimate);
 int source_finished(char_u *(*fgetline)(int, void *, int, int), void *cookie);
+char_u *autoload_name(char_u *name);
+int script_autoload(char_u *name, int reload);
 /* vim: set ft=c : */