summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-06 02:44:51 +0000
committeraamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-06 02:44:51 +0000
commite389d3d1530e22be209afa7925deeb8409e225ae (patch)
tree56f93c87135e9ee80ba50fcc20c3f7ea1137d915
parent5ef74b512cd7e8878dfadb8cc2cebc45466aeb0a (diff)
* parse.y (rb_gc_mark_parser): should mark parse.y global variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--parse.y12
2 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index c07163f0ef..042fc8c314 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Sep 6 11:47:37 2002 Minero Aoki <aamine@loveruby.net>
+
+ * parse.y (rb_gc_mark_parser): should mark parse.y global
+ variables.
+
Fri Sep 6 10:34:32 2002 Minero Aoki <aamine@loveruby.net>
* io.c (rb_io_puts): RSTRING(line)->ptr might be NULL.
diff --git a/parse.y b/parse.y
index 0945560aa0..153f669514 100644
--- a/parse.y
+++ b/parse.y
@@ -5356,9 +5356,13 @@ ruby_parser_stack_on_heap()
void
rb_gc_mark_parser()
{
- if (ruby_in_compile) {
- rb_gc_mark_maybe((VALUE)yylval.node);
- }
+ if (!ruby_in_compile) return;
+
+ rb_gc_mark_maybe((VALUE)yylval.node);
+ rb_gc_mark((VALUE)ruby_eval_tree_begin);
+ rb_gc_mark((VALUE)ruby_eval_tree);
+ rb_gc_mark((VALUE)lex_lastline);
+ rb_gc_mark((VALUE)lex_strterm);
}
void
@@ -5443,8 +5447,6 @@ Init_sym()
{
sym_tbl = st_init_strtable_with_size(200);
sym_rev_tbl = st_init_numtable_with_size(200);
- rb_global_variable((VALUE*)&lex_lastline);
- rb_global_variable((VALUE*)&lex_strterm);
}
static ID last_id = LAST_TOKEN;