aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--parse.y4
-rw-r--r--test/ruby/test_literal.rb3
2 files changed, 5 insertions, 2 deletions
diff --git a/parse.y b/parse.y
index 4c2d032d07..f9acacc0fb 100644
--- a/parse.y
+++ b/parse.y
@@ -3869,10 +3869,10 @@ strings : string
$$ = $1;
%*/
}
- | tCHAR
;
-string : string1
+string : tCHAR
+ | string1
| string string1
{
/*%%%*/
diff --git a/test/ruby/test_literal.rb b/test/ruby/test_literal.rb
index 05b81f944d..28290fb19d 100644
--- a/test/ruby/test_literal.rb
+++ b/test/ruby/test_literal.rb
@@ -90,6 +90,9 @@ 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
+
+ assert_equal "ab", eval("?a 'b'")
+ assert_equal "a\nb", eval("<<A 'b'\na\nA")
end
def test_dstring