diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-20 01:52:06 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-20 01:52:06 +0000 |
commit | 9a6c901fc431c58c0c607483ca2b41a20ceb4a4d (patch) | |
tree | 011f7e4cfaab9abbda1b8f07fb80bf642307ec98 /parse.y | |
parent | ce1fce4a4cefb095d2c65be7511608de9a6e4f4a (diff) | |
download | ruby-9a6c901fc431c58c0c607483ca2b41a20ceb4a4d.tar.gz |
* parse.y (special_local_set): prevent the parser object from GC.
fixed: [ruby-dev:25252]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -4468,7 +4468,7 @@ rb_compile_file(f, file, start) int start; { struct parser_params *parser = parser_new(); - volatile VALUE p = parser->value; + volatile VALUE p = parser->value; lex_gets = lex_io_gets; lex_input = file; @@ -8098,6 +8098,7 @@ special_local_set(c, val) { int cnt; struct parser_params *parser = parser_new(); + volatile VALUE p = parser->value; top_local_init(); cnt = local_cnt(c); |