* tool/compile_prelude.rb: too long string literal causes compile error

on some platforms.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
usa 2009-07-31 06:09:13 +00:00
parent a436212282
commit bc70ea70cd
2 changed files with 15 additions and 5 deletions

View File

@ -1,3 +1,8 @@
Fri Jul 31 15:06:33 2009 NAKAMURA Usaku <usa@ruby-lang.org>
* tool/compile_prelude.rb: too long string literal causes compile error
on some platforms.
Fri Jul 31 13:15:27 2009 NAKAMURA Usaku <usa@ruby-lang.org>
* transcode.c (str_encode_bang): C99ism.

View File

@ -51,17 +51,22 @@ lines_list = preludes.map {|filename|
"nil"
end
}
line.gsub!(/require\s*(\(?)\s*(["'])(.*?)\2\s*\1/) {
if /require\s*(\(?)\s*(["'])(.*?)\2\s*\1/ =~ line
orig, path = $&, $3
srcdir = File.expand_path("../..", __FILE__)
path = File.expand_path(path, srcdir)
if File.exist?(path)
"eval(%s, TOPLEVEL_BINDING, %s, %d)" % [ File.read(path).dump, prelude_name(filename, path).dump, 1]
lines << c_esc("eval(")
File.readlines(path).each do |line|
lines << c_esc(line.dump)
end
lines << c_esc(", TOPLEVEL_BINDING, %s, %d)" % [ prelude_name(filename, path).dump, 1])
else
orig
lines << c_esc(orig)
end
}
lines << c_esc(line)
else
lines << c_esc(line)
end
}
setup_lines = []
if need_ruby_prefix