summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-09-03 08:57:28 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-09-03 08:57:28 +0000
commitfb03cb8275d6028d082fedeaa29e237cbe66399a (patch)
tree053f6712fa467d30c46fa43dd69a24a881f4bbb1 /parse.y
parent468c258d3c0ebe448076ff3586ffc6e4b39830b8 (diff)
* parse.y (literal_concat_gen): concat body from dstr instead of
nd_next. [ruby-core:25284] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y4
1 files changed, 3 insertions, 1 deletions
diff --git a/parse.y b/parse.y
index f1f5d7882c..754b363f96 100644
--- a/parse.y
+++ b/parse.y
@@ -7844,7 +7844,9 @@ literal_concat_gen(struct parser_params *parser, NODE *head, NODE *tail)
head = tail;
}
else if (NIL_P(tail->nd_lit)) {
- list_concat(head, tail->nd_next);
+ head->nd_alen += tail->nd_alen - 1;
+ head->nd_next->nd_end->nd_next = tail->nd_next;
+ head->nd_next->nd_end = tail->nd_next->nd_end;
rb_gc_force_recycle((VALUE)tail);
}
else {