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. -- Mart Raudsepp Gentoo Developer Mail: leio@gentoo.org Weblog: http://planet.gentoo.org/developers/leio