From b51472dd5fda1d4a0e8273d675da03dcbb37c8d6 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 1 Apr 2005 10:16:59 +0000 Subject: 21078: parse errors didn't cause non-zero exit status --- Src/init.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'Src/init.c') diff --git a/Src/init.c b/Src/init.c index 903df47cd..1ad9559f0 100644 --- a/Src/init.c +++ b/Src/init.c @@ -131,6 +131,8 @@ loop(int toplevel, int justonce) (tok == LEXERR && (!isset(SHINSTDIN) || !toplevel)) || justonce) break; + if (tok == LEXERR && !lastval) + lastval = 1; continue; } if (hend(prog)) { @@ -1282,6 +1284,9 @@ zsh_main(UNUSED(int argc), char **argv) loop(1,0); while (tok != ENDINPUT && (tok != LEXERR || isset(SHINSTDIN))); if (tok == LEXERR) { + /* Make sure a parse error exits with non-zero status */ + if (!lastval) + lastval = 1; stopmsg = 1; zexit(lastval, 0); } -- cgit 1.4.1