なかだです。

At Wed, 2 Oct 2002 18:38:42 +0900,
Nobuyoshi-Nakada wrote:
> > |このtcltklib.cに関するlogがないんですが、
> > |1.6にはrb_proc_newはありません。
> > |
> > |tcltklib.o(.text+0x1a29):tcltklib.c: undefined reference to `rb_proc_new'
> > 
> > むう、修正しておきます。
> 
> rb_f_lambda()を使うようになってますが、これでできるんでしたっけ。
> たしかPUSH_ITER(ITER_CUR)してなくてできないので、rb_proc_new()
> が必要だったような気がするのですが。

これを試そうとしてうっかりTclTkIp.new._invokeなんてやったらSEGV
しました。


Index: ext/tcltklib/tcltklib.c =================================================================== RCS file: /cvs/ruby/src/ruby/ext/tcltklib/tcltklib.c,v retrieving revision 1.6.2.4 diff -u -2 -p -r1.6.2.4 tcltklib.c --- ext/tcltklib/tcltklib.c 1 Oct 2002 08:15:26 -0000 1.6.2.4 +++ ext/tcltklib/tcltklib.c 2 Oct 2002 09:48:09 -0000 @@ -756,4 +756,7 @@ ip_invoke(argc, argv, obj) Tcl_QueuePosition position; + if (argc < 1) { + rb_raise(rb_eArgError, "command name missing"); + } if (eventloop_thread == 0 || current == eventloop_thread) { DUMP2("invoke from current eventloop %lx", current);
-- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦