井澤@東北大といいます。 In <m106GRe-0017pNC / ev.netlab.co.jp> matz / netlab.co.jp (Yukihiro Matsumoto) writes : > |おそらくバグだと思われます。 > |# まだRTEST忘れのバグが残ってたのですね。うーむ。 > > がーん,いかんなあ.パッチ取り込みます. これで思い出したんですが、hash.cのdelete_ifにも同じ問題がありませんか。 もう発見されてるかもしれないけど。
diff -u -r1.1 hash.c --- hash.c 1999-02-04 20:30:22+09 1.1 +++ hash.c 1999-02-04 20:30:38+09 @@ -455,7 +455,7 @@ VALUE key, value; { if (key == Qnil) return ST_CONTINUE; - if (rb_yield(rb_assoc_new(key, value))) + if (RTEST(rb_yield(rb_assoc_new(key, value)))) return ST_DELETE; return ST_CONTINUE; }