diff src/ex_cmds.c @ 4285:6c2e8074ea25 v7.3.892

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.
author Bram Moolenaar <bram@vim.org>
date Sun, 14 Apr 2013 23:19:36 +0200
parents dd669f296568
children fa39483a1363
line wrap: on
line diff
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -2113,7 +2113,7 @@ read_viminfo_up_to_marks(virp, forceit, 
     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 @@ read_viminfo_up_to_marks(virp, forceit, 
 	    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 @@ read_viminfo_up_to_marks(virp, forceit, 
 
 #ifdef FEAT_CMDHIST
     /* Finish reading history items. */
-    finish_viminfo_history();
+    if (!writing)
+	finish_viminfo_history();
 #endif
 
     /* Change file names to buffer numbers for fmarks. */