Date: Tue, 2 Feb 1999 11:15:53 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: "Mark E." cc: djgpp-workers AT delorie DOT com Subject: Re: new bash 2.02.1binary In-Reply-To: <199902012253.WAA122052@out4.ibm.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com On Mon, 1 Feb 1999, Mark E. wrote: > Available from: > http://members.xoom.com/snowball3/djgpp/ Btw, while you are at that, could you please look into the following annoying problem? Bash 1.14.7 always returns 0 from parenthesized commands. Consider the following snippet (lifted from a typical configure script): echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 echo "configure:773: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. if (makeinfo --version) < /dev/null > /dev/null 2>&1; then MAKEINFO=makeinfo echo "$ac_t""found" 1>&6 else MAKEINFO="$missing_dir/missing makeinfo" echo "$ac_t""missing" 1>&6 fi The line which says "if (makeinfo --version)" etc. always succeeds, even when there's no makeinfo installed. I understand that the reason is that the DJGPP port cannot fork another Bash (which is what the original code does for parenthesized commands, since you need all the variables and aliases to be valid), so it runs these commands in the same process. The question is: why does this force zero be returned instead of the actual exit status? It would be nice if this problem could be solved in the new port. It causes some tests to produce incorrect results, and requires editing the configure script.