diff --git a/ChangeLog b/ChangeLog index 063febbb5d..e997096679 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,13 @@ +Thu Nov 15 17:28:21 2007 Tanaka Akira + + * tool/compile_prelude.rb: absolute path may not start with a slash. + pointed by usa. + Thu Nov 15 17:07:54 2007 Tanaka Akira * tool/compile_prelude.rb: fix first substitution. use constant for prefix. + pointed by Richard Kilmer. Thu Nov 15 14:29:56 2007 Nobuyoshi Nakada diff --git a/tool/compile_prelude.rb b/tool/compile_prelude.rb index 4d08b4d68a..314c98689e 100644 --- a/tool/compile_prelude.rb +++ b/tool/compile_prelude.rb @@ -33,8 +33,8 @@ lines_list = preludes.map {|filename| unless mkconf require 'rbconfig' mkconf = RbConfig::MAKEFILE_CONFIG.merge('prefix'=>'#{TMP_RUBY_PREFIX}') - exlen = $:.grep(%r{\A/}).last.length - RbConfig::CONFIG["prefix"].length - setup_ruby_prefix = "TMP_RUBY_PREFIX = $:.grep(%r{\\A/}).last[0..#{-exlen-1}]\n" + exlen = $:.reverse.find{|e|e!="."}.length - RbConfig::CONFIG["prefix"].length + setup_ruby_prefix = "TMP_RUBY_PREFIX = $:.reverse.find{|e|e!=\".\"}[0..#{-exlen-1}]\n" teardown_ruby_prefix = 'Object.class_eval { remove_const "TMP_RUBY_PREFIX" }' end if RbConfig::MAKEFILE_CONFIG.has_key? key