On 02/21/2014 04:50 PM, Dale Visser wrote: >> Date: Fri, 21 Feb 2014 15:23:31 -0700 >> From: eblake@xxxxxxxxxx >> To: dale.visser@xxxxxxxx; autoconf@xxxxxxx >> Subject: Re: Recommended way to truncate a shell variable value in autoconf >> >> ... >> is portable. Until then, the only portable fallback to this particular >> problem is the use of 'expr' pattern matching and/or sed scripts. :( > > I've figured a working alternative using successive calls to `expr STRING : REGEXP` > > But then again I notice in the autoconf docs (https://www.gnu.org/software/autoconf/manual/autoconf.html#Limitations-of-Usual-Tools) this: > > "Don't use length, substr, match and index." > > Since "STRING : REGEXP" does the same thing as "match STRING REGEXP", does that mean I'm out of luck with this approach, too? 'string : regexp' is portable. 'match string regexp' is not. For example this use of expr is already present in pretty much any configure file generated by modern autoconf: as_echo_body='eval expr "X$1" : "X\\(.*\\)"' But if you're trying to modify autoconf proper, I really do think it's time that we start requiring a shell that supports XSI variable expansion, rather than forking expr right and left. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Autoconf mailing list Autoconf@xxxxxxx https://lists.gnu.org/mailman/listinfo/autoconf