summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-18 07:43:47 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-18 07:43:47 +0000
commitca7bdc882bab78fffc91244496fd2c797018d881 (patch)
tree2291372e7f1c9b0c6739135a70abfecbe7079f07 /parse.y
parented82d1388f92757ec8f423ef859cff2b54b42bfc (diff)
parse.y: clear lex_strterm
* parse.y (parser_heredoc_restore): clear lex_strterm always to get rid of marking recycled node. this bug is revealed by r41372 with GC.stress=true. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y2
1 files changed, 1 insertions, 1 deletions
diff --git a/parse.y b/parse.y
index d6a8a0374c..c69556f70e 100644
--- a/parse.y
+++ b/parse.y
@@ -6345,6 +6345,7 @@ parser_heredoc_restore(struct parser_params *parser, NODE *here)
{
VALUE line;
+ lex_strterm = 0;
line = here->nd_orig;
lex_lastline = line;
lex_pbeg = RSTRING_PTR(line);
@@ -6419,7 +6420,6 @@ parser_here_document(struct parser_params *parser, NODE *here)
#endif
restore:
heredoc_restore(lex_strterm);
- lex_strterm = 0;
return 0;
}
if (was_bol() && whole_match_p(eos, len, indent)) {