From 22fbfe532b864091c26336a6f60f5cb8b55b03c1 Mon Sep 17 00:00:00 2001 From: Paul Ackersviller Date: Thu, 3 May 2007 04:28:50 +0000 Subject: Merge of workers/{21131,21328}. --- Src/init.c | 10 +++++----- Test/A01grammar.ztst | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Src/init.c b/Src/init.c index 64c2fa041..cf892b09a 100644 --- a/Src/init.c +++ b/Src/init.c @@ -112,7 +112,7 @@ loop(int toplevel, int justonce) hbegin(1); /* init history mech */ if (isset(SHINSTDIN)) { setblock_stdin(); - if (interact) { + if (interact && toplevel) { int hstop = stophist; stophist = 3; preprompt(); @@ -308,14 +308,14 @@ parseargs(char **argv) } if (*argv) { if (unset(SHINSTDIN)) { - argzero = *argv; if (!cmd) - SHIN = movefd(open(unmeta(argzero), O_RDONLY | O_NOCTTY)); + SHIN = movefd(open(unmeta(*argv), O_RDONLY | O_NOCTTY)); if (SHIN == -1) { - zerr("can't open input file: %s", argzero, 0); - exit(1); + zerr("can't open input file: %s", *argv, 0); + exit(127); } opts[INTERACTIVE] &= 1; + argzero = *argv; argv++; } while (*argv) diff --git a/Test/A01grammar.ztst b/Test/A01grammar.ztst index 15df464e0..093ef5635 100644 --- a/Test/A01grammar.ztst +++ b/Test/A01grammar.ztst @@ -452,3 +452,7 @@ $ZTST_testdir/../Src/zsh -f -c "'" 1:Parse error on inline command causes non-zero exit status ?zsh: unmatched ' + + $ZTST_testdir/../Src/zsh -f NonExistentScript +127q:Non-existent script causes exit status 127 +?$ZTST_testdir/../Src/zsh: can't open input file: NonExistentScript -- cgit 1.4.1