Ruby 1.9.0: Gnome bindings broken

I am glad to see that ruby 1.9 is a reality, with great work done in
the performance department. Thanks to all the fine brains that were
involved.

It is now difficult for me to test the new version because most of
what I do uses GTK. And ruby-gnome2 does not compile with ruby
1.9.0. Most of the changes that are needed are trivial, but there is
one big problem in glib, where the main loop is defined
(rbglib_mainloop.c). This code does low-level manipulation of
rb_thread_t structures, which are not public anymore.

I posted a message on the ruby-gnome2-devel-en mailing list three days
ago, but I saw no echo to it. I tried to put my hands into the code
but it is a bit mysterious to me (why add a g_source? sources are
supposed to monitor open files…).

I was also encountering crashes where the C code of ruby-gnome2 did
things like:

proc_mod_eval = rb_eval_string(“lambda{|obj,proc|
obj.module_eval(&proc)}”);

(two instances in rbgobj_object.c, one in rbgtkcontainer.c).

I can provide my current patchset (from the latest svn source), with
which I can successfully compile the whole code, but with it, timeout
or idle functions to be ran within the main GTK loop do not work, and
the screen is not refreshed… Also, some changes are wild guesses.

Carlo

It is now difficult for me to test the new version because most of
what I do uses GTK.

I think we have to wait for the ruby-gnome maintainers on that.

On 27 Dec 2007, at 08:47, Carlo E. Prelz wrote:

I was also encountering crashes where the C code of ruby-gnome2 did
things like:

proc_mod_eval = rb_eval_string(“lambda{|obj,proc|
obj.module_eval(&proc)}”);

I know nothing about gnome, but this looks like it might hit a known
bug: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/14379

Fred