summaryrefslogtreecommitdiff
path: root/src/ex_cmds.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ex_cmds.c')
-rw-r--r--src/ex_cmds.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index d6bd0ebeb..bc2fcb707 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -2113,7 +2113,7 @@ read_viminfo_up_to_marks(virp, forceit, writing)
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, writing)
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, writing)
#ifdef FEAT_CMDHIST
/* Finish reading history items. */
- finish_viminfo_history();
+ if (!writing)
+ finish_viminfo_history();
#endif
/* Change file names to buffer numbers for fmarks. */