diff --git a/ChangeLog b/ChangeLog index 55c395f3ac..f9e911784f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Jun 29 23:56:01 2006 Yukihiro Matsumoto + + * gc.c (gc_mark_children): a bug in NODE_BLOCK_PASS marking. + [ruby-dev:28908] + Thu Jun 29 23:04:36 2006 Yukihiro Matsumoto * parse.y: use ARGSPUSH instead of ARGSCAT to prevent too much @@ -8,8 +13,7 @@ Thu Jun 29 23:04:36 2006 Yukihiro Matsumoto * eval.c (block_orphan): lambda and proc from method are always orphan. - * gc.c (gc_mark_children): proper marking for NODE_BLOCK_PASS and - NODE_LAMBDA. + * gc.c (gc_mark_children): proper marking for NODE_LAMBDA. Thu Jun 29 22:47:30 2006 Tanaka Akira diff --git a/gc.c b/gc.c index 34090d9b4c..a3aaca1057 100644 --- a/gc.c +++ b/gc.c @@ -794,6 +794,7 @@ gc_mark_children(VALUE ptr, int lev) case NODE_RESBODY: case NODE_CLASS: case NODE_ARGS: + case NODE_BLOCK_PASS: gc_mark((VALUE)obj->as.node.u2.node, lev); /* fall through */ case NODE_BLOCK: /* 1,3 */ @@ -833,7 +834,6 @@ gc_mark_children(VALUE ptr, int lev) case NODE_MODULE: case NODE_ALIAS: case NODE_VALIAS: - case NODE_BLOCK_PASS: case NODE_LAMBDA: gc_mark((VALUE)obj->as.node.u1.node, lev); /* fall through */