patch 8.1.2001: some source files are too big
Problem: Some source files are too big.
Solution: Move buffer and window related functions to evalbuffer.c and
evalwindow.c. (Yegappan Lakshmanan, closes #4898)
diff --git a/src/proto/buffer.pro b/src/proto/buffer.pro
index 052536e..d876cd5 100644
--- a/src/proto/buffer.pro
+++ b/src/proto/buffer.pro
@@ -65,10 +65,7 @@
int bt_dontwrite_msg(buf_T *buf);
int buf_hide(buf_T *buf);
char_u *buf_spname(buf_T *buf);
-void switch_to_win_for_buf(buf_T *buf, win_T **save_curwinp, tabpage_T **save_curtabp, bufref_T *save_curbuf);
-void restore_win_for_buf(win_T *save_curwin, tabpage_T *save_curtab, bufref_T *save_curbuf);
void set_buflisted(int on);
int buf_contents_changed(buf_T *buf);
void wipe_buffer(buf_T *buf, int aucmd);
-int set_ref_in_buffers(int copyID);
/* vim: set ft=c : */
diff --git a/src/proto/evalbuffer.pro b/src/proto/evalbuffer.pro
new file mode 100644
index 0000000..b59c5f5
--- /dev/null
+++ b/src/proto/evalbuffer.pro
@@ -0,0 +1,26 @@
+/* evalbuffer.c */
+int set_ref_in_buffers(int copyID);
+buf_T *buflist_find_by_name(char_u *name, int curtab_only);
+buf_T *find_buffer(typval_T *avar);
+void f_append(typval_T *argvars, typval_T *rettv);
+void f_appendbufline(typval_T *argvars, typval_T *rettv);
+void f_bufadd(typval_T *argvars, typval_T *rettv);
+void f_bufexists(typval_T *argvars, typval_T *rettv);
+void f_buflisted(typval_T *argvars, typval_T *rettv);
+void f_bufload(typval_T *argvars, typval_T *rettv);
+void f_bufloaded(typval_T *argvars, typval_T *rettv);
+void f_bufname(typval_T *argvars, typval_T *rettv);
+void f_bufnr(typval_T *argvars, typval_T *rettv);
+void f_bufwinid(typval_T *argvars, typval_T *rettv);
+void f_bufwinnr(typval_T *argvars, typval_T *rettv);
+void f_deletebufline(typval_T *argvars, typval_T *rettv);
+void f_getbufinfo(typval_T *argvars, typval_T *rettv);
+void f_getbufline(typval_T *argvars, typval_T *rettv);
+void f_getline(typval_T *argvars, typval_T *rettv);
+void f_setbufline(typval_T *argvars, typval_T *rettv);
+void f_setline(typval_T *argvars, typval_T *rettv);
+void switch_buffer(bufref_T *save_curbuf, buf_T *buf);
+void restore_buffer(bufref_T *save_curbuf);
+void switch_to_win_for_buf(buf_T *buf, win_T **save_curwinp, tabpage_T **save_curtabp, bufref_T *save_curbuf);
+void restore_win_for_buf(win_T *save_curwin, tabpage_T *save_curtab, bufref_T *save_curbuf);
+/* vim: set ft=c : */
diff --git a/src/proto/evalfunc.pro b/src/proto/evalfunc.pro
index e2d1467..83dfacf 100644
--- a/src/proto/evalfunc.pro
+++ b/src/proto/evalfunc.pro
@@ -5,11 +5,13 @@
int call_internal_func(char_u *name, int argcount, typval_T *argvars, typval_T *rettv);
int call_internal_method(char_u *name, int argcount, typval_T *argvars, typval_T *rettv, typval_T *basetv);
linenr_T tv_get_lnum(typval_T *argvars);
+linenr_T tv_get_lnum_buf(typval_T *argvars, buf_T *buf);
buf_T *buflist_find_by_name(char_u *name, int curtab_only);
buf_T *tv_get_buf(typval_T *tv, int curtab_only);
buf_T *get_buf_arg(typval_T *arg);
win_T *get_optional_window(typval_T *argvars, int idx);
void execute_redir_str(char_u *value, int value_len);
+void execute_common(typval_T *argvars, typval_T *rettv, int arg_off);
void mzscheme_call_vim(char_u *name, typval_T *args, typval_T *rettv);
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);
diff --git a/src/proto/evalwindow.pro b/src/proto/evalwindow.pro
new file mode 100644
index 0000000..c201a2e
--- /dev/null
+++ b/src/proto/evalwindow.pro
@@ -0,0 +1,36 @@
+/* evalwindow.c */
+win_T *win_id2wp(int id);
+win_T *win_id2wp_tp(int id, tabpage_T **tpp);
+void win_findbuf(typval_T *argvars, list_T *list);
+win_T *find_win_by_nr(typval_T *vp, tabpage_T *tp);
+win_T *find_win_by_nr_or_id(typval_T *vp);
+win_T *find_tabwin(typval_T *wvp, typval_T *tvp, tabpage_T **ptp);
+void f_gettabinfo(typval_T *argvars, typval_T *rettv);
+void f_getwininfo(typval_T *argvars, typval_T *rettv);
+void f_getwinpos(typval_T *argvars, typval_T *rettv);
+void f_getwinposx(typval_T *argvars, typval_T *rettv);
+void f_getwinposy(typval_T *argvars, typval_T *rettv);
+void f_tabpagenr(typval_T *argvars, typval_T *rettv);
+void f_tabpagewinnr(typval_T *argvars, typval_T *rettv);
+void f_win_execute(typval_T *argvars, typval_T *rettv);
+void f_win_findbuf(typval_T *argvars, typval_T *rettv);
+void f_win_getid(typval_T *argvars, typval_T *rettv);
+void f_win_gotoid(typval_T *argvars, typval_T *rettv);
+void f_win_id2tabwin(typval_T *argvars, typval_T *rettv);
+void f_win_id2win(typval_T *argvars, typval_T *rettv);
+void f_win_screenpos(typval_T *argvars, typval_T *rettv);
+void f_winbufnr(typval_T *argvars, typval_T *rettv);
+void f_wincol(typval_T *argvars, typval_T *rettv);
+void f_winheight(typval_T *argvars, typval_T *rettv);
+void f_winlayout(typval_T *argvars, typval_T *rettv);
+void f_winline(typval_T *argvars, typval_T *rettv);
+void f_winnr(typval_T *argvars, typval_T *rettv);
+void f_winrestcmd(typval_T *argvars, typval_T *rettv);
+void f_winrestview(typval_T *argvars, typval_T *rettv);
+void f_winsaveview(typval_T *argvars, typval_T *rettv);
+void f_winwidth(typval_T *argvars, typval_T *rettv);
+int switch_win(win_T **save_curwin, tabpage_T **save_curtab, win_T *win, tabpage_T *tp, int no_display);
+int switch_win_noblock(win_T **save_curwin, tabpage_T **save_curtab, win_T *win, tabpage_T *tp, int no_display);
+void restore_win(win_T *save_curwin, tabpage_T *save_curtab, int no_display);
+void restore_win_noblock(win_T *save_curwin, tabpage_T *save_curtab, int no_display);
+/* vim: set ft=c : */
diff --git a/src/proto/window.pro b/src/proto/window.pro
index 1c4ade8..ab62c0a 100644
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -73,25 +73,8 @@
void reset_lnums(void);
void make_snapshot(int idx);
void restore_snapshot(int idx, int close_curwin);
-int switch_win(win_T **save_curwin, tabpage_T **save_curtab, win_T *win, tabpage_T *tp, int no_display);
-int switch_win_noblock(win_T **save_curwin, tabpage_T **save_curtab, win_T *win, tabpage_T *tp, int no_display);
-void restore_win(win_T *save_curwin, tabpage_T *save_curtab, int no_display);
-void restore_win_noblock(win_T *save_curwin, tabpage_T *save_curtab, int no_display);
-void switch_buffer(bufref_T *save_curbuf, buf_T *buf);
-void restore_buffer(bufref_T *save_curbuf);
int win_hasvertsplit(void);
int get_win_number(win_T *wp, win_T *first_win);
int get_tab_number(tabpage_T *tp);
char *check_colorcolumn(win_T *wp);
-int win_getid(typval_T *argvars);
-int win_gotoid(typval_T *argvars);
-void win_id2tabwin(typval_T *argvars, list_T *list);
-win_T *win_id2wp(int id);
-win_T *win_id2wp_tp(int id, tabpage_T **tpp);
-int win_id2win(typval_T *argvars);
-void win_findbuf(typval_T *argvars, list_T *list);
-win_T *find_win_by_nr(typval_T *vp, tabpage_T *tp);
-win_T *find_win_by_nr_or_id(typval_T *vp);
-win_T *find_tabwin(typval_T *wvp, typval_T *tvp, tabpage_T **ptp);
-void get_framelayout(frame_T *fr, list_T *l, int outer);
/* vim: set ft=c : */