diff options
author | Peter Stephenson <pws@zsh.org> | 2015-04-17 10:23:58 +0100 |
---|---|---|
committer | Peter Stephenson <pws@zsh.org> | 2015-04-17 10:23:58 +0100 |
commit | 4508d25710de08793005923b1f91f5ae072f3945 (patch) | |
tree | a7000951ba4226ecc1078408db3d04d0f35e72bc /Src/lex.c | |
parent | ccb1cf2d10aa674caf2aa73599110aed1127ad26 (diff) | |
download | zsh-4508d25710de08793005923b1f91f5ae072f3945.tar.gz zsh-4508d25710de08793005923b1f91f5ae072f3945.tar.xz zsh-4508d25710de08793005923b1f91f5ae072f3945.zip |
34905: no parse error after keyboard interrupt.
Handled generally, though only showing up in special nested cases. Also fix ZLE so it doesn't cancel the interrupt flag when not actually returning from a local keymap.
Diffstat (limited to 'Src/lex.c')
-rw-r--r-- | Src/lex.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Src/lex.c b/Src/lex.c index 184a54b0b..c929bb9ba 100644 --- a/Src/lex.c +++ b/Src/lex.c @@ -1558,10 +1558,12 @@ parsestr(char **s) if ((err = parsestrnoerr(s))) { untokenize(*s); - if (err > 32 && err < 127) - zerr("parse error near `%c'", err); - else - zerr("parse error"); + if (!(errflag & ERRFLAG_INT)) { + if (err > 32 && err < 127) + zerr("parse error near `%c'", err); + else + zerr("parse error"); + } } return err; } |