patch 8.1.1989: the evalfunc.c file is still too big

Problem:    The evalfunc.c file is still too big.
Solution:   Move f_pathshorten() to filepath.c.  Move f_cscope_connection() to
            if_cscope.c.  Move diff_ functions to diff.c.  Move timer_
            functions to ex_cmds2.c.  move callback functions to evalvars.c.
diff --git a/src/proto/diff.pro b/src/proto/diff.pro
index 2ab6c54..b18c59b 100644
--- a/src/proto/diff.pro
+++ b/src/proto/diff.pro
@@ -27,4 +27,6 @@
 int diff_move_to(int dir, long count);
 linenr_T diff_get_corresponding_line(buf_T *buf1, linenr_T lnum1);
 linenr_T diff_lnum_win(linenr_T lnum, win_T *wp);
+void f_diff_filler(typval_T *argvars, typval_T *rettv);
+void f_diff_hlID(typval_T *argvars, typval_T *rettv);
 /* vim: set ft=c : */
diff --git a/src/proto/evalfunc.pro b/src/proto/evalfunc.pro
index 932193d..e2d1467 100644
--- a/src/proto/evalfunc.pro
+++ b/src/proto/evalfunc.pro
@@ -14,8 +14,4 @@
 float_T vim_round(float_T f);
 long do_searchpair(char_u *spat, char_u *mpat, char_u *epat, int dir, typval_T *skip, int flags, pos_T *match_pos, linenr_T lnum_stop, long time_limit);
 void f_string(typval_T *argvars, typval_T *rettv);
-callback_T get_callback(typval_T *arg);
-void put_callback(callback_T *cb, typval_T *tv);
-void set_callback(callback_T *dest, callback_T *src);
-void free_callback(callback_T *callback);
 /* vim: set ft=c : */
diff --git a/src/proto/evalvars.pro b/src/proto/evalvars.pro
index 998246d..691eec3 100644
--- a/src/proto/evalvars.pro
+++ b/src/proto/evalvars.pro
@@ -77,4 +77,8 @@
 void f_settabwinvar(typval_T *argvars, typval_T *rettv);
 void f_setwinvar(typval_T *argvars, typval_T *rettv);
 void f_setbufvar(typval_T *argvars, typval_T *rettv);
+callback_T get_callback(typval_T *arg);
+void put_callback(callback_T *cb, typval_T *tv);
+void set_callback(callback_T *dest, callback_T *src);
+void free_callback(callback_T *callback);
 /* vim: set ft=c : */
diff --git a/src/proto/ex_cmds2.pro b/src/proto/ex_cmds2.pro
index e0fd3c6..2ecda16 100644
--- a/src/proto/ex_cmds2.pro
+++ b/src/proto/ex_cmds2.pro
@@ -9,6 +9,11 @@
 void add_timer_info_all(typval_T *rettv);
 int set_ref_in_timer(int copyID);
 void timer_free_all(void);
+void f_timer_info(typval_T *argvars, typval_T *rettv);
+void f_timer_pause(typval_T *argvars, typval_T *rettv);
+void f_timer_start(typval_T *argvars, typval_T *rettv);
+void f_timer_stop(typval_T *argvars, typval_T *rettv);
+void f_timer_stopall(typval_T *argvars, typval_T *rettv);
 int autowrite(buf_T *buf, int forceit);
 void autowrite_all(void);
 int check_changed(buf_T *buf, int flags);
diff --git a/src/proto/filepath.pro b/src/proto/filepath.pro
index a3df123..405c8b5 100644
--- a/src/proto/filepath.pro
+++ b/src/proto/filepath.pro
@@ -20,6 +20,7 @@
 void f_globpath(typval_T *argvars, typval_T *rettv);
 void f_isdirectory(typval_T *argvars, typval_T *rettv);
 void f_mkdir(typval_T *argvars, typval_T *rettv);
+void f_pathshorten(typval_T *argvars, typval_T *rettv);
 void f_readdir(typval_T *argvars, typval_T *rettv);
 void f_readfile(typval_T *argvars, typval_T *rettv);
 void f_resolve(typval_T *argvars, typval_T *rettv);
diff --git a/src/proto/if_cscope.pro b/src/proto/if_cscope.pro
index f9919c4..0dcfc76 100644
--- a/src/proto/if_cscope.pro
+++ b/src/proto/if_cscope.pro
@@ -7,6 +7,6 @@
 int cs_fgets(char_u *buf, int size);
 void cs_free_tags(void);
 void cs_print_tags(void);
-int cs_connection(int num, char_u *dbpath, char_u *ppath);
+void f_cscope_connection(typval_T *argvars, typval_T *rettv);
 void cs_end(void);
 /* vim: set ft=c : */