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);