From: Ryo HAYASAKA Date: 2002-10-24T03:21:26+09:00 Subject: [ruby-dev:18574] Re: avoid substituting $(s) in a template of LIBPATHFLAG 早坂@北陸先端です. 対応ありがとうございます. In message <200210231721.g9NHLff29471@sharui.nakada.kanuma.tochigi.jp>, nobu.nakada@nifty.ne.jp wrote: > > NetBSD では, LIBPATHFLAG が " -L%1$s -Wl,-R%1$s" となるんですが, 下の > > diff の gsub のところで " -L%1$(s) -Wl,-R%1$(s)" に置き換えられてしま > > うので, 文法エラーとなってしまうようです. > これは"$$"という形でエスケープするようにしたつもりだったんです > が、御指摘通りconfig.statusから変換するときの処理とconfigure.in > でのエスケープ自体を忘れてました。 > > これでどうでしょうか。 $&.chop とかしないと, エスケープのままになっちゃいますね. Index: mkconfig.rb =================================================================== RCS file: /src/ruby/mkconfig.rb,v retrieving revision 1.26 diff -d -p -u -r1.26 mkconfig.rb --- mkconfig.rb 23 Oct 2002 17:40:14 -0000 1.26 +++ mkconfig.rb 23 Oct 2002 18:18:13 -0000 @@ -39,7 +39,7 @@ File.foreach "config.status" do |line| next if $install_name and /^RUBY_INSTALL_NAME$/ =~ name next if $so_name and /^RUBY_SO_NAME$/ =~ name v = " CONFIG[\"" + name + "\"] = " + - val.gsub(/\$(?:\$|\{?(\w+)\}?)/) {$1?"$(#{$1})":$&}.dump + "\n" + val.gsub(/\$(?:\$|\{?(\w+)\}?)/) {$1?"$(#{$1})":$&.chop}.dump + "\n" if fast[name] v_fast << v else -- Ryo HAYASAKA (早坂 良) http://www.jaist.ac.jp/%7Eryoh/ Japan Advanced Institute of Science and Technology (JAIST)