とみたです。

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