diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2005-04-01 10:16:59 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2005-04-01 10:16:59 +0000 |
commit | b51472dd5fda1d4a0e8273d675da03dcbb37c8d6 (patch) | |
tree | 269bed9e207c6d94e5d5496dd1ba1c0ab8da0100 /Src | |
parent | 835a5ad8b506af216a52a606243c8f73654f1a83 (diff) | |
download | zsh-b51472dd5fda1d4a0e8273d675da03dcbb37c8d6.tar.gz zsh-b51472dd5fda1d4a0e8273d675da03dcbb37c8d6.tar.xz zsh-b51472dd5fda1d4a0e8273d675da03dcbb37c8d6.zip |
21078: parse errors didn't cause non-zero exit status
Diffstat (limited to 'Src')
-rw-r--r-- | Src/init.c | 5 |
1 files changed, 5 insertions, 0 deletions
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); } |