Hi everyone!
When zsh tries to execute "while do; done", it enters a busy loop:
% dash -c 'while do; done'
dash: 1: Syntax error: "do" unexpected
% bash -c 'while do; done'
bash: -c: line 1: syntax error near unexpected token `do'
bash: -c: line 1: `while do; done'
% zsh -c 'while do; done' # never finishes/prompts by itself
^C
zsh -c 'while do; done' 27,73s user 0,00s system 99% cpu 27,732 total 4k maxrss
Even more, if the user enters "while do; done" in an interactive zsh
instance, the busy loop is not interruptible by ^C, ^\ or ^Z; the shell
has to be killed via some external means.
To be fair, I have discovered the bug with the semicolon omitted ("while do done").
Could we do something about this?
Attachment:
signature.asc
Description: PGP signature