diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-06-26 23:29:10 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-06-26 23:29:10 +0000 |
commit | 264d2e4da91c6c8fe04442b447647726710e0cde (patch) | |
tree | 4b1b03e81f40c3a08e3e5201e096865351a2ff8f /parse.y | |
parent | 0fdfc0bbef8f28882ec2f8946a76ee31497ee5c6 (diff) |
* parse.y (literal_concat_string): non-string last expression in
#{} was ignored when followed by literal.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -4359,7 +4359,7 @@ literal_concat_string(head, tail, str) NODE *head, *tail; VALUE str; { - NODE *last = head, *last1 = 0; + NODE *last = head, *last1 = 0, *prev = 0; for (;;) { switch (nd_type(last)) { @@ -4368,10 +4368,11 @@ literal_concat_string(head, tail, str) break; case NODE_BLOCK: case NODE_DSTR: + if (!last1) last1 = prev; + prev = last; while (last->nd_next) { last = last->nd_next; } - if (!last1) last1 = last; last = last->nd_head; break; case NODE_STR: |