diff options
author | Peter Stephenson <pws@zsh.org> | 2013-10-07 13:01:26 +0100 |
---|---|---|
committer | Peter Stephenson <pws@zsh.org> | 2013-10-07 13:01:26 +0100 |
commit | 6f195241f3ee98c11bc93ab089417012767d9cec (patch) | |
tree | f70b1059605557945c9e7b6c6c9e649a2bebc5d8 /Src | |
parent | 9345e57859eda273d2d14346fa48e15b109fbe2d (diff) | |
download | zsh-6f195241f3ee98c11bc93ab089417012767d9cec.tar.gz zsh-6f195241f3ee98c11bc93ab089417012767d9cec.tar.xz zsh-6f195241f3ee98c11bc93ab089417012767d9cec.zip |
31794: further refinement to INCAPPENDHISTORY change.
With SHAREHISTORY we should make sure the code behaves as it always did, because it takes care about locking a file once for reading and writing.
Diffstat (limited to 'Src')
-rw-r--r-- | Src/hist.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Src/hist.c b/Src/hist.c index c58ce8b34..d1af30a29 100644 --- a/Src/hist.c +++ b/Src/hist.c @@ -928,7 +928,15 @@ hbegin(int dohist) histactive = HA_ACTIVE | HA_NOINC; hf = getsparam("HISTFILE"); - if (isset(INCAPPENDHISTORY) && !(histactive & HA_NOINC) && !strin) + /* + * For INCAPPENDHISTORY, when interactive, save the history here + * as it gives a better estimate of the times of commands. + * If SHAREHISTORY is also set continue to do so in the + * standard place, because that's safer about reading and + * rewriting history atomically. + */ + if (isset(INCAPPENDHISTORY) && !isset(SHAREHISTORY) && + !(histactive & HA_NOINC) && !strin) savehistfile(hf, 0, HFILE_USE_OPTIONS | HFILE_FAST); } |