From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.user Subject: [ann] guile-gnome-platform 2.15.97 released Date: Thu, 10 Apr 2008 17:52:58 +0200 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1207842861 5469 80.91.229.12 (10 Apr 2008 15:54:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 10 Apr 2008 15:54:21 +0000 (UTC) To: guile-user Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Thu Apr 10 17:54:45 2008 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Jjz6D-0006LM-JX for guile-user@m.gmane.org; Thu, 10 Apr 2008 17:54:05 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jjz5a-0002MG-0s for guile-user@m.gmane.org; Thu, 10 Apr 2008 11:53:26 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jjz5W-0002Ll-F9 for guile-user@gnu.org; Thu, 10 Apr 2008 11:53:22 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jjz5V-0002LF-RC for guile-user@gnu.org; Thu, 10 Apr 2008 11:53:22 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jjz5V-0002L7-Of for guile-user@gnu.org; Thu, 10 Apr 2008 11:53:21 -0400 Original-Received: from a-sasl-quonix.sasl.smtp.pobox.com ([208.72.237.25] helo=sasl.smtp.pobox.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jjz5V-00073D-EC for guile-user@gnu.org; Thu, 10 Apr 2008 11:53:21 -0400 Original-Received: from localhost.localdomain (localhost [127.0.0.1]) by a-sasl-quonix.sasl.smtp.pobox.com (Postfix) with ESMTP id B06CE23B1 for ; Thu, 10 Apr 2008 11:53:20 -0400 (EDT) Original-Received: from unquote (7.Red-83-36-163.dynamicIP.rima-tde.net [83.36.163.7]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-sasl-quonix.sasl.smtp.pobox.com (Postfix) with ESMTP id D350923AF for ; Thu, 10 Apr 2008 11:53:17 -0400 (EDT) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Solaris 10 (beta) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:6532 Archived-At: (copying guile-user) Greetings lambda wranglers, I am pleased to announce the release of guile-gnome-platform version 2.15.97. guile-gnome-platform 2.15.97 may be downloaded from: http://ftp.gnu.org/pub/gnu/guile-gnome/guile-gnome-platform/guile-gnome-platform-2.15.97.tar.gz About guile-gnome-platform ========================== guile-gnome-platform is a binding between Guile Scheme and the Gnome stack of libraries. This release is a part of the unstable 2.15 series, which aims to wrap the libraries in the Gnome Developer Platform at version 2.16. It is unstable, but 2.16.0 will be stable. Around December, I realized that our core (gnome gobject) presented a needlessly complicated interface because of the multiple layers at which we wrapped C objects: , <%gtype-class>, and ; <%gtype-instance> and ; etc. So for this release I rewrote the core pointer-binding machinery to collapse those types, resulting in the removal of lots of redundant, and little-used API. If this sounds like it's scary, it's really not -- very little application code changes after this; basically you just substitute GTypes for classes, e.g. gtype:foo changes to . But still, sorry for the churn. It's a necessary step that takes us closer to a stable release. One caveat: I haven't updated the documentation yet. Wrappers like (gnome gtk) should be the same, though, it's just (gnome gobject) that will be updated. Call me an optimist, but at this point I think that 2.16.0 could happen within a month. Please see the notes for the changes in the glib wrapper, and test your code. Thanks! Changes ======= packaging changes ----------------- * No user-visible changes. atk --- * New platform release, no change. cairo ----- * New platform release, no change. corba ----- * Adapt to changes in (gnome gobject). corba-typecode->gtype-class is the new name for corba-typecode->gtype. * Compilation fix if BONOBO_EX is already defined. defs ---- * New platform release, no change. docs ---- * New platform release, no change. gconf ----- * Adapt to changes in (gnome gobject). glib ---- * Major rewrite of low-level (gnome gobject) code. GTypes are no longer exposed to Scheme. Instead, types are represented directly as instances. Internally, instances know their GType, because is stored in a , which stores a raw (untagged) word -- the perfect size for a GType. Similarly, I also removed the need for <%gtype-instance> smobs as well, through interesting trickery: the GOOPS objects directly store the GTypeInstance* pointer in a . The trickery is that we can be notified when the struct is collected, via monkeypatching the objects to free via a custom function, scm_gtype_instance_struct_free. This allows us to unref the object. The same strategy was applied to GValue wrappers. With this change, Guile-GNOME no longer holds C data in SMOBs. Removing the , <%gtype-class>, <%gtype-instance>, and primitive types has allowed for the removal of much useless, non-orthogonal glue API. Signals and parameters are also represented natively with GOOPS objects, not structures. There is no overhead for this, as GOOPS objects are in fact structures, whose VTable is their class. This is an incompatible change, but one which allows me to commit to a stable API/ABI, perhaps in the next release. Please test your programs against this version, so that I can help you port, and so that we can make sure that the API is fine. gnome-vfs --------- * Adapt to changes in (gnome gobject). gtk --- * New function wrapper: gtk-widget-get-state. * Reintroduce gtk-menu-popup wrapper, this time supporting the menu positioning function. * Adapt to changes in (gnome gobject). * Interface changes: Tree models now deal in instances, now that there are no more GType objects. This applies to the list store, tree store, and the generic tree model. * Make the texinfo viewer understand more kinds of @def commands. libglade -------- * Adapt to changes in (gnome gobject). libgnome -------- * New platform release, no change. libgnomecanvas -------------- * Compilation fixes with picky compilers. libgnomeui ---------- * New platform release, no change. pango ----- * New platform release, no change. -- http://wingolog.org/