[#26664] refactoring tcltklib.c (deleted ip check) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
山本です。
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
[#26711] --with-static-linked-extするとrequireできないライブラリがある — IWATSUKI Hiroyuki <don@...>
岩月と申します。
なかだです。
[#26721] TkVariable.new_hash 経由だと trace が発生しない — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#26723] Fixnum演算メソッド中のcoerceの削減 — Tadashi Saito <shiba@...2.accsnet.ne.jp>
斎藤と申します。
[#26743] zsuper in a method with optional arg — "NAKAMURA, Hiroshi" <nakahiro@...>
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
[#26745] TkCheckbutton#variable as getter? — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
[#26753] some questions about tcltklib.c — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
永井@知能.九工大です.
山本です。
[#26764] multi-thread and logger — Nobuhiro IMAI <nov@...>
いまいです。
[#26791] Failure: test_block_passing(TestIterator) — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
まつもと ゆきひろです
[#26800] reducing PUSH_TAG in rescue, and useless exceptions — nobu@...
なかだです。
[#26808] test/nkf/test_kconv.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#26817] test/socket/test_tcp.rb freeze on windows — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
こんにちは、なかむら(う)です。
山本です。
山本です。
こんにちは、なかむら(う)です。
山本です。
こんにちは、なかむら(う)です。
山本です。返信が遅れてすみません。
[#26829] cannot check EOF of pipe on windows — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
山本です。
こんにちは、なかむら(う)です。
山本です。
なかだです。
山本です。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
山本です。
[#26840] [BUG] oniguruma + utf-8 — "NAKAMURA, Hiroshi" <nakahiro@...>
-----BEGIN PGP SIGNED MESSAGE-----
[#26851] ripper for 1.8 — Tanaka Akira <akr@...17n.org>
ruby-1.8 で動かす gonzui で、ruby code の解析をしたいという要望があっ
[#26872] irb -I/ruby -Iと$LOAD_PATH — akira yamada / やまだあきら <akira@...>
Debianユーザからruby -Iとirb -Iで
なかだです。
nobuyoshi nakada wrote:
けいじゅ@いしつかです.
けいじゅ@いしつかです.
なかだです。
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
[#26883] top level include on load(filename, true) — Shugo Maeda <shugo@...>
前田です。
[#26897] fail on make install — KIMURA Koichi <kimura.koichi@...>
木村です。
こんにちは、なかむら(う)です。
木村です。
木村です。
木村です。
こんにちは、なかむら(う)です。
木村です。
こんにちは、なかむら(う)です。
なかだです。
山本です。
なかだです。
なかだです。
山本です。
こんにちは、なかむら(う)です。
なかだです。
まつもと ゆきひろです
山本です。
なかだです。
[#26900] multiplying empty string — nobuyoshi nakada <nobuyoshi.nakada@...>
まつもと ゆきひろです
In article <1125327516.070646.12845.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1125356798.802509.8788.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1125369966.174424.13781.nullmailer@x31.priv.netlab.jp>,
[ruby-dev:26765] ip_finalize でデバッグモードを解除しないと落ちる問題について
山本です。
tcltklib.c の ip_finalize でデバッグモードを解除しないと
落ちるというのは、ファイナライザが呼ばれる時点で rb_stderr が解放
されてしまっているのではないでしょうか。TYPE(rb_stderr) == 0 と
なっているため、後続の関数の TYPE(rb_stderr) == T_FILE が成り立たず、
無限ループになってしまってました。(結果、スタックオーバーフローで落ちる)
というか、ファイナライザで ruby コードが走ってもいいんでしょうか?
コールバック経由で ruby コードが呼ばれているようだったのですが。
////////////////////////////////////////////////
// とりあえず落ちなくなるパッチ
Index: io.c
===================================================================
RCS file: /src/ruby/io.c,v
retrieving revision 1.375
diff -u -w -b -p -r1.375 io.c
--- io.c 27 Jul 2005 07:27:18 -0000 1.375
+++ io.c 8 Aug 2005 11:57:53 -0000
@@ -3934,8 +3934,13 @@ rb_write_error2(mesg, len)
const char *mesg;
long len;
{
+ if (TYPE(rb_stderr)) {
rb_io_write(rb_stderr, rb_str_new(mesg, len));
}
+ else {
+ fprintf(mesg, len, 1, stderr);
+ }
+}
void
rb_write_error(mesg)
Index: ext/tk/tcltklib.c
===================================================================
RCS file: /src/ruby/ext/tk/tcltklib.c,v
retrieving revision 1.36
diff -u -w -b -p -r1.36 tcltklib.c
--- ext/tk/tcltklib.c 6 Aug 2005 16:27:12 -0000 1.36
+++ ext/tk/tcltklib.c 8 Aug 2005 11:56:26 -0000
@@ -4278,14 +4278,14 @@ ip_finalize(ip)
delete_slaves(ip);
/* delete root widget */
-#if 0
+#if 1
DUMP1("check `destroy'");
if (Tcl_GetCommandInfo(ip, "destroy", &info)) {
DUMP1("call `destroy'");
Tcl_GlobalEval(ip, "destroy .");
}
#endif
-#if 1
+#if 0
DUMP1("destroy root widget");
if (tk_stubs_init_p() && Tk_MainWindow(ip) != (Tk_Window)NULL) {
DUMP1("call Tk_DestroyWindow");
//////////////////////////
// 結果
E:\ruby-cvs\win32>ruby ..\ruby\runruby.rb --ext=".ext" -- -d -C ..\ruby\ext\tk\s
ample binstr_usage.rb
(snip)
E:/ruby-cvs/win32/.ext/tk.rb:1118: warning: instance variable @tk_cmd_tbl not in
itialized
tcltklib: finish ip_ruby_cmd_core
tcltklib: receiver:TkCore
tcltklib: arg:c00000
tcltklib: arg:.w00001.w00002
tcltklib: call ip_ruby_cmd_core
E:/ruby-cvs/win32/.ext/tk.rb:1118: warning: instance variable @tk_cmd_tbl not in
itialized
tcltklib: finish ip_ruby_cmd_core
tcltklib: receiver:TkCore
tcltklib: arg:c00000
tcltklib: arg:.w00001.w00003
tcltklib: call ip_ruby_cmd_core
E:/ruby-cvs/win32/.ext/tk.rb:1118: warning: instance variable @tk_cmd_tbl not in
itialized
tcltklib: finish ip_ruby_cmd_core
tcltklib: receiver:TkCore
tcltklib: arg:c00000
tcltklib: arg:.w00001.w00004
tcltklib: call ip_ruby_cmd_core
E:/ruby-cvs/win32/.ext/tk.rb:1118: warning: instance variable @tk_cmd_tbl not in
itialized
tcltklib: finish ip_ruby_cmd_core
tcltklib: receiver:TkCore
tcltklib: arg:c00000
tcltklib: arg:.w00001
tcltklib: call ip_ruby_cmd_core
E:/ruby-cvs/win32/.ext/tk.rb:1118: warning: instance variable @tk_cmd_tbl not in
itialized
tcltklib: finish ip_ruby_cmd_core
tcltklib: receiver:TkCore
tcltklib: arg:c00000
tcltklib: arg:.
tcltklib: call ip_ruby_cmd_core
E:/ruby-cvs/win32/.ext/tk.rb:1118: warning: instance variable @tk_cmd_tbl not in
itialized
tcltklib: finish ip_ruby_cmd_core
tcltklib: check `finalize-hook-proc'
tcltklib: call finalize hook proc 'INTERP_FINALIZE_HOOK'
tcltklib: check `foreach' & `after'
tcltklib: cancel after callbacks
tcltklib: finish ip_finalize
tcltklib: complete freeing Tcl Interp