井澤@東北大といいます。

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; }