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 + + * parse.y (special_local_set): prevent the parser object from GC. + fixed: [ruby-dev:25252] + Mon Dec 20 03:30:40 2004 Nobuyoshi Nakada * 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);