diff options
author | Paul Ackersviller <packersv@users.sourceforge.net> | 2007-11-25 04:13:50 +0000 |
---|---|---|
committer | Paul Ackersviller <packersv@users.sourceforge.net> | 2007-11-25 04:13:50 +0000 |
commit | 56ce5117368991e23208d50ac120167427014982 (patch) | |
tree | 25c12a3f10f4506abeb48fa12be5a4fb570b997e /Src | |
parent | 9020f6336e73ec88845ede15b12168ea7684ac2a (diff) | |
download | zsh-56ce5117368991e23208d50ac120167427014982.tar.gz zsh-56ce5117368991e23208d50ac120167427014982.tar.xz zsh-56ce5117368991e23208d50ac120167427014982.zip |
Merge of users/11883: return at top level caused following precommand functions to return immediately.
Diffstat (limited to 'Src')
-rw-r--r-- | Src/init.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Src/init.c b/Src/init.c index 0fde9f7ac..f9fea56db 100644 --- a/Src/init.c +++ b/Src/init.c @@ -1285,9 +1285,11 @@ zsh_main(UNUSED(int argc), char **argv) */ maybeshrinkjobtab(); - do + do { + /* Reset return from top level which gets us back here */ + retflag = 0; loop(1,0); - while (tok != ENDINPUT && (tok != LEXERR || isset(SHINSTDIN))); + } while (tok != ENDINPUT && (tok != LEXERR || isset(SHINSTDIN))); if (tok == LEXERR) { /* Make sure a parse error exits with non-zero status */ if (!lastval) |