aboutsummaryrefslogtreecommitdiffstats
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
parentce1fce4a4cefb095d2c65be7511608de9a6e4f4a (diff)
downloadruby-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
-rw-r--r--ChangeLog5
-rw-r--r--parse.y3
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 3e473a48a2..4ef3540fd7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Dec 20 10:51:58 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (special_local_set): prevent the parser object from GC.
+ fixed: [ruby-dev:25252]
+
Mon Dec 20 03:30:40 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/cgi/session.rb (CGI::Session#initialize): empty session id was
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);