diff options
Diffstat (limited to 'Src/Zle/zle_utils.c')
-rw-r--r-- | Src/Zle/zle_utils.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Src/Zle/zle_utils.c b/Src/Zle/zle_utils.c index c6df3d89c..2b306fdcd 100644 --- a/Src/Zle/zle_utils.c +++ b/Src/Zle/zle_utils.c @@ -1607,7 +1607,11 @@ static int unapplychange(struct change *ch) { if(ch->hist != histline) { - zle_setline(quietgethist(ch->hist)); + Histent he = quietgethist(ch->hist); + DPUTS(he == NULL, "quietgethist(ch->hist) returned NULL"); + if(he == NULL) + return 1; + zle_setline(he); zlecs = ch->new_cs; return 0; } @@ -1647,7 +1651,11 @@ static int applychange(struct change *ch) { if(ch->hist != histline) { - zle_setline(quietgethist(ch->hist)); + Histent he = quietgethist(ch->hist); + DPUTS(he == NULL, "quietgethist(ch->hist) returned NULL"); + if(he == NULL) + return 1; + zle_setline(he); zlecs = ch->old_cs; return 0; } @@ -1733,7 +1741,7 @@ zlecallhook(char *name, char *arg) args[0] = arg; args[1] = NULL; - execzlefunc(thingy, args, 1); + execzlefunc(thingy, args, 1, 0); unrefthingy(thingy); /* Retain any user interrupt error status */ |