On Saturday 21 February 2009 19:00:19 Mart Raudsepp wrote:
> On Sat, 2009-02-21 at 18:55 -0500, Mike Frysinger wrote:
> > On Saturday 21 February 2009 18:38:55 Ryan Hill wrote:
> > > On Sat, 21 Feb 2009 18:27:10 -0500 Mike Frysinger wrote:
> > > > looks like bash-4.0 has broken semicolon escaping in subshells.  this
> > > > comes up when using find's -exec like we do in a few places in
> > > > eclasses: ls=$(find "$1" -name '*.po' -exec basename {} .po \;);
> > > > shift you can work around the issue in a couple of ways:
> > > >  - quote the semicolon:
> > > >         .... ';')
> > > >  - use backticks
> > > >         `find .... \;`
> > > >
> > > > i'll tweak the eclasses to use quoting for now
> > >
> > > is this a bug or broken on purpose?
> >
> > i say it's a bug, but i'm not the bash maintainer
> >
> > i imagine it's fall out from attempts to fix support for case statements
> > in subshells
>
> Then the bug should be fixed, instead of changing usage to something
> apparently less common, as the conversion could miss some.  And more
> importantly users still want to use \; for find -exec ending on their
> command line and their very own scripts.
> And who knows how many shell scripts shipped by packages use the
> escaping method.

i think you missed the entire point of this thread: there's a bug in bash-4.0 
that code is likely to hit.
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to