summaryrefslogtreecommitdiff
path: root/Src/hist.c
diff options
context:
space:
mode:
authorAxel Beckert <abe@deuxchevaux.org>2017-08-10 17:16:37 +0200
committerAxel Beckert <abe@deuxchevaux.org>2017-08-10 17:16:37 +0200
commite3b67a8198c852bf6c9db3a0a1a20e87a4e1da74 (patch)
tree8486633f6232f49ea330ab8e036decb5dc3bbf74 /Src/hist.c
parentf8edeff2494bf23e2ee29d4c761361b1c878e09d (diff)
parentdc475bfa0ec6cd03789dde3bf28f71e0ea9d5003 (diff)
downloadzsh-e3b67a8198c852bf6c9db3a0a1a20e87a4e1da74.tar.gz
zsh-e3b67a8198c852bf6c9db3a0a1a20e87a4e1da74.zip
Merge tag '5.4.1' into debian
Release 5.4.1.
Diffstat (limited to 'Src/hist.c')
-rw-r--r--Src/hist.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Src/hist.c b/Src/hist.c
index 97fd34039..da5a8b29f 100644
--- a/Src/hist.c
+++ b/Src/hist.c
@@ -253,6 +253,7 @@ hist_context_save(struct hist_stack *hs, int toplevel)
hs->hwend = hwend;
hs->addtoline = addtoline;
hs->hlinesz = hlinesz;
+ hs->defev = defev;
/*
* We save and restore the command stack with history
* as it's visible to the user interactively, so if
@@ -296,6 +297,7 @@ hist_context_restore(const struct hist_stack *hs, int toplevel)
hwend = hs->hwend;
addtoline = hs->addtoline;
hlinesz = hs->hlinesz;
+ defev = hs->defev;
if (cmdstack)
zfree(cmdstack, CMDSTACKSZ);
cmdstack = hs->cstack;
@@ -1418,7 +1420,7 @@ hend(Eprog prog)
DPUTS(hptr < chline, "History end pointer off start of line");
*hptr = '\0';
}
- {
+ if (*chline) {
LinkList hookargs = newlinklist();
int save_errflag = errflag;
errflag = 0;
@@ -1427,6 +1429,7 @@ hend(Eprog prog)
addlinknode(hookargs, chline);
callhookfunc("zshaddhistory", hookargs, 1, &hookret);
+ errflag &= ~ERRFLAG_ERROR;
errflag |= save_errflag;
}
/* For history sharing, lock history file once for both read and write */