Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this software; see the file COPYING.  If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.




TODO items for guile-gtk
------------------------

? Allow symbols (or keywords) as signal names? glade-xml-signal-(auto)connect-full
  creates a lot of strings with signal names (and it is likely those signal names
  will not be garbage collected - because they get trapped in closure protected
  by signal handler...)

For 1.0:

* Make metaspline do funky things.

* Code review.

* Cover gtk-1.2 as far as possible.

* Look into threading issues.

  - SCM_DEFER_INTS is probably unnecessarily restrictive, and could
    block other threads through slightly long periods doing an X
    server round trip.  Perhaps using the same mutex as
    gdk_threads_enter would be enough.

  - In various places the mutex protection should probably be extended
    across the "return" expression in the glue code.  For instance
    gtk-label-get does an scm_makfrom0str there, of a string which
    belongs to gtk and could potentially be invalidated by another
    thread changing the widget.

* Proper option parsing for build-guile-gtk.

* Allow inexact numbers for ints?

* Integrate guile-gtk into gnome-guile with autoconf support for
  people who don't have Gnome.

* Cover gnome-libs-1.0 as far as possible.

Later:

* Write a real high level toolkit based on these bindings.  Look into
  CLIM for this.
