diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-10 16:16:27 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-10 16:16:27 +0000 |
commit | 735f7a510e2a15d3046d7e835cde2c8f3b658848 (patch) | |
tree | 10bd370dfc6ead93666960ebc7f9e25af6660f14 /configure.in | |
parent | 7449059cc64ead5a8e85b56db423faf0c8f21493 (diff) |
merge revision(s) 39506,39514: [Backport #7959]
* configure.in (unexpand_shvar): get rid of non-portable shell
behavior on OpenBSD, so no extra quotes. [Bug #7959]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/configure.in b/configure.in index 8179e16d91..aa0b8db87d 100644 --- a/configure.in +++ b/configure.in @@ -3203,19 +3203,18 @@ shvar_to_cpp() { } unexpand_shvar() { - local var=$1 val n v expr quote + local var=$1 val n v expr shift test "$#" -eq 0 && return - quote=['s/${[^${}"]*}/"&"/g'] for n do eval v='"$'$n'"' - v="`echo \"$v\" | sed -e \"$quote\" -e ['s/[][$|.\\?*]/\\\\&/g']`" + v="`echo \"$v\" | sed -e ['s/${[^${}"]*}/"&"/g'] -e ['s/[][$|.\\?*]/\\\\&/g']`" if test -n "$v"; then expr=["${expr};s|"'\("[^$"]*\)'"$v|\\1\${$n}\"|g"] AS_CASE(["$v"], [*'${'*'}'*], [expr=["$expr;s|$v|\"\${$n}\"|g"]]) fi done - expr=["${quote}${expr};"'s/"\(\${[^${}"]*}\)"/\1/g'] + expr=['s/${[^${}"]*}/"&"/g;'"${expr};"'s/"\(\${[^${}"]*}\)"/\1/g'] eval $var='"`echo \"\\\"${'$var'}\\\"\" | sed \"$expr;s/\\\"\\\"//g;s/^\\\"//;s/\\\"\\\$//\"`"' } |