aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-25 14:06:31 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-25 14:06:31 +0000
commite6c5b9f30840ae985c4bdcb91435e9c2c06fb7ef (patch)
treec13b0ab1c74db848c100581d765fd52073f7be03
parentc6629c48e61f341aa5e0b4b8f0c4816a2e9e0cc1 (diff)
downloadruby-e6c5b9f30840ae985c4bdcb91435e9c2c06fb7ef.tar.gz
revert r37326 "remove string literal concatenation"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rwxr-xr-xbootstraptest/runner.rb3
-rw-r--r--bootstraptest/test_syntax.rb2
-rw-r--r--lib/matrix.rb3
-rw-r--r--lib/mkmf.rb10
-rw-r--r--lib/net/http/generic_request.rb4
-rw-r--r--lib/rss/rss.rb8
-rwxr-xr-xsample/test.rb4
-rwxr-xr-xtest/json/test_json.rb6
-rw-r--r--test/misc/test_ruby_mode.rb8
-rw-r--r--test/ripper/test_scanner_events.rb4
-rw-r--r--test/ruby/envutil.rb4
-rw-r--r--test/ruby/test_literal.rb3
-rw-r--r--test/ruby/test_parse.rb2
-rw-r--r--test/ruby/test_rubyoptions.rb12
-rw-r--r--test/ruby/test_stringchar.rb4
-rw-r--r--test/ruby/test_syntax.rb2
16 files changed, 44 insertions, 35 deletions
diff --git a/bootstraptest/runner.rb b/bootstraptest/runner.rb
index 60c9d26d95..0dd1e35a88 100755
--- a/bootstraptest/runner.rb
+++ b/bootstraptest/runner.rb
@@ -1,5 +1,4 @@
-#!/bin/sh
-exec "${RUBY-ruby}" -x "$0" "$@" # -*- mode: ruby; coding: utf-8 -*-
+"exec" "${RUBY-ruby}" "-x" "$0" "$@" || true # -*- mode: ruby; coding: utf-8 -*-
#!./ruby
# $Id$
diff --git a/bootstraptest/test_syntax.rb b/bootstraptest/test_syntax.rb
index 4d56908ac1..80eaa6416d 100644
--- a/bootstraptest/test_syntax.rb
+++ b/bootstraptest/test_syntax.rb
@@ -525,7 +525,7 @@ assert_equal %q{1}, %q{
}
def assert_syntax_error expected, code, message = ''
assert_equal "#{expected}",
- "begin eval(%q{#{code}}, nil, '', 0); rescue SyntaxError => e; e.message[/\\A:(?:\\d+:)? (.*)/, 1] end", message
+ "begin eval(%q{#{code}}, nil, '', 0)"'; rescue SyntaxError => e; e.message[/\A:(?:\d+:)? (.*)/, 1] end', message
end
assert_syntax_error "unterminated string meets end of file", '().."', '[ruby-dev:29732]'
assert_equal %q{[]}, %q{$&;[]}, '[ruby-dev:31068]'
diff --git a/lib/matrix.rb b/lib/matrix.rb
index f4e3b316f6..00fa762da6 100644
--- a/lib/matrix.rb
+++ b/lib/matrix.rb
@@ -1404,7 +1404,8 @@ class Matrix
begin
ret = obj.__send__(meth)
rescue Exception => e
- raise TypeError, "Coercion error: #{obj.inspect}.#{meth} => #{cls} failed:\n(#{e.message})"
+ raise TypeError, "Coercion error: #{obj.inspect}.#{meth} => #{cls} failed:\n" \
+ "(#{e.message})"
end
raise TypeError, "Coercion error: obj.#{meth} did NOT return a #{cls} (was #{ret.class})" unless ret.kind_of? cls
ret
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index ec110fd6f6..0996392300 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -1026,7 +1026,7 @@ SRC
#
def have_framework(fw, &b)
checking_for fw do
- src = cpp_include("#{fw}/#{fw}.h") << "\n#{''}int main(void){return 0;}"
+ src = cpp_include("#{fw}/#{fw}.h") << "\n" "int main(void){return 0;}"
opt = " -framework #{fw}"
if try_link(src, "-ObjC#{opt}", &b)
$defs.push(format("-DHAVE_FRAMEWORK_%s", fw.tr_cpp))
@@ -1761,7 +1761,7 @@ arch_hdrdir = #{$arch_hdrdir.quote}
VPATH = #{vpath.join(CONFIG['PATH_SEPARATOR'])}
}
if $extmk
- mk << "RUBYLIB =\n#{''}RUBYOPT = -\n"
+ mk << "RUBYLIB =\n""RUBYOPT = -\n"
end
prefix = mkintpath(CONFIG["prefix"])
if destdir = prefix[$dest_prefix_pattern, 1]
@@ -2376,7 +2376,7 @@ MESSAGE
EXPORT_PREFIX = config_string('EXPORT_PREFIX') {|s| s.strip}
- hdr = ["#include \"ruby.h\"\n"]
+ hdr = ['#include "ruby.h"' "\n"]
config_string('COMMON_MACROS') do |s|
Shellwords.shellwords(s).each do |w|
w, v = w.split(/=/, 2)
@@ -2396,13 +2396,13 @@ MESSAGE
COMPILE_C = config_string('COMPILE_C') || '$(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<'
COMPILE_CXX = config_string('COMPILE_CXX') || '$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<'
TRY_LINK = config_string('TRY_LINK') ||
- "$(CC) #{OUTFLAG}conftest#{$EXEEXT} $(INCFLAGS) $(CPPFLAGS) " <<
+ "$(CC) #{OUTFLAG}conftest#{$EXEEXT} $(INCFLAGS) $(CPPFLAGS) " \
"$(CFLAGS) $(src) $(LIBPATH) $(LDFLAGS) $(ARCH_FLAG) $(LOCAL_LIBS) $(LIBS)"
LINK_SO = config_string('LINK_SO') ||
if CONFIG["DLEXT"] == $OBJEXT
"ld $(DLDFLAGS) -r -o $@ $(OBJS)\n"
else
- "$(LDSHARED) #{OUTFLAG}$@ $(OBJS) " <<
+ "$(LDSHARED) #{OUTFLAG}$@ $(OBJS) " \
"$(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)"
end
LIBPATHFLAG = config_string('LIBPATHFLAG') || ' -L%s'
diff --git a/lib/net/http/generic_request.rb b/lib/net/http/generic_request.rb
index f10ddebfaa..bcf87d35be 100644
--- a/lib/net/http/generic_request.rb
+++ b/lib/net/http/generic_request.rb
@@ -186,7 +186,9 @@ class Net::HTTPGenericRequest
if filename
filename = quote_string(filename, charset)
type = h[:content_type] || 'application/octet-stream'
- buf << "Content-Disposition: form-data; name=\"#{key}\"; filename=\"#{filename}\"\r\nContent-Type: #{type}\r\n\r\n"
+ buf << "Content-Disposition: form-data; " \
+ "name=\"#{key}\"; filename=\"#{filename}\"\r\n" \
+ "Content-Type: #{type}\r\n\r\n"
if !out.respond_to?(:write) || !value.respond_to?(:read)
# if +out+ is not an IO or +value+ is not an IO
buf << (value.respond_to?(:read) ? value.read : value)
diff --git a/lib/rss/rss.rb b/lib/rss/rss.rb
index e1b37e6a39..3d90d54912 100644
--- a/lib/rss/rss.rb
+++ b/lib/rss/rss.rb
@@ -591,10 +591,10 @@ EOC
def #{accessor_name}=(*args)
receiver = self.class.name
- warn("Warning:\#{caller.first.sub(/:in `.*'\z/, '')}: " <<
- "Don't use `\#{receiver}\##{accessor_name} = XXX'/" <<
- "`\#{receiver}\#set_#{accessor_name}(XXX)'. " <<
- "Those APIs are not sense of Ruby. " <<
+ warn("Warning:\#{caller.first.sub(/:in `.*'\z/, '')}: " \
+ "Don't use `\#{receiver}\##{accessor_name} = XXX'/" \
+ "`\#{receiver}\#set_#{accessor_name}(XXX)'. " \
+ "Those APIs are not sense of Ruby. " \
"Use `\#{receiver}\##{plural_name} << XXX' instead of them.")
if args.size == 1
@#{accessor_name}.push(args[0])
diff --git a/sample/test.rb b/sample/test.rb
index 11f15de938..26cf0a1d97 100755
--- a/sample/test.rb
+++ b/sample/test.rb
@@ -1612,6 +1612,10 @@ test_check "string & char"
test_ok("abcd" == "abcd")
test_ok("abcd" =~ /abcd/)
test_ok("abcd" === "abcd")
+# compile time string concatenation
+test_ok("ab" "cd" == "abcd")
+test_ok("#{22}aa" "cd#{44}" == "22aacd44")
+test_ok("#{22}aa" "cd#{44}" "55" "#{66}" == "22aacd445566")
test_ok("abc" !~ /^$/)
test_ok("abc\n" !~ /^$/)
test_ok("abc" !~ /^d*$/)
diff --git a/test/json/test_json.rb b/test/json/test_json.rb
index 1f81cafd48..22cd5ee5a5 100755
--- a/test/json/test_json.rb
+++ b/test/json/test_json.rb
@@ -42,7 +42,8 @@ class TestJSON < Test::Unit::TestCase
'h' => 1000.0,
'i' => 0.001
}
- @json = '{"a":2,"b":3.141,"c":"c","d":[1,"b",3.14],"e":{"foo":"bar"},"g":"\\"\\u0000\\u001f","h":1.0E3,"i":1.0E-3}'
+ @json = '{"a":2,"b":3.141,"c":"c","d":[1,"b",3.14],"e":{"foo":"bar"},'\
+ '"g":"\\"\\u0000\\u001f","h":1.0E3,"i":1.0E-3}'
end
def test_construction
@@ -189,7 +190,8 @@ class TestJSON < Test::Unit::TestCase
assert_equal([1], parse('[1]'))
assert_equal([1], parse(' [ 1 ] '))
assert_equal(@ary,
- parse('[[1],["foo"],[3.14],[47.11e+2],[2718.0E-3],[null],[[1,-2,3]],[false],[true]]'))
+ parse('[[1],["foo"],[3.14],[47.11e+2],[2718.0E-3],[null],[[1,-2,3]]'\
+ ',[false],[true]]'))
assert_equal(@ary, parse(%Q{ [ [1] , ["foo"] , [3.14] \t , [47.11e+2]\s
, [2718.0E-3 ],\r[ null] , [[1, -2, 3 ]], [false ],[ true]\n ] }))
end
diff --git a/test/misc/test_ruby_mode.rb b/test/misc/test_ruby_mode.rb
index 2211a7f9b9..d654cdc34b 100644
--- a/test/misc/test_ruby_mode.rb
+++ b/test/misc/test_ruby_mode.rb
@@ -19,10 +19,10 @@ class TestRubyMode
EVAL_OPT = "--eval"
EXPR_SAVE = "(save-buffer)"
EXPR_RUBYMODE = "(ruby-mode)"
- EXPR_NOBACKUP = "(progn" <<
- " (set (make-local-variable \'backup-inhibited) t)" <<
- " (set-buffer-modified-p t)" <<
- ")"
+ EXPR_NOBACKUP = "(progn" \
+ " (set (make-local-variable \'backup-inhibited) t)" \
+ " (set-buffer-modified-p t)" \
+ ")"
def run_emacs(src, *exprs)
tmp = Tempfile.new(%w"ruby-mode.test. .rb")
diff --git a/test/ripper/test_scanner_events.rb b/test/ripper/test_scanner_events.rb
index 78d1f6495b..bcbbf0192c 100644
--- a/test/ripper/test_scanner_events.rb
+++ b/test/ripper/test_scanner_events.rb
@@ -656,13 +656,13 @@ class TestRipper::ScannerEvents < Test::Unit::TestCase
assert_equal ['<<-EOS'],
scan('heredoc_beg', "<<-EOS\nheredoc\n\tEOS \n")
assert_equal ['<<"EOS"'],
- scan('heredoc_beg', "<<\"EOS\"\nheredoc\nEOS")
+ scan('heredoc_beg', '<<"EOS"'"\nheredoc\nEOS")
assert_equal ["<<'EOS'"],
scan('heredoc_beg', "<<'EOS'\nheredoc\nEOS")
assert_equal ['<<`EOS`'],
scan('heredoc_beg', "<<`EOS`\nheredoc\nEOS")
assert_equal ['<<" "'],
- scan('heredoc_beg', "<<\" \"\nheredoc\nEOS")
+ scan('heredoc_beg', '<<" "'"\nheredoc\nEOS")
end
def test_tstring_content_HEREDOC
diff --git a/test/ruby/envutil.rb b/test/ruby/envutil.rb
index 53dd210868..3e04f55c0c 100644
--- a/test/ruby/envutil.rb
+++ b/test/ruby/envutil.rb
@@ -209,9 +209,9 @@ module Test
"-v", "-",
]
cmd = [
- %Q[END {STDERR.puts #{token_dump}+"FINAL=\#{Memory::Status.new.size}"}],
+ 'END {STDERR.puts '"#{token_dump}"'"FINAL=#{Memory::Status.new.size}"}',
prepare,
- %Q[STDERR.puts(#{token_dump}+"START=\#{$initial_size = Memory::Status.new.size}")],
+ 'STDERR.puts('"#{token_dump}"'"START=#{$initial_size = Memory::Status.new.size}")',
code,
].join("\n")
_, err, status = EnvUtil.invoke_ruby(args, cmd, true, true)
diff --git a/test/ruby/test_literal.rb b/test/ruby/test_literal.rb
index d9b999d22f..c34874e4a6 100644
--- a/test/ruby/test_literal.rb
+++ b/test/ruby/test_literal.rb
@@ -56,7 +56,6 @@ class TestRubyLiteral < Test::Unit::TestCase
assert_equal "\n", "\n"
bug2500 = '[ruby-core:27228]'
bug5262 = '[ruby-core:39222]'
- verbose, $VERBOSE = $VERBOSE, nil
%w[c C- M-].each do |pre|
["u", %w[u{ }]].each do |open, close|
["?", ['"', '"']].each do |qopen, qclose|
@@ -90,8 +89,6 @@ class TestRubyLiteral < Test::Unit::TestCase
assert_equal "\u201c", eval(%[?\\\u{201c}]), bug6069
assert_equal "\u201c".encode("euc-jp"), eval(%[?\\\u{201c}].encode("euc-jp")), bug6069
assert_equal "\u201c".encode("iso-8859-13"), eval(%[?\\\u{201c}].encode("iso-8859-13")), bug6069
- ensure
- $VERBOSE = verbose
end
def test_dstring
diff --git a/test/ruby/test_parse.rb b/test/ruby/test_parse.rb
index f4d8644e6a..8623960b42 100644
--- a/test/ruby/test_parse.rb
+++ b/test/ruby/test_parse.rb
@@ -560,7 +560,7 @@ FOO
end
assert_nothing_raised do
- eval "x = <\<FOO\r\n1\r\nFOO"
+ eval "x = <<""FOO\r\n1\r\nFOO"
end
assert_equal("1\n", x)
end
diff --git a/test/ruby/test_rubyoptions.rb b/test/ruby/test_rubyoptions.rb
index 9fedcc6ddf..c39a45afe8 100644
--- a/test/ruby/test_rubyoptions.rb
+++ b/test/ruby/test_rubyoptions.rb
@@ -303,9 +303,9 @@ class TestRubyOptions < Test::Unit::TestCase
end
bug4118 = '[ruby-dev:42680]'
- assert_in_out_err(%w[], "#!/bin/sh\n#!shebang\n#!ruby\nputs __LINE__\n",
+ assert_in_out_err(%w[], "#!/bin/sh\n""#!shebang\n""#!ruby\n""puts __LINE__\n",
%w[4], [], bug4118)
- assert_in_out_err(%w[-x], "#!/bin/sh\n#!shebang\n#!ruby\nputs __LINE__\n",
+ assert_in_out_err(%w[-x], "#!/bin/sh\n""#!shebang\n""#!ruby\n""puts __LINE__\n",
%w[4], [], bug4118)
end
@@ -498,22 +498,22 @@ class TestRubyOptions < Test::Unit::TestCase
assert_in_out_err(["-we", "def foo\n eval('a=1')\nend"], "", [], [], feature3446)
assert_in_out_err(["-we", "1.times do\n a=1\nend"], "", [], [], feature3446)
assert_in_out_err(["-we", "def foo\n 1.times do\n a=1\n end\nend"], "", [], ["-e:3: warning: assigned but unused variable - a"], feature3446)
- assert_in_out_err(["-we", "def foo\n 1.times do |a| end\nend"], "", [], [])
+ assert_in_out_err(["-we", "def foo\n"" 1.times do |a| end\n""end"], "", [], [])
feature6693 = '[ruby-core:46160]'
assert_in_out_err(["-we", "def foo\n _a=1\nend"], "", [], [], feature6693)
end
def test_shadowing_variable
bug4130 = '[ruby-dev:42718]'
- assert_in_out_err(["-we", "def foo\n a=1\n 1.times do |a| end\n a\nend"],
+ assert_in_out_err(["-we", "def foo\n"" a=1\n"" 1.times do |a| end\n"" a\n""end"],
"", [], ["-e:3: warning: shadowing outer local variable - a"], bug4130)
- assert_in_out_err(["-we", "def foo\n a=1\n 1.times do |a| end\nend"],
+ assert_in_out_err(["-we", "def foo\n"" a=1\n"" 1.times do |a| end\n""end"],
"", [],
["-e:3: warning: shadowing outer local variable - a",
"-e:2: warning: assigned but unused variable - a",
], bug4130)
feature6693 = '[ruby-core:46160]'
- assert_in_out_err(["-we", "def foo\n _a=1\n 1.times do |_a| end\nend"],
+ assert_in_out_err(["-we", "def foo\n"" _a=1\n"" 1.times do |_a| end\n""end"],
"", [], [], feature6693)
end
diff --git a/test/ruby/test_stringchar.rb b/test/ruby/test_stringchar.rb
index 7a4f77d967..4cae57f85f 100644
--- a/test/ruby/test_stringchar.rb
+++ b/test/ruby/test_stringchar.rb
@@ -5,6 +5,10 @@ class TestStringchar < Test::Unit::TestCase
assert_equal("abcd", "abcd")
assert_match(/abcd/, "abcd")
assert("abcd" === "abcd")
+ # compile time string concatenation
+ assert_equal("abcd", "ab" "cd")
+ assert_equal("22aacd44", "#{22}aa" "cd#{44}")
+ assert_equal("22aacd445566", "#{22}aa" "cd#{44}" "55" "#{66}")
assert("abc" !~ /^$/)
assert("abc\n" !~ /^$/)
assert("abc" !~ /^d*$/)
diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb
index eecc21e710..49522c42cd 100644
--- a/test/ruby/test_syntax.rb
+++ b/test/ruby/test_syntax.rb
@@ -118,7 +118,7 @@ class TestSyntax < Test::Unit::TestCase
def test_warn_unreachable
assert_warn("test:3: warning: statement not reached\n") do
- code = "loop do\nbreak\nfoo\nend"
+ code = "loop do\n" "break\n" "foo\n" "end"
assert_valid_syntax(code, "test") {$VERBOSE = true}
end
end