updated for version 7.3.892
Problem: Still mering problems for viminfo history.
Solution: Do not merge lines when writing, don't write old viminfo lines.
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index d6bd0eb..bc2fcb7 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -2113,7 +2113,7 @@
buf_T *buf;
#ifdef FEAT_CMDHIST
- prepare_viminfo_history(forceit ? 9999 : 0);
+ prepare_viminfo_history(forceit ? 9999 : 0, writing);
#endif
eof = viminfo_readline(virp);
while (!eof && virp->vir_line[0] != '>')
@@ -2161,7 +2161,7 @@
case '=':
case '@':
#ifdef FEAT_CMDHIST
- eof = read_viminfo_history(virp);
+ eof = read_viminfo_history(virp, writing);
#else
eof = viminfo_readline(virp);
#endif
@@ -2182,7 +2182,8 @@
#ifdef FEAT_CMDHIST
/* Finish reading history items. */
- finish_viminfo_history();
+ if (!writing)
+ finish_viminfo_history();
#endif
/* Change file names to buffer numbers for fmarks. */