about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Src/init.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Src/init.c b/Src/init.c
index e59ff16a5..9e75e4b00 100644
--- a/Src/init.c
+++ b/Src/init.c
@@ -106,12 +106,16 @@ loop(int toplevel, int justonce)
     for (;;) {
 	freeheap();
 	errflag = 0;
+	hbegin(1);		/* init history mech        */
 	if (isset(SHINSTDIN)) {
 	    setblock_stdin();
-	    if (interact)
+	    if (interact) {
+	        int hstop = stophist;
+		stophist = 3;
 		preprompt();
+		stophist = hstop;
+	    }
 	}
-	hbegin(1);		/* init history mech        */
 	intr();			/* interrupts on            */
 	lexinit();              /* initialize lexical state */
 	if (!(prog = parse_event())) {	/* if we couldn't parse a list */