| > From: Akim Demaille <[EMAIL PROTECTED]>
| > Date: 10 Nov 2000 10:23:25 +0100
| >
| > But our troubles could be worse than this, since `expr' is not used
| > only in AS_DIRNAME. For instance any CVS configure contains
| >
| > ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
|
| Ouch. Can you rewrite that as follows to work around the bug?
|
| # Work around the problem that "expr 'a' : 'a\(\)'" outputs "0" in QNX.
Sorry, I did not mean this, and my example was wrong indeed, I meant
this:
| So it is my understanding that
|
| ./configure --bindir
I had written `./configure --bindir=' here
|
| is equivalent to
|
| ./configure --bindir=0
|
| on these systems.
but it appears to have no consequence after all (since the case
handling the options distinguishes --bindir from --bindir=).
I meant that when `:' fails, it returns `0' instead of `', so it is my
understanding of `expr' that using \| '' at the end is enough. This
fix is probably all we need to fix the affected expr uses.
Still, David, could you confirm that \(\) properly matches the empty
string: running
expr 'a' : 'a\(\)'
should definitely output nothing (and most probably exit 1 :)