Ralf Wildenhues <[EMAIL PROTECTED]> wrote: > * Jim Meyering wrote on Mon, Aug 18, 2008 at 11:57:45PM CEST: >> Ralf Wildenhues <[EMAIL PROTECTED]> wrote: >> >> I think we can factor it into a simpler testcase. I just tried this: >> >> >> >> $ sh -c 'if test `sleep 5; echo hi` = hi ; then echo yes; fi' >> > >> > and found only pdksh and OpenBSD sh (which is a pdksh descendant) to >> > have this issue. >> >> I'm pretty sure this happened with recent bash on my primary desktop >> system. You can reproduce it with any shell like this: >> >> if test `sleep 5 && echo f` = f; then echo yes; fi >> >> Then kill the sleep process in under 5 seconds. I get parse >> errors from the latest versions of bash, dash, and zsh. > > Indeed. > >> So this *can* happen with other shells, if either the eval or >> the $as_echo from the expansion of AS_VAR_GET fails. >> Admittedly, this isn't the same as a simple ^C, so maybe >> there's a race condition somewhere in there and the signal >> has to hit a small window... or maybe it did happen on >> some other type of system. > > Looks like it. > > Luckily parse errors don't seem to happen with > case `sleep 5 && echo f` in ... > for x in `sleep 5 && echo f`; do ... > > (better: I can't reproduce them with that, with a number of shells), > which means the number of currently known-problematic places in Autoconf > code is quite small, I found one in status.m4 and one in the test suite.
Good catches. > This is what I've got now. Thoughts? > > I'm pretty sure that any remaining test failure I'm seeing are not > introduced by this patch, so if you are ok with it I'll apply. Looks fine to me. BTW, I too am seeing a few test failures, but they're triggered even without this change. Thanks!
