patch 7.4.1919
Problem:    Register contents is not merged when writing viminfo.
Solution:   Use timestamps for register contents.
diff --git a/src/proto/ex_cmds.pro b/src/proto/ex_cmds.pro
index 3057a93..bc624bf 100644
--- a/src/proto/ex_cmds.pro
+++ b/src/proto/ex_cmds.pro
@@ -17,6 +17,7 @@
 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);
+time_t vim_time(void);
 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 8737877..581bfce 100644
--- a/src/proto/ex_getln.pro
+++ b/src/proto/ex_getln.pro
@@ -50,7 +50,7 @@
 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 handle_viminfo_history(garray_T *values, int writing);
 void finish_viminfo_history(vir_T *virp);
 void write_viminfo_history(FILE *fp, int merge);
 void cmd_pchar(int c, int offset);
diff --git a/src/proto/ops.pro b/src/proto/ops.pro
index 27cbea2..5a603d0 100644
--- a/src/proto/ops.pro
+++ b/src/proto/ops.pro
@@ -44,7 +44,10 @@
 void format_lines(linenr_T line_count, int avoid_fex);
 int paragraph_start(linenr_T lnum);
 void op_addsub(oparg_T *oap, linenr_T Prenum1, int g_cmd);
+void prepare_viminfo_registers(void);
+void finish_viminfo_registers(void);
 int read_viminfo_register(vir_T *virp, int force);
+void handle_viminfo_register(garray_T *values, int writing);
 void write_viminfo_registers(FILE *fp);
 void x11_export_final_selection(void);
 void clip_free_selection(VimClipboard *cbd);