patch 8.1.1869: code for the argument list is spread out
Problem: Code for the argument list is spread out.
Solution: Put argument list code in arglist.c. (Yegappan Lakshmanan,
closes #4819)
diff --git a/src/proto/arglist.pro b/src/proto/arglist.pro
new file mode 100644
index 0000000..d3ccf2d
--- /dev/null
+++ b/src/proto/arglist.pro
@@ -0,0 +1,32 @@
+/* arglist.c */
+void alist_clear(alist_T *al);
+void alist_init(alist_T *al);
+void alist_unlink(alist_T *al);
+void alist_new(void);
+void alist_expand(int *fnum_list, int fnum_len);
+void alist_set(alist_T *al, int count, char_u **files, int use_curbuf, int *fnum_list, int fnum_len);
+void alist_add(alist_T *al, char_u *fname, int set_fnum);
+void alist_slash_adjust(void);
+int get_arglist_exp(char_u *str, int *fcountp, char_u ***fnamesp, int wig);
+void set_arglist(char_u *str);
+int editing_arg_idx(win_T *win);
+void check_arg_idx(win_T *win);
+void ex_args(exarg_T *eap);
+void ex_previous(exarg_T *eap);
+void ex_rewind(exarg_T *eap);
+void ex_last(exarg_T *eap);
+void ex_argument(exarg_T *eap);
+void do_argfile(exarg_T *eap, int argn);
+void ex_next(exarg_T *eap);
+void ex_argedit(exarg_T *eap);
+void ex_argadd(exarg_T *eap);
+void ex_argdelete(exarg_T *eap);
+char_u *get_arglist_name(expand_T *xp, int idx);
+char_u *alist_name(aentry_T *aep);
+void ex_all(exarg_T *eap);
+char_u *arg_all(void);
+void f_argc(typval_T *argvars, typval_T *rettv);
+void f_argidx(typval_T *argvars, typval_T *rettv);
+void f_arglistid(typval_T *argvars, typval_T *rettv);
+void f_argv(typval_T *argvars, typval_T *rettv);
+/* vim: set ft=c : */
diff --git a/src/proto/buffer.pro b/src/proto/buffer.pro
index d85a9ff..ac45567 100644
--- a/src/proto/buffer.pro
+++ b/src/proto/buffer.pro
@@ -52,8 +52,6 @@
void get_rel_pos(win_T *wp, char_u *buf, int buflen);
char_u *fix_fname(char_u *fname);
void fname_expand(buf_T *buf, char_u **ffname, char_u **sfname);
-char_u *alist_name(aentry_T *aep);
-void do_arg_all(int count, int forceit, int keep_tabs);
void ex_buffer_all(exarg_T *eap);
void do_modelines(int flags);
int bt_normal(buf_T *buf);
diff --git a/src/proto/ex_cmds2.pro b/src/proto/ex_cmds2.pro
index b66be2f..9d45c7e 100644
--- a/src/proto/ex_cmds2.pro
+++ b/src/proto/ex_cmds2.pro
@@ -18,21 +18,7 @@
int check_changed_any(int hidden, int unload);
int check_fname(void);
int buf_write_all(buf_T *buf, int forceit);
-int get_arglist_exp(char_u *str, int *fcountp, char_u ***fnamesp, int wig);
-void set_arglist(char_u *str);
-void check_arg_idx(win_T *win);
-void ex_args(exarg_T *eap);
-void ex_previous(exarg_T *eap);
-void ex_rewind(exarg_T *eap);
-void ex_last(exarg_T *eap);
-void ex_argument(exarg_T *eap);
-void do_argfile(exarg_T *eap, int argn);
-void ex_next(exarg_T *eap);
-void ex_argedit(exarg_T *eap);
-void ex_argadd(exarg_T *eap);
-void ex_argdelete(exarg_T *eap);
void ex_listdo(exarg_T *eap);
-char_u *get_arglist_name(expand_T *xp, int idx);
void ex_compiler(exarg_T *eap);
void ex_runtime(exarg_T *eap);
int do_in_path(char_u *path, char_u *name, int flags, void (*callback)(char_u *fname, void *ck), void *cookie);
diff --git a/src/proto/ex_docmd.pro b/src/proto/ex_docmd.pro
index 373c75b..af40f4c 100644
--- a/src/proto/ex_docmd.pro
+++ b/src/proto/ex_docmd.pro
@@ -22,17 +22,8 @@
void not_exiting(void);
void tabpage_close(int forceit);
void tabpage_close_other(tabpage_T *tp, int forceit);
-void ex_all(exarg_T *eap);
void handle_drop(int filec, char_u **filev, int split, void (*callback)(void *), void *cookie);
void handle_any_postponed_drop(void);
-void alist_clear(alist_T *al);
-void alist_init(alist_T *al);
-void alist_unlink(alist_T *al);
-void alist_new(void);
-void alist_expand(int *fnum_list, int fnum_len);
-void alist_set(alist_T *al, int count, char_u **files, int use_curbuf, int *fnum_list, int fnum_len);
-void alist_add(alist_T *al, char_u *fname, int set_fnum);
-void alist_slash_adjust(void);
void ex_splitview(exarg_T *eap);
void tabpage_new(void);
void do_exedit(exarg_T *eap, win_T *old_curwin);