summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-02 12:04:43 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-02 12:04:43 +0000
commit9a332ae56035fec60a5df9aaf33460bd66fa8f7e (patch)
tree2a69a4f48eb7e804103d400e3750f5ee5aba77fd
parent6dbc1a53ea7451f9b79d96f6d608764b9d2f9684 (diff)
downloadruby-9a332ae56035fec60a5df9aaf33460bd66fa8f7e.tar.gz
ruby-9a332ae56035fec60a5df9aaf33460bd66fa8f7e.tar.xz
ruby-9a332ae56035fec60a5df9aaf33460bd66fa8f7e.zip
* parse.y (literal_concat0): tail can be nil. [ruby-dev:38980]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--bootstraptest/test_syntax.rb5
-rw-r--r--parse.y1
3 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 239b487f1..a2d728195 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sun Aug 2 21:04:37 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (literal_concat0): tail can be nil. [ruby-dev:38980]
+
Sun Aug 2 20:09:07 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* array.c (rb_ary_combination, rb_ary_product): prevent from GC.
diff --git a/bootstraptest/test_syntax.rb b/bootstraptest/test_syntax.rb
index 131625ea6..6843b2328 100644
--- a/bootstraptest/test_syntax.rb
+++ b/bootstraptest/test_syntax.rb
@@ -831,3 +831,8 @@ assert_normal_exit %q{
assert_equal 'ok', %q{
"#{}""#{}ok"
}, '[ruby-dev:38968]'
+
+
+assert_equal 'ok', %q{
+ "o" "#{}k"
+}, '[ruby-dev:38980]'
diff --git a/parse.y b/parse.y
index 80fef61f3..646e0ceef 100644
--- a/parse.y
+++ b/parse.y
@@ -7782,6 +7782,7 @@ list_concat_gen(struct parser_params *parser, NODE *head, NODE *tail)
static int
literal_concat0(struct parser_params *parser, VALUE head, VALUE tail)
{
+ if (NIL_P(tail)) return 1;
if (!rb_enc_compatible(head, tail)) {
compile_error(PARSER_ARG "string literal encodings differ (%s / %s)",
rb_enc_name(rb_enc_get(head)),