about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorWayne Davison <wayned@users.sourceforge.net>2001-08-18 00:05:25 +0000
committerWayne Davison <wayned@users.sourceforge.net>2001-08-18 00:05:25 +0000
commita3e15b3925ebaf8bf43771f3d3cff5bf8533f795 (patch)
treeea409d876e8226528492c2e6363232879638c2a9 /Src
parent89359afbddaece21d98768e1c6a2561b4ff35f9f (diff)
downloadzsh-a3e15b3925ebaf8bf43771f3d3cff5bf8533f795.tar.gz
zsh-a3e15b3925ebaf8bf43771f3d3cff5bf8533f795.tar.xz
zsh-a3e15b3925ebaf8bf43771f3d3cff5bf8533f795.zip
My recent patch to not drop the last line in the history file when
handling a signal.
Diffstat (limited to 'Src')
-rw-r--r--Src/hist.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Src/hist.c b/Src/hist.c
index 842863992..a37b230b0 100644
--- a/Src/hist.c
+++ b/Src/hist.c
@@ -2028,10 +2028,13 @@ savehistfile(char *fn, int err, int writeflags)
 	    Histent remember_hist_ring = hist_ring;
 	    int remember_histlinect = histlinect;
 	    int remember_curhist = curhist;
+	    int remember_histsiz = histsiz;
+	    int remember_histactive = histactive;
 
 	    hist_ring = NULL;
 	    curhist = histlinect = 0;
 	    histsiz = savehist;
+	    histactive = 0;
 	    createhisttable(); /* sets histtab */
 
 	    hist_ignore_all_dups |= isset(HISTSAVENODUPS);
@@ -2044,6 +2047,8 @@ savehistfile(char *fn, int err, int writeflags)
 	    histlinect = remember_histlinect;
 	    hist_ring = remember_hist_ring;
 	    histtab = remember_histtab;
+	    histsiz = remember_histsiz;
+	    histactive = remember_histactive;
 	}
     } else if (err)
 	zerr("can't write history file %s", fn, 0);