Just a warning that I'm about to start comitting a whole raft of changes to make gnucash unstable CVS compatible with the new g-wrap. Once I'm finished, everyone (as the helpful configure message will warn you) will need to do a make distclean (most likely), update to latest CVS, and then upgrade to at least g-wrap 1.3.2.
You can get g-wrap-1.3.2.tar.gz from ftp.gnucash.org/pub/g-wrap/sources. For those interested, some improvements include: - much better run-time wrapper error checking/handling. As an example, g-wrapped functions accepting/returning limited range integer types will now signal range and type errors independently. - the beginings of glib support, including support for <gw:gint64> (independent of guile version across 1.3.4, 1.4, and 1.5 -- i.e. we work around earlier guile's bit-operation problems), and support for the somewhat strange "composite type", gw:glist-of, which allows you to specify arguments/return-values with complex composed types like this: (gw:glist-of (<gw:gchars> caller-owned) caller-owned) This specifies a C argument or return value that's a GList* of g_new allocated character strings, where the caller owns both the spine of the list and the actual strings. G-wrap will automatically convert back and forth between the scheme side scheme list and the C side GList* generating and destroying both the GList and it's contents when appropriate. You should even be able to say something like this if you really wanted to: (gw:glist-of (gw:glist-of (<gw:gchars> callee-owned) callee-owned) caller-owned) In all of these cases, g-wrap should be careful about destroying partially converted C-side values when errors occur, before throwing the actual scheme side error -- reducing the possibility of a memory leak, which can be important for anyone trying to recover from such an error. - wrapping/handling gnome-guile objects transparently so you can wrap your own functions and they'll accept/return gnome guile objects via the modules (g-wrap gtkobj) and (g-wrap gw-gtk) (gw:wrap-as-gtkobj '<my-foo-gtkobj> "FooWidget") - modularized support for g-wrap's own guile side C pointer wrapper system "wct" via (g-wrap gw-wct) and gw:wrap-as-wct. - support for wrapping C side constant values via (gw:wrap-value my-gl-red '<gw:int> "GL_RED") - major overhaul of internals to provide more flexibility for those writing their own types. - much more extensive "make check" regression testing. This has been a major help finding/fixing bugs during development. -- Rob Browning rlb @defaultvalue.org, @linuxdevel.com, and @debian.org Previously @cs.utexas.edu GPG=1C58 8B2C FB5E 3F64 EA5C 64AE 78FE E5FE F0CB A0AD _______________________________________________ gnucash-devel mailing list [EMAIL PROTECTED] http://www.gnumatic.com/cgi-bin/mailman/listinfo/gnucash-devel