Re: Does libtool need to escape plus signs in egrep expressions?

2018-06-28 Thread Bob Friesenhahn

On Thu, 28 Jun 2018, Roumen Petrov wrote:

May be I misunderstand issue.

$ echo ' _head_ABC_a'  | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$'
 _head_ABC_a

$ echo ' _head_ABC_al'  | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$'
 _head_ABC_al

but:
$ echo ' _head__al'  | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$'
$ echo ' __head_ABC_al'  | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$'
$ echo ' _head_ABC_zl'  | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$'




Are you sure this actually works?
I'm not expert in regular expressions but according above tests "plus" in RE 
works - see case _head__al .


It should match a run of alpha-numeric characters including 
underscores.  However, I do see that the expression includes a match 
of literal underscore and then there is a literal underscore so there 
might be something going on with that.  Greedy matching would likely 
absorb a final underscore so it might not be possible to match on that 
final literal underscore.  This might expose differences in behaviors 
between egreps.


Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/___
https://lists.gnu.org/mailman/listinfo/libtool


Re: Does libtool need to escape plus signs in egrep expressions?

2018-06-28 Thread Roumen Petrov

Hello,

LRN wrote:

While looking though ltmain source code i've stumbled upon this egrep 
invocation:
$EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'
I've tried to see how it behaves on some import libraries that i have, and it
turned out that i could never get it to detect the iname lines, unless i escape
the plus sign.

May be I misunderstand issue.

$ echo ' _head_ABC_a'  | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$'
 _head_ABC_a

$ echo ' _head_ABC_al'  | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$'
 _head_ABC_al

but:
$ echo ' _head__al'  | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$'
$ echo ' __head_ABC_al'  | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$'
$ echo ' _head_ABC_zl'  | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$'




Are you sure this actually works?
I'm not expert in regular expressions but according above tests "plus" 
in RE works - see case _head__al .



Note that the function that does this is only
used in rather exotic corner-cases (old dlltool and/or ms dumpbin being in
use), so it's plausible that it could have been broken since 2010, when it was
added.



Regards,
Roumen Petrov


___
https://lists.gnu.org/mailman/listinfo/libtool


Does libtool need to escape plus signs in egrep expressions?

2018-06-27 Thread LRN
While looking though ltmain source code i've stumbled upon this egrep 
invocation:
$EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'
I've tried to see how it behaves on some import libraries that i have, and it
turned out that i could never get it to detect the iname lines, unless i escape
the plus sign.

Are you sure this actually works? Note that the function that does this is only
used in rather exotic corner-cases (old dlltool and/or ms dumpbin being in
use), so it's plausible that it could have been broken since 2010, when it was
added.





signature.asc
Description: OpenPGP digital signature
___
https://lists.gnu.org/mailman/listinfo/libtool