summaryrefslogtreecommitdiffstats
path: root/gc.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-12-26 13:33:14 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-12-26 13:33:14 +0000
commit5e7a785b405eb533f1a52f1bbf057bbbe89fa6ee (patch)
treee7a4ebf6d948a323be51af989ef19b3707dbc424 /gc.c
parentb72e4fe85236cf76a63f8664d32b87fe1a53b952 (diff)
downloadruby-5e7a785b405eb533f1a52f1bbf057bbbe89fa6ee.tar.gz
ruby-5e7a785b405eb533f1a52f1bbf057bbbe89fa6ee.tar.xz
ruby-5e7a785b405eb533f1a52f1bbf057bbbe89fa6ee.zip
* eval.c (rb_eval), gc.c (gc_mark_children), node.h (NEW_ALIAS,
NEW_VALIAS), parse.y (fitem): allow dynamic symbols to NODE_UNDEF and NODE_ALIAS. backported from trunk. fixed: [ruby-dev:28105] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@9738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gc.c b/gc.c
index c172a0841..7c8324cf6 100644
--- a/gc.c
+++ b/gc.c
@@ -814,6 +814,8 @@ gc_mark_children(ptr, lev)
case NODE_OP_ASGN_OR:
case NODE_OP_ASGN_AND:
case NODE_MODULE:
+ case NODE_ALIAS:
+ case NODE_VALIAS:
gc_mark((VALUE)obj->as.node.u1.node, lev);
/* fall through */
case NODE_METHOD: /* 2 */
@@ -828,6 +830,7 @@ gc_mark_children(ptr, lev)
case NODE_COLON3:
case NODE_OPT_N:
case NODE_EVSTR:
+ case NODE_UNDEF:
ptr = (VALUE)obj->as.node.u2.node;
goto again;
@@ -867,11 +870,8 @@ gc_mark_children(ptr, lev)
case NODE_CVAR:
case NODE_NTH_REF:
case NODE_BACK_REF:
- case NODE_ALIAS:
- case NODE_VALIAS:
case NODE_REDO:
case NODE_RETRY:
- case NODE_UNDEF:
case NODE_SELF:
case NODE_NIL:
case NODE_TRUE: