From: densuke@...2.so-net.or.jp Date: 1998-01-25T18:42:52+09:00 Subject: [ruby-list:6006] ruby 1.1b6 & gtk module 佐藤@東邦大です。1.0から1.1b6に乗り換えようとしています。 これはバグといえるものではありませんが... rubyのmake、 -O3をつけてコンパイルするとmake testでcoreを吐いてくれまし た。-Oだと大丈夫でした。 $good = true; for i in 4000..4096 n1 = 1 << i; $good = false if ((n1**2-1) / (n1+1) != (n1-1)) <- ここで吐く end ok($good) gtkのモジュール(ruby-gtk-0.01.tar.gz)をmakeしようとしました。 gtk+-0.99.3でやったのですが、引数の不一致等でエラーになるので修正しまし た。 --- gtk/gtk.c Tue Jan 20 15:32:03 1998 +++ gtk.new/gtk.c Sun Jan 25 11:04:47 1998 @@ -1934,7 +1934,7 @@ Check_Type(RARRAY(titles)->ptr[i], T_STRING); buf[i] = RSTRING(RARRAY(titles)->ptr[i])->ptr; } - set_widget(self, gtk_clist_new(len, buf)); + set_widget(self, gtk_clist_new(len)); return Qnil; } @@ -5860,7 +5860,7 @@ rb_define_const(mGtk, "ANCHORED", INT2FIX(GTK_ANCHORED)); rb_define_const(mGtk, "BASIC", INT2FIX(GTK_BASIC)); rb_define_const(mGtk, "USER_STYLE", INT2FIX(GTK_USER_STYLE)); - rb_define_const(mGtk, "GRAB_ALL", INT2FIX(GTK_GRAB_ALL)); +/* rb_define_const(mGtk, "GRAB_ALL", INT2FIX(GTK_GRAB_ALL)); */ rb_define_const(mGtk, "REDRAW_PENDING", INT2FIX(GTK_REDRAW_PENDING)); rb_define_const(mGtk, "RESIZE_PENDING", INT2FIX(GTK_RESIZE_PENDING)); rb_define_const(mGtk, "RESIZE_NEEDED", INT2FIX(GTK_RESIZE_NEEDED)); とりあえずこれで動くのですが、サンプルのtest?.rbを動かすと、closeのボタ ンを押したときに [densuke@usi gtk]$ ruby test.rb test.rb:96:in `main': undefined method `(null)' for # (NameError) from test.rb:96 となります。Gtk::main()でいずれも発生します。 static VALUE gtk_m_main(self) VALUE self; { gtk_main(); return Qnil; } gtk_main()という関数が原因かもしれないのですが、この関数はどこにも見つけ られませんでした。 日本語がでればけっこう手軽に使えるのでいいかなぁと思っています。 === やさいはけんこうにいちばーん!たくさんたべんとおおきくなれんよー! (シルバー王女@クレヨン王国) ばーい 佐藤 大輔/densuke@ga2.so-net.or.jp (CQD00116@niftyserve.or.jp) Application/MS-* のマルチパートが付いたメールは読みません。 基本的に化けたメールは読みません。