diff options
Diffstat (limited to 'Src/hist.c')
-rw-r--r-- | Src/hist.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Src/hist.c b/Src/hist.c index 167ffe171..52e3e1394 100644 --- a/Src/hist.c +++ b/Src/hist.c @@ -700,7 +700,7 @@ hbegin(int dohist) { isfirstln = isfirstch = 1; errflag = histdone = spaceflag = 0; - stophist = (dohist ? ((!interact || unset(SHINSTDIN)) << 1) : 2); + stophist = (!dohist || !interact || unset(SHINSTDIN)) ? 2 : 0; if (stophist == 2 || (inbufflags & INP_ALIAS)) { chline = hptr = NULL; hlinesz = 0; @@ -721,6 +721,8 @@ hbegin(int dohist) hwbegin = ihwbegin; hwend = ihwend; addtoline = iaddtoline; + if (!isset(BANGHIST)) + stophist = 4; } chwordpos = 0; |