とみたです。 At Sun, 30 Jan 2000 12:14:07 +0900, Hiroshi IGARASHI <igarashi / ueda.info.waseda.ac.jp> wrote: > Ruby/GTKのsnapshotを出しました。 > > http://www.ueda.info.waseda.ac.jp/~igarashi/ruby/ruby-gtk-SNAPSHOT-20000130.tar.gz > > 問題なければ、だいぶ間が空きましたが0.23を出してしまおうと思います。 すいません、添付のパッチを取り込んで頂けませんでしょうか。このパッチは、 シグナルコールバック関数で、入力文字列を置き換えた場合に、それを出力に反 映されるためのものです。このパッチを適用してもプログラム API は変わりな いはずです。 前に次のように書きましたが、 At Tue, 28 Dec 1999 01:26:11 +0900, とみたまさひろ <tommy / tmtm.org> wrote: > signal_handler_block/unblock を使うことで、シグナル関数中で > position の値の変更は(とりあえず)必要なくなりました。 > ので、position の実装をどうするかは、もっと議論してからでもいいです。 ぜんぜん、ダメでした (^^; なんで当時 OK だと思ったのかわかりません。今回 確認するまでずっと OK だと思ってました…(^^;; このパッチを適用すれば道が ひらけます。 -- とみたまさひろ <tommy / tmtm.org> *** rbgtk.c.orig Fri Jan 28 09:28:42 2000 --- rbgtk.c Mon Jan 31 15:30:03 2000 *************** *** 655,660 **** --- 655,671 ---- return; } } + if (rb_obj_is_kind_of(obj, gEditable)) { + if (signal_comp(signame, "insert_text", GTK_TYPE_EDITABLE)) { + VALUE pos = rb_ary_pop(args); + VALUE str = rb_ary_pop(args); + int pre_len = GTK_VALUE_INT(params[1]); + int aft_len = RSTRING(str)->len; + strncpy(GTK_VALUE_STRING(params[0]), RSTRING(str)->ptr, + pre_len <= aft_len? pre_len: aft_len+1); + return; + } + } } static void