From: matz@... (Yukihiro Matsumoto) Date: 1997-04-15T02:01:56+09:00 Subject: [ruby-list:2825] Re: ruby 1.0-970414 released まつもと ゆきひろです. In message "[ruby-list:2821] Re: ruby 1.0-970414 released" on 97/04/14, TANAKA Shin-ichi writes: |田中といいます。はじめまして。 |makeはほぼ通るのですが、たとえばできたrubyであ伊藤さんのemieを実行しようと |すると | |:0: [BUG] unknown node type 0 | |と言い残して終わってしまいます。 すみません.GCのバグでした.yaccを疑って申し訳ない. --- gc.c~ Thu Apr 10 19:55:51 1997 +++ gc.c Tue Apr 15 01:59:15 1997 @@ -383,14 +383,22 @@ switch (nd_type(obj)) { case NODE_IF: /* 1,2,3 */ case NODE_UNLESS: + case NODE_FOR: + case NODE_ITER: gc_mark(obj->as.node.u2.node); /* fall through */ case NODE_BLOCK: /* 1,3 */ case NODE_ARRAY: + case NODE_DSTR: + case NODE_DXSTR: + case NODE_EVSTR: + case NODE_DREGX: + case NODE_DREGX_ONCE: + case NODE_FBODY: case NODE_CALL: - case NODE_FCALL: gc_mark(obj->as.node.u1.node); /* fall through */ + case NODE_FCALL: case NODE_SUPER: /* 3 */ obj = (RVALUE*)obj->as.node.u3.node; goto Top; @@ -399,7 +407,7 @@ case NODE_UNTIL: gc_mark(obj->as.node.u1.node); /* fall through */ - case NODE_SCOPE: /* 2 */ + case NODE_METHOD: /* 2 */ case NODE_NOT: obj = (RVALUE*)obj->as.node.u2.node; goto Top; @@ -407,12 +415,14 @@ case NODE_HASH: /* 1 */ case NODE_LIT: case NODE_STR: - case NODE_DSTR: case NODE_XSTR: - case NODE_DXSTR: - case NODE_EVSTR: case NODE_DEFINED: obj = (RVALUE*)obj->as.node.u1.node; + goto Top; + + case NODE_SCOPE: /* 2,3 */ + gc_mark(obj->as.node.u3.node); + obj = (RVALUE*)obj->as.node.u2.node; goto Top; case NODE_ZARRAY: /* - */