patch 8.1.1823: command line history code is spread out

Problem:    Command line history code is spread out.
Solution:   Put the code in a new file. (Yegappan Lakshmanan, closes #4779)
            Also graduate the +cmdline_hist feature.
diff --git a/src/proto/cmdhist.pro b/src/proto/cmdhist.pro
new file mode 100644
index 0000000..1c33f4a
--- /dev/null
+++ b/src/proto/cmdhist.pro
@@ -0,0 +1,19 @@
+/* cmdhist.c */
+int get_hislen(void);
+histentry_T *get_histentry(int hist_type);
+void set_histentry(int hist_type, histentry_T *entry);
+int *get_hisidx(int hist_type);
+int *get_hisnum(int hist_type);
+int hist_char2type(int c);
+char_u *get_history_arg(expand_T *xp, int idx);
+void init_history(void);
+void clear_hist_entry(histentry_T *hisptr);
+int in_history(int type, char_u *str, int move_to_front, int sep, int writing);
+void add_to_history(int histype, char_u *new_entry, int in_map, int sep);
+void remove_key_from_history(void);
+void ex_history(exarg_T *eap);
+void f_histadd(typval_T *argvars, typval_T *rettv);
+void f_histdel(typval_T *argvars, typval_T *rettv);
+void f_histget(typval_T *argvars, typval_T *rettv);
+void f_histnr(typval_T *argvars, typval_T *rettv);
+/* vim: set ft=c : */
diff --git a/src/proto/ex_getln.pro b/src/proto/ex_getln.pro
index cd30ed8..66e634b 100644
--- a/src/proto/ex_getln.pro
+++ b/src/proto/ex_getln.pro
@@ -34,28 +34,11 @@
 int expand_cmdline(expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches);
 int ExpandGeneric(expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int)), int escaped);
 void globpath(char_u *path, char_u *file, garray_T *ga, int expand_options);
-int hist_char2type(int c);
-void init_history(void);
-void clear_hist_entry(histentry_T *hisptr);
-int in_history(int type, char_u *str, int move_to_front, int sep, int writing);
-int get_histtype(char_u *name);
-void add_to_history(int histype, char_u *new_entry, int in_map, int sep);
-int get_history_idx(int histype);
-char_u *get_history_entry(int histype, int idx);
-int clr_history(int histype);
-int del_history_entry(int histype, char_u *str);
-int del_history_idx(int histype, int idx);
-void remove_key_from_history(void);
 char_u *get_cmdline_str(void);
 int get_cmdline_pos(void);
 int set_cmdline_pos(int pos);
 int get_cmdline_type(void);
+int get_cmdline_firstc(void);
 int get_list_range(char_u **str, int *num1, int *num2);
-void ex_history(exarg_T *eap);
-int get_hislen(void);
-histentry_T *get_histentry(int hist_type);
-void set_histentry(int hist_type, histentry_T *entry);
-int *get_hisidx(int hist_type);
-int *get_hisnum(int hist_type);
 char_u *script_get(exarg_T *eap, char_u *cmd);
 /* vim: set ft=c : */