summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-01-22 07:21:40 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-01-22 07:21:40 +0000
commit5c96b48af37abddd4ba454d91863fcc97629c462 (patch)
tree53e51b1645687bc93877f6b2c5e66db82124630e /parse.y
parent56fd9130367162ba31de614f4bf4030ba86c2747 (diff)
* parse.y (string_content): reset lexical states at the beginning of
string contents. [ruby-list:39061] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y4
1 files changed, 4 insertions, 0 deletions
diff --git a/parse.y b/parse.y
index 6bf656f..1de67b5 100644
--- a/parse.y
+++ b/parse.y
@@ -2063,10 +2063,14 @@ string_content : tSTRING_CONTENT
$<node>$ = lex_strterm;
lex_strterm = 0;
lex_state = EXPR_BEG;
+ COND_PUSH(0);
+ CMDARG_PUSH(0);
}
compstmt '}'
{
lex_strterm = $<node>2;
+ COND_LEXPOP();
+ CMDARG_LEXPOP();
if (($$ = $3) && nd_type($$) == NODE_NEWLINE) {
$$ = $$->nd_next;
rb_gc_force_recycle((VALUE)$3);