diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-18 07:43:47 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-18 07:43:47 +0000 |
commit | ca7bdc882bab78fffc91244496fd2c797018d881 (patch) | |
tree | 2291372e7f1c9b0c6739135a70abfecbe7079f07 | |
parent | ed82d1388f92757ec8f423ef859cff2b54b42bfc (diff) | |
download | ruby-ca7bdc882bab78fffc91244496fd2c797018d881.tar.gz |
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
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | parse.y | 2 |
2 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,9 @@ +Tue Jun 18 16:43:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * 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. + Tue Jun 18 12:53:25 2013 Tanaka Akira <akr@fsij.org> * bignum.c (nlz): Cast the result explicitly. @@ -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)) { |