mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-01-01 05:16:05 +01:00
36468: Fix infinite loop exiting from Zle widget.
If the exit was while we were waiting to complete a lexical expression we might not exit from the loop.
This commit is contained in:
parent
ca9fdda408
commit
86229fdf09
2 changed files with 10 additions and 0 deletions
|
@ -1,5 +1,9 @@
|
||||||
2015-09-10 Peter Stephenson <p.stephenson@samsung.com>
|
2015-09-10 Peter Stephenson <p.stephenson@samsung.com>
|
||||||
|
|
||||||
|
* 36468: Src/hist.c: Infinite loop if we tried to exit from a
|
||||||
|
Zle widget but the lexer thought the current lexical expression
|
||||||
|
needed finishing.
|
||||||
|
|
||||||
* 36460: Test/E01options.ztst: Discard benign error on failure
|
* 36460: Test/E01options.ztst: Discard benign error on failure
|
||||||
to write to pipe with no one reading.
|
to write to pipe with no one reading.
|
||||||
|
|
||||||
|
|
|
@ -390,6 +390,12 @@ ihgetc(void)
|
||||||
{
|
{
|
||||||
int c = ingetc();
|
int c = ingetc();
|
||||||
|
|
||||||
|
if (exit_pending)
|
||||||
|
{
|
||||||
|
lexstop = 1;
|
||||||
|
errflag |= ERRFLAG_ERROR;
|
||||||
|
return ' ';
|
||||||
|
}
|
||||||
qbang = 0;
|
qbang = 0;
|
||||||
if (!stophist && !(inbufflags & INP_ALIAS)) {
|
if (!stophist && !(inbufflags & INP_ALIAS)) {
|
||||||
/* If necessary, expand history characters. */
|
/* If necessary, expand history characters. */
|
||||||
|
|
Loading…
Reference in a new issue