summaryrefslogtreecommitdiffstats
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
commitd9b9d8743892c3b544fd4e40bbc7a6df18e65490 (patch)
tree53e51b1645687bc93877f6b2c5e66db82124630e /parse.y
parent7ad4b5f38b41f52def9031a3342223632f1e7a7e (diff)
downloadruby-d9b9d8743892c3b544fd4e40bbc7a6df18e65490.tar.gz
ruby-d9b9d8743892c3b544fd4e40bbc7a6df18e65490.tar.xz
ruby-d9b9d8743892c3b544fd4e40bbc7a6df18e65490.zip
* parse.y (string_content): reset lexical states at the beginning of
string contents. [ruby-list:39061] git-svn-id: http://svn.ruby-lang.org/repos/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 6bf656fe2..1de67b58f 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);