diff --git a/src/proto/ex_cmds.pro b/src/proto/ex_cmds.pro
index d22b3dd..3057a93 100644
--- a/src/proto/ex_cmds.pro
+++ b/src/proto/ex_cmds.pro
@@ -16,6 +16,7 @@
 int viminfo_readline(vir_T *virp);
 char_u *viminfo_readstring(vir_T *virp, int off, int convert);
 void viminfo_writestring(FILE *fd, char_u *p);
+int barline_writestring(FILE *fd, char_u *s, int remaining_start);
 void do_fixdel(exarg_T *eap);
 void print_line_no_prefix(linenr_T lnum, int use_number, int list);
 void print_line(linenr_T lnum, int use_number, int list);
diff --git a/src/proto/ex_getln.pro b/src/proto/ex_getln.pro
index 77c7291..83a0c5f 100644
--- a/src/proto/ex_getln.pro
+++ b/src/proto/ex_getln.pro
@@ -37,19 +37,20 @@
 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_cmdline_str(void);
-int get_cmdline_pos(void);
-int set_cmdline_pos(int pos);
-int get_cmdline_type(void);
 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_list_range(char_u **str, int *num1, int *num2);
 void ex_history(exarg_T *eap);
 void prepare_viminfo_history(int asklen, int writing);
 int read_viminfo_history(vir_T *virp, int writing);
+void handle_viminfo_history(bval_T *values, int count, int writing);
 void finish_viminfo_history(void);
 void write_viminfo_history(FILE *fp, int merge);
 void cmd_pchar(int c, int offset);
