diff --git a/input.c b/input.c index 18ab9cdc..0af3c1f4 100644 --- a/input.c +++ b/input.c @@ -418,8 +418,10 @@ extern List *runinput(Input *in, int runflags) { = varlookup(dispatcher[((flags & run_printcmds) ? 1 : 0) + ((flags & run_noexec) ? 2 : 0)], NULL); - if (flags & eval_exitonfalse) + if (flags & eval_exitonfalse) { dispatch = mklist(mkstr("%exit-on-false"), dispatch); + flags &= ~eval_exitonfalse; + } varpush(&push, "fn-%dispatch", dispatch); repl = varlookup((flags & run_interactive)