From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marius Vollmer To: "Greg J. Badros" Cc: guile-gtk@sourceware.cygnus.com Subject: Re: gtk-clist-append does not work with shared substrings Date: Thu, 20 Jan 2000 22:13:00 -0000 Message-id: <87ogagbb8l.fsf@zagadka.ping.de> References: <87snzt6frz.fsf@zagadka.ping.de> X-SW-Source: 2000-q1/msg00025.html "Greg J. Badros" writes: > That's the same as mine. I get the same *responses* as you, but the > CLIST is not populated with the correct strings. Try this: Ahh, I see. There are two bugs in guile-gtk that prevent it from working. The first is that no automatic type conversion used for composite objects (including the one that takes substrings to normal strings), and the second is that guile-gtk accepts substrings as valid types but can't deal with them then. I have fixed the second bug, so now your example will produce a "Wrong type argument" error. The first bug needs more work and more thought, because of memory management issues and of mode `out' parameters. You can work around the first bug by explicitely using string-copy to get from a substring to an equal normal string. My current thinking is to convert a composite of mode `in' by copying it, and one of mode `out' or `inout' by modifying it in place. Any thoughts about this? > Right-- I may care about which GTk+, but I'm more likely to care about > which guile-gtk. We need both, and only the former is available. You can now use gtkconf-guile-gtk-version to get at the guile-gtk version. gtkconf-version will now reflect the version of Gtk+ that is actually active. 2000-01-20 Marius Vollmer * build-guile-gtk (emit-funcs): The `string' type now only accepts non-substrings. * gdk-1.2.defs, gdk-1.3.defs (gdk_pixmap_create_from_xpm): New. * gtk/config.scm.in (gtkconf-libdir): Construct from $myexecprefix. (gtkconf-default-version): New variable, takes old role of gtkconf-version. (gtkconf-version): Initialize to `#f', will bet set to the right value once the glue code has been loaded. (gtkconf-guile-gtk-version): New variable, reflects version of guile-gtk package itself. * gtk/dynlink.scm (gtk-version-set): Take version number as string and construct prefix from it. Set gtkconf-version. Changed all callers.