This is the mail archive of the
guile-gtk@sourceware.cygnus.com
mailing list for the Guile project.
Re: gtk-clist-append does not work with shared substrings
"Greg J. Badros" <gjb@cs.washington.edu> 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 <mvo@zagadka.ping.de>
* 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.