summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-20 01:52:06 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-20 01:52:06 +0000
commit9a6c901fc431c58c0c607483ca2b41a20ceb4a4d (patch)
tree011f7e4cfaab9abbda1b8f07fb80bf642307ec98 /parse.y
parentce1fce4a4cefb095d2c65be7511608de9a6e4f4a (diff)
* 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.y3
1 files changed, 2 insertions, 1 deletions
diff --git a/parse.y b/parse.y
index 2006610b90..91815b3216 100644
--- a/parse.y
+++ b/parse.y
@@ -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);