まつもと ゆきひろです
In message "[ruby-dev:18445] Re: [ruby-cvs] ruby/ext/tcltklib: * eval.c (ruby_run): should set toplevel visibility again here."
on 02/10/03, nobu.nakada / nifty.ne.jp <nobu.nakada / nifty.ne.jp> writes:
|> |たしかPUSH_ITER(ITER_CUR)してなくてできないので、rb_proc_new()
|> |が必要だったような気がするのですが。
|> |
|> | *(q->result) = rb_funcall(rb_iterate(rb_f_lambda, 0, ivq_safelevel_handler,
|> | Data_Wrap_Struct(rb_cData,0,0,q)),
|> | rb_intern("call"), 0);
|>
|> あれえ、できなかったっけか。
|
|ように思うんですが。そもそもこのivq_safelevel_handlerがどういう
|ときに呼ばれるかよく分かってなくてテストしてないんですが、こう
|いうサンプルではエラーになります。
そうみたいですね。中田さんのパッチのほうにしましょうか。
|$ ruby-1.6 -v -rlambda -e0
|ruby-1.6: tried to create Proc object without a block (ArgumentError)
|ruby 1.6.8 (2002-10-02) [i686-linux]
|
|うーん、拡張ライブラリで例外が起きたときのファイル名がおかしい…。
初期化の途中では__FILE__がargv[0]になっているせいでしょうね。
-rでの拡張モジュールのロード中ではこれがせいいぱいではないか
と。
で、このパッチは具体的になにを修正するもんなんですかね。