■ [ruby] Binding.of_callerが1.8.5から動かなくなったのは set_trace_funcのバグが修正されたためだそうです(私信)。 つまりBinding.of_callerは存在自体がバグだったらしいw 関数を抜ける直前にフック"return"が呼ばれるべきなのに、関数を抜けた直後に呼ばれていたという。 あとCレベルで実装しようとすると(例) 必要な情報を常に持ってないといけなくなるので、of_callerのためにそこまですべきか…という話になるらしい。 もう少しマシな実装として、&blockみたいに適当な記号(ここでは^とする)を使って def foo(a, b, ^bdg) ... みたいに書いておくとbdgに呼び出し元のbindingが入る…みたいな案はあったそうな(実装はされず)。 ■ [prog] Befungeが来てる件 http://d.haten