summaryrefslogtreecommitdiff
path: root/Src/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/init.c')
-rw-r--r--Src/init.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/Src/init.c b/Src/init.c
index cbfaf5ad0..5a86800d1 100644
--- a/Src/init.c
+++ b/Src/init.c
@@ -107,6 +107,8 @@ loop(int toplevel, int justonce)
pushheap();
for (;;) {
freeheap();
+ if (stophist == 3) /* re-entry via preprompt() */
+ hend(NULL);
hbegin(1); /* init history mech */
if (isset(SHINSTDIN)) {
setblock_stdin();
@@ -114,7 +116,10 @@ loop(int toplevel, int justonce)
int hstop = stophist;
stophist = 3;
preprompt();
- stophist = hstop;
+ if (stophist != 3)
+ hbegin(1);
+ else
+ stophist = hstop;
errflag = 0;
}
}