From MAILER-DAEMON Thu Oct 02 04:49:36 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A4z9T-0004Cw-Tj for mharc-guile-gtk-general@gnu.org; Thu, 02 Oct 2003 04:49:35 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A4z8X-0003no-1U for guile-gtk-general@gnu.org; Thu, 02 Oct 2003 04:48:37 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A4z74-0002eJ-Q3 for guile-gtk-general@gnu.org; Thu, 02 Oct 2003 04:47:37 -0400 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1A4z5y-00020i-8P for guile-gtk-general@gnu.org; Thu, 02 Oct 2003 04:45:58 -0400 Received: from localhost (mantis.schoolnet.na [::ffff:196.44.140.238]) (AUTH: LOGIN wingo) by ambient.2y.net with esmtp; Thu, 02 Oct 2003 04:45:53 -0400 Received: from wingo by localhost with local (Exim 3.36 #1 (Debian)) id 1A4y2F-0000Lt-00 for ; Thu, 02 Oct 2003 09:38:03 +0200 Date: Thu, 2 Oct 2003 09:38:03 +0200 From: Andy Wingo To: guile-gtk-general@gnu.org Message-ID: <20031002073803.GA1178@lark> Mail-Followup-To: guile-gtk-general@gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Operating-System: Linux lark 2.4.20-1-686 User-Agent: Mutt/1.5.4i Sender: Andy Wingo Subject: guile-gobject commit X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Oct 2003 08:49:34 -0000 Hi all, I just committed some cleanups that result in nicer information printing when bindings are being generated. I improved the name mangler so that GtkIMContext => gtk-im-context but GtkHBox => gtk-hbox. I also added glade bindings to guile-gtk, including signal connection and autoconnection. It seems to work pretty well. That took about three or four hours to write last night -- I really enjoy coding on this project ;) Of course, glade is only built if you have it on your system. Look at the overrides file for glade and at glade-support.[ch] if you want to see how to make custom overrides for certain functions. Regards, wingo. From MAILER-DAEMON Thu Oct 02 04:50:37 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A4z99-00040q-Cw for mharc-guile-gtk-general@gnu.org; Thu, 02 Oct 2003 04:49:15 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A4z7t-0003gs-Sj for guile-gtk-general@gnu.org; Thu, 02 Oct 2003 04:47:57 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A4z72-0002ac-CB for guile-gtk-general@gnu.org; Thu, 02 Oct 2003 04:47:35 -0400 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1A4z6E-00020i-A9 for guile-gtk-general@gnu.org; Thu, 02 Oct 2003 04:46:14 -0400 Received: from localhost (mantis.schoolnet.na [::ffff:196.44.140.238]) (AUTH: LOGIN wingo) by ambient.2y.net with esmtp; Thu, 02 Oct 2003 04:45:56 -0400 Received: from wingo by localhost with local (Exim 3.36 #1 (Debian)) id 1A4ZTL-0007Qh-00 for ; Wed, 01 Oct 2003 07:24:23 +0200 Date: Wed, 1 Oct 2003 07:24:22 +0200 From: Andy Wingo To: guile-gtk-general@gnu.org Message-ID: <20031001052422.GA26966@lark> Mail-Followup-To: guile-gtk-general@gnu.org References: <87ptjornbn.fsf@alice.rotty.yi.org> <20030804162116.GA1217@lark> <871xulk3v7.fsf@zip.com.au> <87fziz5exr.fsf@alice.rotty.yi.org> <87fziy7wzb.fsf_-_@alice.rotty.yi.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline In-Reply-To: <87fziy7wzb.fsf_-_@alice.rotty.yi.org> X-Operating-System: Linux lark 2.4.20-1-686 User-Agent: Mutt/1.5.4i Sender: Andy Wingo Subject: Re: GOOPS slowness [was: Compiling guile-gobject experiences] X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Oct 2003 08:49:13 -0000 On Mon, 15 Sep 2003, Andreas Rottmann wrote: > [Cc'ed to guile-devel since this is a guile/GOOPS speed issue; For the moment I'm just replying to guile-gtk... > Context: The new guile-gobject Guile bindings for GTK+ use GOOPS to > provide an OO interface. Building this interface (at binding module > load time) is painfully slow (leading to a 10 seconds total for > loading the whole GTK+ binding on my machine (Athlon 900)). Your work certainly did a lot, although I can't quantify right now. What I can say is that on my Celeron 600, it now takes 10 seconds to load up Gtk. 10.8 according to bash's time function. Which makes me wonder about your Athlon, which should be much faster. It's hard to tell, though; I was also doing a bit of hacking on the binding generator. Really, I just wanted to clean up the informational output when the bindings are being made, and I wanted to fix the de-StudlyCapsification so it would get gtk-im-context and friends properly. So I don't know if I did anything, but it's a lot less slow than it used to be. I'll commit what I have, and we'll see if there's any difference for you. One note with what I have is that although it gets GtkIMContext->gtk_im_context_* properly, the Gtk+ API is strange in that GtkVBox->gtk_vbox_* whereas it should be gtk_v_box_*. Which way is correct? For now, I just fixed everything to and , although I don't really care either way. Opinions? Regards, wingo. From MAILER-DAEMON Mon Oct 06 11:12:11 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A6X1u-0001Ry-TN for mharc-guile-gtk-general@gnu.org; Mon, 06 Oct 2003 11:12:10 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A6X1s-0001RP-IN for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 11:12:08 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A6X1M-0001KK-Ng for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 11:12:07 -0400 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1A6X1M-0001K6-9I for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 11:11:36 -0400 Received: (qmail 23472 invoked by uid 65534); 6 Oct 2003 15:11:34 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp027) with SMTP; 06 Oct 2003 17:11:34 +0200 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.22) id 1A6X3O-0002HO-Gq; Mon, 06 Oct 2003 17:13:42 +0200 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1A6X3a-0002oc-00; Mon, 06 Oct 2003 17:13:54 +0200 X-From-Line: nobody Mon Oct 6 08:48:54 2003 To: guile-gtk@sources.redhat.com, guile-gtk-general@gnu.org From: Andreas Rottmann Message-ID: <87y8vy7tey.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) Content-Type: text/plain; charset=us-ascii Date: Mon, 06 Oct 2003 17:13:54 +0200 MIME-Version: 1.0 Sender: Andreas Rottmann Cc: Rob Browning Subject: guile-gobject/g-wrap status update X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Oct 2003 15:12:09 -0000 Hi! [BTW: There seem to be two guile-gtk mailing lists ATM - I guess people should migrate to the one at GNU...] I'm ATM working at implementing "glueless" wrapping for g-wrap, i.e. instead of using a dedicated C wrapper for each wrapped function creating an applicable smob that invokes a general marshaller which in turn calls the C function via libffi. This of course means a good amount of modifying/hacking g-wrap (Hi, Rob!), mostly to spit out all the necessary argument type information, so it can be used for marshalling. My main idea is to have each type have a flag that indicates it is "dynamic" (suggestions for better name welcome), which means that the type can be marshalled at runtime. Whenever all argument types on a wrapped function are dynamic, g-wrap will be able to spit out a bunch of conversion functions (c->scm, scm->c, c-destructor, ...) for each argument type along with a desciption of the argument types (basically function pointers to the conversion functions). This information then will be used by the marshaller. For a start, I plan to make all types that are generated by (gw:wrap-simple-type) dynamic. Regards, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 Python is executable pseudocode, Perl is executable line-noise. From MAILER-DAEMON Mon Oct 06 11:35:21 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A6XOL-0003B5-Aj for mharc-guile-gtk-general@gnu.org; Mon, 06 Oct 2003 11:35:21 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A6XOK-0003Aq-3M for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 11:35:20 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A6XNn-000351-T5 for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 11:35:18 -0400 Received: from [66.93.216.237] (helo=defaultvalue.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1A6XNn-00034w-Ha for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 11:34:47 -0400 Received: from raven.i.defaultvalue.org (raven.i.defaultvalue.org [192.168.1.7]) by defaultvalue.org (Postfix) with ESMTP id 645F63FB2; Mon, 6 Oct 2003 10:34:42 -0500 (CDT) Received: by raven.i.defaultvalue.org (Postfix, from userid 1000) id 4036481121; Mon, 6 Oct 2003 10:34:42 -0500 (CDT) To: Andreas Rottmann References: <87y8vy7tey.fsf@alice.rotty.yi.org> From: Rob Browning Date: Mon, 06 Oct 2003 10:34:42 -0500 In-Reply-To: <87y8vy7tey.fsf@alice.rotty.yi.org> (Andreas Rottmann's message of "Mon, 06 Oct 2003 17:13:54 +0200") Message-ID: <87zngez8fh.fsf@raven.i.defaultvalue.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: guile-gtk@sources.redhat.com, guile-gtk-general@gnu.org Subject: Re: guile-gobject/g-wrap status update X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Oct 2003 15:35:20 -0000 Andreas Rottmann writes: > [BTW: There seem to be two guile-gtk mailing lists ATM - I guess > people should migrate to the one at GNU...] > > I'm ATM working at implementing "glueless" wrapping for g-wrap, > i.e. instead of using a dedicated C wrapper for each wrapped function > creating an applicable smob that invokes a general marshaller which in > turn calls the C function via libffi. Interesting. A couple of questions come to mind. First, how portable is libffi? Will it cover all the existing architectures? Also, do we know what the overhead's likely to be? I suppose the performance argument could go either way when comparing to the existing approach since the existing one-function-per-wrapper approach may well have poorer interactions with the memory hierarchy. In any case, I do want to preserve the ability for people who want to, to be able to have close to minimal ffcall overhead using g-wrap. When calling from interpreted languages, you may have a lot more leeway before you noticably affect performance, but in the long run, I'm hoping guile will also provide some form of compilation. On a related front, I've decided to just use CVS at savannah, so I should be setting that up over the next week (plus or minus -- I have family coming to visit). It also probably makes sense to have a place where those interested can discuss "what should happen next" with g-wrap. I'm happy to have that discussion on an existing list if that would be appropriate, or to create a new one. I've had some ideas I'd like to discuss, and to compare and contrast (to the extent that they overlap) with the above. Thanks -- Rob Browning rlb @defaultvalue.org and @debian.org; previously @cs.utexas.edu GPG starting 2002-11-03 = 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 From MAILER-DAEMON Mon Oct 06 18:25:45 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A6dnT-0001jf-KE for mharc-guile-gtk-general@gnu.org; Mon, 06 Oct 2003 18:25:43 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A6dnM-0001et-CQ for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 18:25:36 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A6dmo-0001N3-Ge for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 18:25:33 -0400 Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1A6dlo-00011d-N4 for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 18:24:00 -0400 Received: from [61.8.0.36] (helo=snoopy.pacific.net.au) by mx20.gnu.org with esmtp (Exim 4.24) id 1A6dhC-0007UZ-6u for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 18:19:14 -0400 Received: from mongrel.pacific.net.au (mongrel.pacific.net.au [61.8.0.107]) by snoopy.pacific.net.au (8.12.3/8.12.3/Debian-6.6) with ESMTP id h96MJCYH015159 for ; Tue, 7 Oct 2003 08:19:12 +1000 Received: from localhost (ppp10.dyn228.pacific.net.au [203.143.228.10]) by mongrel.pacific.net.au (8.12.3/8.12.3/Debian-6.6) with ESMTP id h96MFpst020719 for ; Tue, 7 Oct 2003 08:15:52 +1000 Received: from gg by localhost with local (Exim 3.35 #1 (Debian)) id 1A6dh1-0000et-00; Tue, 07 Oct 2003 08:19:03 +1000 To: guile-gtk-general@gnu.org References: <20031002073803.GA1178@lark> From: Kevin Ryde Mail-Copies-To: never Date: Tue, 07 Oct 2003 08:19:02 +1000 Message-ID: <87u16mrovd.fsf@zip.com.au> User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: guile-gobject commit X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Oct 2003 22:25:41 -0000 Andy Wingo writes: > > I also added glade bindings to guile-gtk, including signal connection > and autoconnection. It seems to work pretty well. That took about three > or four hours to write last night -- I really enjoy coding on this > project ;) Did you forget to checkin libglade-overrides.defs? gnome/gtk/Makefile.am seems to demand it. From MAILER-DAEMON Mon Oct 06 18:26:50 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A6doX-0002iX-Uh for mharc-guile-gtk-general@gnu.org; Mon, 06 Oct 2003 18:26:49 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A6doU-0002f4-B1 for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 18:26:46 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A6dnt-00022L-3W for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 18:26:32 -0400 Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1A6dnE-00011d-D4 for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 18:25:28 -0400 Received: from [61.8.0.36] (helo=snoopy.pacific.net.au) by mx20.gnu.org with esmtp (Exim 4.24) id 1A6dep-0007Ma-RU for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 18:16:48 -0400 Received: from mongrel.pacific.net.au (mongrel.pacific.net.au [61.8.0.107]) by snoopy.pacific.net.au (8.12.3/8.12.3/Debian-6.6) with ESMTP id h96MGeYH014319 for ; Tue, 7 Oct 2003 08:16:40 +1000 Received: from localhost (ppp10.dyn228.pacific.net.au [203.143.228.10]) by mongrel.pacific.net.au (8.12.3/8.12.3/Debian-6.6) with ESMTP id h96MDIst020274 for ; Tue, 7 Oct 2003 08:13:18 +1000 Received: from gg by localhost with local (Exim 3.35 #1 (Debian)) id 1A6deY-0000eY-00; Tue, 07 Oct 2003 08:16:30 +1000 To: guile-gtk-general@gnu.org From: Kevin Ryde Mail-Copies-To: never Date: Tue, 07 Oct 2003 08:16:28 +1000 Message-ID: <873ce6t3k3.fsf@zip.com.au> User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Subject: guile-gobject c99ism X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Oct 2003 22:26:47 -0000 --=-=-= * guile-gnome-gobject.c (scm_sys_function_to_method_public): Don't put variable declarations in the middle of the function, that's a c99-ism. --=-=-= Content-Disposition: attachment; filename=guile-gnome-gobject.c.c99.diff --- guile-gnome-gobject.c.~1.3.~ 1970-01-01 10:00:01.000000000 +1000 +++ guile-gnome-gobject.c 2003-10-04 14:05:41.000000000 +1000 @@ -707,6 +707,8 @@ SCM specializers; SCM default_val; SCM arg_syms; + SCM procm; + SCM meth; int i; char buffer[32]; @@ -760,10 +762,10 @@ scm_make_variable (default_val)); } - SCM procm = scm_closure (scm_list_2 (arg_syms, scm_cons (proc, arg_syms)), + procm = scm_closure (scm_list_2 (arg_syms, scm_cons (proc, arg_syms)), scm_top_level_env (SCM_TOP_LEVEL_LOOKUP_CLOSURE)); - SCM meth = scm_make (scm_list_5 (scm_class_method, + meth = scm_make (scm_list_5 (scm_class_method, scm_c_make_keyword ("specializers"), specializers, scm_c_make_keyword ("procedure"), procm)); --=-=-=-- From MAILER-DAEMON Mon Oct 06 19:05:20 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A6ePm-00079H-MF for mharc-guile-gtk-general@gnu.org; Mon, 06 Oct 2003 19:05:18 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A6ePV-00075R-Cn for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 19:05:01 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A6eKa-0005rm-Ex for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 19:00:27 -0400 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1A6eKZ-0005r1-OC for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 18:59:55 -0400 Received: (qmail 6882 invoked by uid 65534); 6 Oct 2003 22:59:51 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp012) with SMTP; 07 Oct 2003 00:59:51 +0200 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.22) id 1A6eMZ-0002tC-Lc; Tue, 07 Oct 2003 01:01:59 +0200 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1A6eMj-0002wu-00; Tue, 07 Oct 2003 01:02:09 +0200 To: Rob Browning References: <87y8vy7tey.fsf@alice.rotty.yi.org> <87zngez8fh.fsf@raven.i.defaultvalue.org> From: Andreas Rottmann Date: Tue, 07 Oct 2003 01:02:09 +0200 In-Reply-To: <87zngez8fh.fsf@raven.i.defaultvalue.org> (Rob Browning's message of "Mon, 06 Oct 2003 10:34:42 -0500") Message-ID: <87y8vyq8b2.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Cc: guile-gtk@sources.redhat.com, guile-gtk-general@gnu.org Subject: Re: guile-gobject/g-wrap status update X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Oct 2003 23:05:16 -0000 Rob Browning writes: > Andreas Rottmann writes: > >> [BTW: There seem to be two guile-gtk mailing lists ATM - I guess >> people should migrate to the one at GNU...] >> >> I'm ATM working at implementing "glueless" wrapping for g-wrap, >> i.e. instead of using a dedicated C wrapper for each wrapped function >> creating an applicable smob that invokes a general marshaller which in >> turn calls the C function via libffi. > > Interesting. A couple of questions come to mind. First, how portable > is libffi? Will it cover all the existing architectures? > At auric.debian.org: rotty@auric:~% madison libffi2 libffi2 | 1:3.0.4-7 | stable | alpha, arm, i386, ia64, m68k, powerpc, s390, sparc libffi2 | 1:3.3.2-0pre4 | testing | alpha, arm, i386, ia64, m68k, powerpc, s390, sparc libffi2 | 1:3.3.2-0pre4 | unstable | arm, m68k, powerpc, s390, sparc libffi2 | 1:3.3.2-0pre5 | unstable | alpha, i386, ia64 So libffi seems pretty portable. > Also, do we know what the overhead's likely to be? I suppose the > performance argument could go either way when comparing to the > existing approach since the existing one-function-per-wrapper > approach may well have poorer interactions with the memory > hierarchy. In any case, I do want to preserve the ability for > people who want to, to be able to have close to minimal ffcall > overhead using g-wrap. > I plan to make "glueless" wrapping an optional feature that you can turn on and off at your delight (at wrapper creation time, that is, of course). > When calling from interpreted languages, you may have a lot more > leeway before you noticably affect performance, but in the long run, > I'm hoping guile will also provide some form of compilation. > Yes, I'd like to see that, too. > On a related front, I've decided to just use CVS at savannah, so I > should be setting that up over the next week (plus or minus -- I > have family coming to visit). > Cool. I think that you can integrate GNU arch somehow with CVS, so if we are going to do multi-branch development (which CVS is poor at), we could have just the mainline in CVS and use arch for the harrier stuff I think. I've not yet very much looked into arch, but perhaps someone else here has real experience. > It also probably makes sense to have a place where those interested > can discuss "what should happen next" with g-wrap. I'm happy to > have that discussion on an existing list if that would be > appropriate, or to create a new one. I've had some ideas I'd like > to discuss, and to compare and contrast (to the extent that they > overlap) with the above. > Maybe guile-gtk is appropriate (the GNU one, /methinks), but I'm not the one to decide this and I'll be happy either way. Regards, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 From MAILER-DAEMON Mon Oct 06 20:35:04 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A6fod-0004I5-NB for mharc-guile-gtk-general@gnu.org; Mon, 06 Oct 2003 20:35:03 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A6fob-0004H7-Ic for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 20:35:01 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A6fo5-00047Y-Lz for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 20:35:00 -0400 Received: from [216.254.0.211] (helo=mail.speakeasy.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1A6fo5-00046i-4b for guile-gtk-general@gnu.org; Mon, 06 Oct 2003 20:34:29 -0400 Received: (qmail 1489 invoked from network); 7 Oct 2003 00:34:27 -0000 Received: from unknown (HELO faust.local) (wallhall@[66.93.48.245]) (envelope-sender ) by mail11.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 7 Oct 2003 00:34:27 -0000 Date: Mon, 6 Oct 2003 20:37:10 -0400 From: David Pirotte To: guile-gtk-general@gnu.org Message-Id: <20031006203710.647a6b7c.david@altosw.be> Organization: Alto Air Services [http://www.altosw.be/aas/] X-Mailer: Sylpheed version 0.9.6 (GTK+ 1.2.10; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: error when trying to compile guile-gobject X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Oct 2003 00:35:02 -0000 Hello, I just checked out a new guile-gobject tree from cvs, configure and make, but here is what I get when compiling Many thanks for some hint, David SuSE 8.2 gnome 2.2.0 gcc (GCC) 3.3 20030226 (prerelease) (SuSE Linux) Guile 1.6.4 ... ... gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I. -I. -Wno-unused -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/local/include -I /usr/include/g-wrap -g -O2 -MT libguile_gnome_gw_gobject_la-guile-gnome-gw-gobject.lo -MD -MP -MF .deps/libguile_gnome_gw_gobject_la-guile-gnome-gw-gobject.Tpo -c guile-gnome-gw-gobject.c -fPIC -DPIC -o libguile_gnome_gw_gobject_la-guile-gnome-gw-gobject.lo guile-gnome-gw-gobject.c:6:34: g-wrap-compatibility.h: No such file or directory guile-gnome-gw-gobject.c:10:24: g-wrap-wct.h: No such file or directory guile-gnome-gw-gobject.c: In function `gw__tmp142_g_source_set_closure_wrapper': guile-gnome-gw-gobject.c:502: warning: assignment makes pointer from integer without a cast make[4]: *** [libguile_gnome_gw_gobject_la-guile-gnome-gw-gobject.lo] Error 1 make[4]: Leaving directory `/usr/local/src/guile/guile-gobject/gnome/gobject' make[3]: *** [all] Error 2 make[3]: Leaving directory `/usr/local/src/guile/guile-gobject/gnome/gobject' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/local/src/guile/guile-gobject/gnome' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/src/guile/guile-gobject' make: *** [all] Error 2 david@faust:/usr/local/src/guile/guile-gobject 31 $ From MAILER-DAEMON Tue Oct 07 09:15:43 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A6rga-00030a-Ii for mharc-guile-gtk-general@gnu.org; Tue, 07 Oct 2003 09:15:32 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A6rgV-0002vO-1h for guile-gtk-general@gnu.org; Tue, 07 Oct 2003 09:15:27 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A6rfl-0002Pi-F9 for guile-gtk-general@gnu.org; Tue, 07 Oct 2003 09:15:12 -0400 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1A6rfU-0002Hr-3x for guile-gtk-general@gnu.org; Tue, 07 Oct 2003 09:14:24 -0400 Received: from localhost (mantis.schoolnet.na [::ffff:196.44.140.238]) (AUTH: LOGIN wingo) by ambient.2y.net with esmtp; Tue, 07 Oct 2003 09:14:07 -0400 Received: from wingo by localhost with local (Exim 3.36 #1 (Debian)) id 1A6rUC-0000SW-00 for ; Tue, 07 Oct 2003 15:02:44 +0200 Date: Tue, 7 Oct 2003 15:02:44 +0200 From: Andy Wingo To: guile-gtk-general@gnu.org Message-ID: <20031007130244.GA1390@lark> Mail-Followup-To: guile-gtk-general@gnu.org References: <20031002073803.GA1178@lark> <87u16mrovd.fsf@zip.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline In-Reply-To: <87u16mrovd.fsf@zip.com.au> X-Operating-System: Linux lark 2.4.20-1-686 User-Agent: Mutt/1.5.4i Sender: Andy Wingo Subject: Re: guile-gobject commit X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Oct 2003 13:15:30 -0000 On Tue, 07 Oct 2003, Kevin Ryde wrote: > Andy Wingo writes: > > > > I also added glade bindings to guile-gtk, including signal connection > > and autoconnection. It seems to work pretty well. That took about three > > or four hours to write last night -- I really enjoy coding on this > > project ;) > > Did you forget to checkin libglade-overrides.defs? > gnome/gtk/Makefile.am seems to demand it. Whoops! Sorry, it should be there now. Regards, wingo. From MAILER-DAEMON Thu Oct 09 15:21:35 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A7gLv-0000fC-Mx for mharc-guile-gtk-general@gnu.org; Thu, 09 Oct 2003 15:21:35 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A7gLr-0000e8-Nz for guile-gtk-general@gnu.org; Thu, 09 Oct 2003 15:21:31 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A7gLL-0000bH-OU for guile-gtk-general@gnu.org; Thu, 09 Oct 2003 15:21:30 -0400 Received: from [216.254.0.209] (helo=mail.speakeasy.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1A7gLL-0000ae-5g for guile-gtk-general@gnu.org; Thu, 09 Oct 2003 15:20:59 -0400 Received: (qmail 11951 invoked by uid 64014); 9 Oct 2003 19:20:57 -0000 Received: from david@altosw.be by mail9.speakeasy.net with AmikaGuardian-Server-2.0.0 (Processed in 0.716415 secs); 09 Oct 2003 19:20:57 -0000 X-AmikaGuardian-Id: mail9.speakeasy.net106572725623611929 X-AmikaGuardian-Category: AN:Non-Junk Content : -1.0 X-AmikaGuardian-Category: AN:Vectored : 0.8 X-AmikaGuardian-Category: AN:Non-Junk Clues : -1.0 X-AmikaGuardian-Category: AN:Forwarded Mail : 0.8 X-AmikaGuardian-Category: AN:Override : 0.8 X-AmikaGuardian-Category: AN:Junk Mail : -1.0 X-AmikaGuardian-Category: AN:Exception : 0.8 X-AmikaGuardian-Action: Do Nothing() Received: from unknown (HELO faust.local) (wallhall@[68.153.219.49]) (envelope-sender ) by mail9.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 9 Oct 2003 19:20:56 -0000 Date: Thu, 9 Oct 2003 15:23:10 -0400 From: David Pirotte To: guile-gtk-general@gnu.org Message-Id: <20031009152310.236cdd3a.david@altosw.be> Organization: Alto Air Services [http://www.altosw.be/aas/] X-Mailer: Sylpheed version 0.9.6 (GTK+ 1.2.10; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Fw: error when trying to compile guile-gobject X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Oct 2003 19:21:33 -0000 Hi everyone, I'd love to be able to use guile-gobject, and have some difficulties to get it to work on my box. I'am very useless in trying to solve this problem myself, but is there any other information I could provide to get some help with this problem? Thanks a lot David ;; -- Begin forwarded message: Date: Mon, 6 Oct 2003 20:37:10 -0400 From: David Pirotte To: guile-gtk-general@gnu.org Subject: error when trying to compile guile-gobject Hello, I just checked out a new guile-gobject tree from cvs, configure and make, but here is what I get when compiling Many thanks for some hint, David SuSE 8.2 gnome 2.2.0 gcc (GCC) 3.3 20030226 (prerelease) (SuSE Linux) Guile 1.6.4 ... ... gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I. -I. -Wno-unused -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/local/include -I /usr/include/g-wrap -g -O2 -MT libguile_gnome_gw_gobject_la-guile-gnome-gw-gobject.lo -MD -MP -MF .deps/libguile_gnome_gw_gobject_la-guile-gnome-gw-gobject.Tpo -c guile-gnome-gw-gobject.c -fPIC -DPIC -o libguile_gnome_gw_gobject_la-guile-gnome-gw-gobject.lo guile-gnome-gw-gobject.c:6:34: g-wrap-compatibility.h: No such file or directory guile-gnome-gw-gobject.c:10:24: g-wrap-wct.h: No such file or directory guile-gnome-gw-gobject.c: In function `gw__tmp142_g_source_set_closure_wrapper': guile-gnome-gw-gobject.c:502: warning: assignment makes pointer from integer without a cast make[4]: *** [libguile_gnome_gw_gobject_la-guile-gnome-gw-gobject.lo] Error 1 make[4]: Leaving directory `/usr/local/src/guile/guile-gobject/gnome/gobject' make[3]: *** [all] Error 2 make[3]: Leaving directory `/usr/local/src/guile/guile-gobject/gnome/gobject' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/local/src/guile/guile-gobject/gnome' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/src/guile/guile-gobject' make: *** [all] Error 2 david@faust:/usr/local/src/guile/guile-gobject 31 $ _______________________________________________ guile-gtk-general mailing list guile-gtk-general@gnu.org http://mail.gnu.org/mailman/listinfo/guile-gtk-general From MAILER-DAEMON Fri Oct 10 18:04:57 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A85NY-0007ql-I9 for mharc-guile-gtk-general@gnu.org; Fri, 10 Oct 2003 18:04:56 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A85NM-0007k6-K8 for guile-gtk-general@gnu.org; Fri, 10 Oct 2003 18:04:44 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A85Mh-0007Rz-HY for guile-gtk-general@gnu.org; Fri, 10 Oct 2003 18:04:34 -0400 Received: from [61.8.0.36] (helo=snoopy.pacific.net.au) by monty-python.gnu.org with esmtp (Exim 4.24) id 1A85Mf-0007NW-ME for guile-gtk-general@gnu.org; Fri, 10 Oct 2003 18:04:02 -0400 Received: from mongrel.pacific.net.au (mongrel.pacific.net.au [61.8.0.107]) by snoopy.pacific.net.au (8.12.3/8.12.3/Debian-6.6) with ESMTP id h9AM3sYH001628; Sat, 11 Oct 2003 08:03:54 +1000 Received: from localhost (ppp83.dyn228.pacific.net.au [203.143.228.83]) by mongrel.pacific.net.au (8.12.3/8.12.3/Debian-6.6) with ESMTP id h9AM0Gst025574; Sat, 11 Oct 2003 08:00:18 +1000 Received: from gg by localhost with local (Exim 3.35 #1 (Debian)) id 1A85MQ-0000ex-00; Sat, 11 Oct 2003 08:03:46 +1000 To: David Pirotte References: <20031009152310.236cdd3a.david@altosw.be> From: Kevin Ryde Mail-Copies-To: never Date: Sat, 11 Oct 2003 08:03:45 +1000 In-Reply-To: <20031009152310.236cdd3a.david@altosw.be> (David Pirotte's message of "Thu, 9 Oct 2003 15:23:10 -0400") Message-ID: <87ad88698e.fsf@zip.com.au> User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: guile-gtk-general@gnu.org Subject: Re: Fw: error when trying to compile guile-gobject X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Oct 2003 22:04:54 -0000 David Pirotte writes: > > guile-gnome-gw-gobject.c:6:34: g-wrap-compatibility.h: No such file or directory > guile-gnome-gw-gobject.c:10:24: g-wrap-wct.h: No such file or directory Those files come from g-wrap. Version 1.3.4 works for me. From MAILER-DAEMON Sun Oct 12 05:55:11 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A8cwR-0004UA-Im for mharc-guile-gtk-general@gnu.org; Sun, 12 Oct 2003 05:55:11 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A8cwP-0004Tu-96 for guile-gtk-general@gnu.org; Sun, 12 Oct 2003 05:55:09 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A8cvt-00040j-AM for guile-gtk-general@gnu.org; Sun, 12 Oct 2003 05:55:08 -0400 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1A8cvs-00040b-VW for guile-gtk-general@gnu.org; Sun, 12 Oct 2003 05:54:37 -0400 Received: from localhost (mantis.schoolnet.na [::ffff:196.44.140.238]) (AUTH: LOGIN wingo) by ambient.2y.net with esmtp; Sun, 12 Oct 2003 05:54:27 -0400 Received: from wingo by localhost with local (Exim 3.36 #1 (Debian)) id 1A7dQQ-00076S-00 for ; Thu, 09 Oct 2003 18:14:02 +0200 Date: Thu, 9 Oct 2003 18:14:02 +0200 From: Andy Wingo To: guile-gtk-general@gnu.org Message-ID: <20031009161402.GF25684@lark> Mail-Followup-To: guile-gtk-general@gnu.org References: <87y8vy7tey.fsf@alice.rotty.yi.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <87y8vy7tey.fsf@alice.rotty.yi.org> X-Operating-System: Linux lark 2.4.20-1-686 User-Agent: Mutt/1.5.4i Sender: Andy Wingo Subject: Re: guile-gobject/g-wrap status update X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Oct 2003 09:55:09 -0000 On Mon, 06 Oct 2003, Andreas Rottmann wrote: > Hi! Hi! I was wondering what you were up to ;) > [BTW: There seem to be two guile-gtk mailing lists ATM - I guess > people should migrate to the one at GNU...] Please do. > I'm ATM working at implementing "glueless" wrapping for g-wrap, > i.e. instead of using a dedicated C wrapper for each wrapped function > creating an applicable smob that invokes a general marshaller which in > turn calls the C function via libffi. Sounds neat! I wonder, though. What advantages does this have? I suppose the memory requirements will be lowered (I see libguile-gnome-gw-gtk.so is 50% bigger than _gtk.so from python). Are there speed increases? I'm really worried about speed right now. I suppose this will (at some point) allow applications to dynamically call C functions for which wrappers have not yet been generated, but speed (not memory footprint) is really the pressing area right now. Also I see in the manual, under the low-level dynamic linking chapter, this: There is, however, another possibility to get a more thorough access to the functions contained in a dynamically linked library. Anthony Green has written `libffi', a library that implements a "foreign function interface" for a number of different platforms. With it, you can extend the Spartan functionality of `dynamic-call' and `dynamic-args-call' considerably. There is glue code available in the Guile contrib archive to make `libffi' accessible from Guile. Just so we know! Anyway, good luck. But what I'm really concerned about right now is speed in guile-gtk. I'm busy atm wrapping the TreeView/Model/... properly and hacking out some Marlin bindings (rock!), but I hope someone really tears into GOOPS to see where the slowness is coming =66rom. Ah, so many good things in guile these days! Advanced wrapper libraries, nice Gnome/gtk/... bindings, threading in the core of HEAD guile... But we need to expand mindshare of guile programming so we get more quality hackers. I think the faster we get out some usable Gtk 2 bindings, the more feasible it will be for people to use guile in big projects. So let's get to work, kids. Regards, wingo. From MAILER-DAEMON Sun Oct 12 05:55:30 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A8cwk-0004cn-3P for mharc-guile-gtk-general@gnu.org; Sun, 12 Oct 2003 05:55:30 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A8cwh-0004am-Qo for guile-gtk-general@gnu.org; Sun, 12 Oct 2003 05:55:27 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A8cwB-00049X-Oi for guile-gtk-general@gnu.org; Sun, 12 Oct 2003 05:55:26 -0400 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1A8cwB-00040b-9q for guile-gtk-general@gnu.org; Sun, 12 Oct 2003 05:54:55 -0400 Received: from localhost (mantis.schoolnet.na [::ffff:196.44.140.238]) (AUTH: LOGIN wingo) by ambient.2y.net with esmtp; Sun, 12 Oct 2003 05:54:50 -0400 Received: from wingo by localhost with local (Exim 3.36 #1 (Debian)) id 1A7cLo-00072t-00 for ; Thu, 09 Oct 2003 17:05:12 +0200 Date: Thu, 9 Oct 2003 17:05:11 +0200 From: Andy Wingo To: guile-gtk-general@gnu.org Message-ID: <20031009150511.GB25684@lark> Mail-Followup-To: guile-gtk-general@gnu.org References: <20031006203710.647a6b7c.david@altosw.be> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline In-Reply-To: <20031006203710.647a6b7c.david@altosw.be> X-Operating-System: Linux lark 2.4.20-1-686 User-Agent: Mutt/1.5.4i Sender: Andy Wingo Subject: Re: error when trying to compile guile-gobject X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Oct 2003 09:55:28 -0000 On Mon, 06 Oct 2003, David Pirotte wrote: > I just checked out a new guile-gobject tree from cvs, configure > and make, but here is what I get when compiling > > SuSE 8.2 > gnome 2.2.0 > gcc (GCC) 3.3 20030226 (prerelease) (SuSE Linux) > Guile 1.6.4 > [...] > guile-gnome-gw-gobject.c:6:34: g-wrap-compatibility.h: No such file or directory > guile-gnome-gw-gobject.c:10:24: g-wrap-wct.h: No such file or directory > guile-gnome-gw-gobject.c: In function `gw__tmp142_g_source_set_closure_wrapper': > guile-gnome-gw-gobject.c:502: warning: assignment makes pointer from integer without a cast Perhaps you don't have g-wrap, or it's not the proper version? Although I don't know how the configure script might have missed that. What g-wrap do you have? Regards, wingo. From MAILER-DAEMON Sun Oct 12 07:44:37 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A8eeL-0000vW-Gv for mharc-guile-gtk-general@gnu.org; Sun, 12 Oct 2003 07:44:37 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A8eeJ-0000tw-7N for guile-gtk-general@gnu.org; Sun, 12 Oct 2003 07:44:35 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A8edm-0000pP-R5 for guile-gtk-general@gnu.org; Sun, 12 Oct 2003 07:44:33 -0400 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1A8edm-0000pM-Ix for guile-gtk-general@gnu.org; Sun, 12 Oct 2003 07:44:02 -0400 Received: from localhost (mantis.schoolnet.na [::ffff:196.44.140.238]) (AUTH: LOGIN wingo) by ambient.2y.net with esmtp; Sun, 12 Oct 2003 07:43:55 -0400 Received: from wingo by localhost with local (Exim 3.36 #1 (Debian)) id 1A8eWA-0003XG-00 for ; Sun, 12 Oct 2003 13:36:10 +0200 Date: Sun, 12 Oct 2003 13:36:09 +0200 From: Andy Wingo To: guile-gtk-general@gnu.org Message-ID: <20031012113609.GA13571@lark> Mail-Followup-To: guile-gtk-general@gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Operating-System: Linux lark 2.4.20-1-686 User-Agent: Mutt/1.5.4i Sender: Andy Wingo Subject: GtkTreeStore/GtkListStore/GInterface/GtkTreeModel support X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Oct 2003 11:44:35 -0000 Hey kids, I coded up some support for the tree/list widgets in Gtk 2. I even worked out support for GtkTreeModels implemented in Scheme, as is done in PyGtk; see examples/gtk/tree-model.scm for more details. I'm working on making a framework for guile-gtk-demo (like gtk-demo and pygtk-demo), but I'm not quite finished yet. So, check it out and see if I forgot a file again ;) Regards, wingo. From MAILER-DAEMON Tue Oct 14 18:32:59 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A9Xir-0005Jw-Du for mharc-guile-gtk-general@gnu.org; Tue, 14 Oct 2003 18:32:57 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A9Xin-0005Da-9q for guile-gtk-general@gnu.org; Tue, 14 Oct 2003 18:32:53 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A9XiD-0004Vs-0M for guile-gtk-general@gnu.org; Tue, 14 Oct 2003 18:32:49 -0400 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1A9XiC-0004Uc-H5 for guile-gtk-general@gnu.org; Tue, 14 Oct 2003 18:32:16 -0400 Received: (qmail 345 invoked by uid 65534); 14 Oct 2003 22:05:35 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp005) with SMTP; 15 Oct 2003 00:05:35 +0200 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1A9XKS-0002jW-U2; Wed, 15 Oct 2003 00:07:44 +0200 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1A9XKY-0000Kx-00; Wed, 15 Oct 2003 00:07:50 +0200 To: guile-gtk-general@gnu.org From: Andreas Rottmann Date: Wed, 15 Oct 2003 00:07:50 +0200 Message-ID: <873cdv79s9.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Cc: Rob Browning Subject: [g-wrap] Changes needed by the "glueless" approach X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Oct 2003 22:32:54 -0000 [CCing Rob, as I don't know if he's on the new list already] Hi! I've already implemented part of the infrastructure that is needed for calling functions without generating glue code for each function. Note that this is what I refer to as glueless, not that it is implemented in pure Scheme; there is still C code involved, although glue will be generated for each type only, the glue for the functions/methods will be generated at runtime. So far I've built up an infrastructure for accessing type and function information from C, as this is needed for runtime generation of function glue code. So far I've got this information to be stored: - For each type: * name (same as g-warp scheme name) * class name (possibly NULL) * dynamic flag (more on this later) * function pointers: c->scm, scm->c, c-destructor functions * procedure name * generic name (if this is a method of a generic function) - For each function: * dynamic flag * proc void *: either normal wrapper (accepting SCM values) -- this is what I call static wrapper -- or the pointer to the to-be-wrapped C function in the dynamic case. * number of {required, optional} args + if we use the extra args list (only relevant for the static wrappers) * number of arguments (only relevant for dynamic wrappers) * for each argument: a pointer to its type's info So my basic idea for doing away with compiled [0] function wrappers is to have a marshaller go thru the SCM args, convert them to C args according to the arguments' types and call the C function via libffi (or maybe ffcall or what it was called again). At this point, I wonder about what to do with typespecs -- those describe additional properties of a type (e.g. that it's caller-owned for a char *) and can vary from argument to argument. It is clear that we need typespecs at the marshaller level, too. This means we have to convert them to a C bit field or something like that. What I'm not clear about is wether we need those typspecs to be passed to the type functions (c->scm, scm->c, c-destructor). I guess it should be possible to have the code handling the typespecs only in the marshaller, which then decides, for instance, wether to call the C destructor for a char * we receive as a function return value. I'm however quite unsure about this issue, since up to now, the scheme equivalents (i.e. C-codegens, ccgs) of the aforementioned type functions receive (and even use) the typespec. My impression reading the code was, however, that the c->scm, scm->c and c-destructor ccgs are only used internally by the type wrapper implementations and it should be thus be possible to change their semantics so that they don't require a typespec. Since changing their semantics is a pretty important (I think) design decision I'd like to hear some thoughs from Rob (and maybe others ;-)) on this topic. [0] maybe "runtime" vs. "compiled" is better than "dynamic" vs. "static" -- opinions? Regards and thanks for reading this thru, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 Python is executable pseudocode, Perl is executable line-noise. From MAILER-DAEMON Tue Oct 14 22:07:14 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A9b4C-0001yC-RG for mharc-guile-gtk-general@gnu.org; Tue, 14 Oct 2003 22:07:12 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A9b41-0001uF-Vr for guile-gtk-general@gnu.org; Tue, 14 Oct 2003 22:07:01 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A9b3U-0001h9-SK for guile-gtk-general@gnu.org; Tue, 14 Oct 2003 22:06:59 -0400 Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1A9aPP-0005nV-9H for guile-gtk-general@gnu.org; Tue, 14 Oct 2003 21:25:03 -0400 Received: from [66.93.216.237] (helo=defaultvalue.org) by mx20.gnu.org with esmtp (Exim 4.24) id 1A9aFC-00024l-Kj for guile-gtk-general@gnu.org; Tue, 14 Oct 2003 21:14:30 -0400 Received: from raven.i.defaultvalue.org (raven.i.defaultvalue.org [192.168.1.7]) by defaultvalue.org (Postfix) with ESMTP id 9FB1C3FCA; Tue, 14 Oct 2003 20:14:18 -0500 (CDT) Received: by raven.i.defaultvalue.org (Postfix, from userid 1000) id EBF158301A; Tue, 14 Oct 2003 20:14:17 -0500 (CDT) To: Andreas Rottmann References: <873cdv79s9.fsf@alice.rotty.yi.org> From: Rob Browning Date: Tue, 14 Oct 2003 20:14:17 -0500 In-Reply-To: <873cdv79s9.fsf@alice.rotty.yi.org> (Andreas Rottmann's message of "Wed, 15 Oct 2003 00:07:50 +0200") Message-ID: <87wub75ml2.fsf@raven.i.defaultvalue.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: guile-gtk-general@gnu.org Subject: Re: [g-wrap] Changes needed by the "glueless" approach X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Oct 2003 02:07:04 -0000 Andreas Rottmann writes: > [CCing Rob, as I don't know if he's on the new list already] Actually I'm not yet (so please cc me), but I'm about ready to try and answer a number of messages (including yours) that have been pending for a while, and also expound on some (possibly wrong-headed) ideas so others can help me tell whether or not they have any merit. ...but *before* I do that, I wanted to figure out *where* I should do that. It seems like a separate g-wrap list might be the best idea, but then again, it'd be nice not to have to administer a new list, and it may well be that guile-gtk is (and will be) the primary customer for now. Thoughts? -- Rob Browning rlb @defaultvalue.org and @debian.org; previously @cs.utexas.edu GPG starting 2002-11-03 = 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 From MAILER-DAEMON Tue Oct 14 22:41:15 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1A9ZeR-0000rE-Gt for mharc-guile-gtk-general@gnu.org; Tue, 14 Oct 2003 20:36:31 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A9ZeH-0000kz-Vw for guile-gtk-general@gnu.org; Tue, 14 Oct 2003 20:36:21 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A9ZCi-00074j-Pk for guile-gtk-general@gnu.org; Tue, 14 Oct 2003 20:08:23 -0400 Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1A9Yyj-0008A2-Q8 for guile-gtk-general@gnu.org; Tue, 14 Oct 2003 19:53:25 -0400 Received: from [61.8.0.36] (helo=snoopy.pacific.net.au) by mx20.gnu.org with esmtp (Exim 4.24) id 1A9YuM-00039U-Qs for guile-gtk-general@gnu.org; Tue, 14 Oct 2003 19:48:55 -0400 Received: from mongrel.pacific.net.au (mongrel.pacific.net.au [61.8.0.107]) by snoopy.pacific.net.au (8.12.3/8.12.3/Debian-6.6) with ESMTP id h9ENmbYH022440; Wed, 15 Oct 2003 09:48:37 +1000 Received: from localhost (ppp113.dyn228.pacific.net.au [203.143.228.113]) by mongrel.pacific.net.au (8.12.3/8.12.3/Debian-6.6) with ESMTP id h9ENiWst022048; Wed, 15 Oct 2003 09:44:41 +1000 Received: from gg by localhost with local (Exim 3.35 #1 (Debian)) id 1A9Yth-0000jM-00; Wed, 15 Oct 2003 09:48:13 +1000 To: Andreas Rottmann References: <873cdv79s9.fsf@alice.rotty.yi.org> From: Kevin Ryde Mail-Copies-To: never Date: Wed, 15 Oct 2003 09:48:12 +1000 In-Reply-To: <873cdv79s9.fsf@alice.rotty.yi.org> (Andreas Rottmann's message of "Wed, 15 Oct 2003 00:07:50 +0200") Message-ID: <87k777crer.fsf@zip.com.au> User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: guile-gtk-general@gnu.org, Rob Browning Subject: Re: [g-wrap] Changes needed by the "glueless" approach X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Oct 2003 00:36:25 -0000 Incidentally, one nice thing for big wrappings would be to have as much as possible in constant data, to keep down per-process memory use. (Remember of course pointers within constant data mean it's not really constant, because they get relocations applied.) From MAILER-DAEMON Fri Oct 17 12:11:44 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AAXBB-0005jl-RE for mharc-guile-gtk-general@gnu.org; Fri, 17 Oct 2003 12:10:17 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AAX9s-00053H-Ra for guile-gtk-general@gnu.org; Fri, 17 Oct 2003 12:08:56 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AAX8A-000417-49 for guile-gtk-general@gnu.org; Fri, 17 Oct 2003 12:07:42 -0400 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1AAWzG-0000sI-Tx for guile-gtk-general@gnu.org; Fri, 17 Oct 2003 11:57:59 -0400 Received: (qmail 3522 invoked by uid 65534); 17 Oct 2003 15:57:56 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp004) with SMTP; 17 Oct 2003 17:57:56 +0200 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1AAX1L-0005vf-Tt; Fri, 17 Oct 2003 18:00:07 +0200 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1AAX1X-00066R-00; Fri, 17 Oct 2003 18:00:19 +0200 To: guile-gtk-general@gnu.org, Rob Browning References: <873cdv79s9.fsf@alice.rotty.yi.org> <87k777crer.fsf@zip.com.au> From: Andreas Rottmann Date: Fri, 17 Oct 2003 18:00:19 +0200 In-Reply-To: <87k777crer.fsf@zip.com.au> (Kevin Ryde's message of "Wed, 15 Oct 2003 09:48:12 +1000") Message-ID: <87ismnua5o.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Cc: Subject: Re: [g-wrap] Changes needed by the "glueless" approach X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Oct 2003 16:10:16 -0000 Kevin Ryde writes: > Incidentally, one nice thing for big wrappings would be to have as > much as possible in constant data, to keep down per-process memory > use. (Remember of course pointers within constant data mean it's not > really constant, because they get relocations applied.) > Agreed, however, I ended up to have quite some data on the heap, but that being mostly pointers. I consider reducing memory usage an optimization, and thus not really important ATM. Regards, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 Python is executable pseudocode, Perl is executable line-noise. From MAILER-DAEMON Fri Oct 17 12:21:50 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AAXLR-0004Co-5b for mharc-guile-gtk-general@gnu.org; Fri, 17 Oct 2003 12:20:53 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AAXKs-0003zs-Qp for guile-gtk-general@gnu.org; Fri, 17 Oct 2003 12:20:18 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AAXKK-0003iq-Sw for guile-gtk-general@gnu.org; Fri, 17 Oct 2003 12:20:16 -0400 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1AAXKA-0003Qm-Fy for guile-gtk-general@gnu.org; Fri, 17 Oct 2003 12:19:34 -0400 Received: (qmail 6519 invoked by uid 65534); 17 Oct 2003 16:19:33 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp004) with SMTP; 17 Oct 2003 18:19:33 +0200 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1AAXMH-00061n-Nr; Fri, 17 Oct 2003 18:21:45 +0200 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1AAXMT-00066g-00; Fri, 17 Oct 2003 18:21:57 +0200 To: Rob Browning References: <873cdv79s9.fsf@alice.rotty.yi.org> <87wub75ml2.fsf@raven.i.defaultvalue.org> From: Andreas Rottmann Date: Fri, 17 Oct 2003 18:21:57 +0200 In-Reply-To: <87wub75ml2.fsf@raven.i.defaultvalue.org> (Rob Browning's message of "Tue, 14 Oct 2003 20:14:17 -0500") Message-ID: <87he27u95m.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Cc: guile-gtk-general@gnu.org Subject: Re: [g-wrap] Changes needed by the "glueless" approach X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Oct 2003 16:20:51 -0000 Rob Browning writes: > Andreas Rottmann writes: > >> [CCing Rob, as I don't know if he's on the new list already] > > Actually I'm not yet (so please cc me), but I'm about ready to try and > answer a number of messages (including yours) that have been pending > for a while, and also expound on some (possibly wrong-headed) ideas so > others can help me tell whether or not they have any merit. > > ...but *before* I do that, I wanted to figure out *where* I should do > that. It seems like a separate g-wrap list might be the best idea, > but then again, it'd be nice not to have to administer a new list, and > it may well be that guile-gtk is (and will be) the primary customer > for now. > Hmm, administering a mailing list isn't really a big hazzle, if it's hosted on savvannah, /methinks. I also like the idea of a separate mailing list for g-wrap. About the glueless code's status: I've been hacking on this quite lot the last days, and have arrived at a point where I have the code working to a certain extent. Typespecs are not yet implemented, but I had up to now not really needed them (as I only made all simple-types dynamic as well as the wct stuff). For the benefits that this approach can offer (as far as I've seen up to now): * Avoid creating huge amounts of C glue code (e.g. for GTK+) (this was my primary goal) * Avoid spitting out glue code already in a wrapset that we depend on, as the dependend-on wrapset's code can be re-used. What it costs: * More data must kept around at runtime to marshall arguments/retvals. I hope this one is compensated by reducing code size. * The invocation of a wrapped procedure is probably slower, but I don't think this will very matter much; it works like this: - The former procedure (gsubr) now is a applicable smob - The sombs apply function receives all arguments and has a pointer to information about the function (and its argument types/return type). It uses this info to marshall all its argument from SCM to C by invoking the arguments types conversion function. ATM the data is marshalled to a per-function area on the heap, so this is not yet thread-safe. Then the function is invoked via libffi, and reverse marshalling is done for the return value. * The marshalling model is very simple at the moment and can not cope yet with in-out C arguments and similiar stuff. All types that can not yet be marshalled are wrapped using the conventional technique. I intend to step-by-step increase the complexity of the marshalling model to accomodate at least all that GTK+ 2.0 needs. Note that the user of g-wrap can decide not to use dynamic calls on a per-wrapset basics. The only overhead then is the additional information, which is created nevertheless, since depending wrapsets may need it. Regards, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 Python is executable pseudocode, Perl is executable line-noise. From MAILER-DAEMON Fri Oct 17 23:16:30 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AAhZu-000157-ES for mharc-guile-gtk-general@gnu.org; Fri, 17 Oct 2003 23:16:30 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AAhZr-00012F-3i for guile-gtk-general@gnu.org; Fri, 17 Oct 2003 23:16:27 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AAhZJ-0000kQ-V2 for guile-gtk-general@gnu.org; Fri, 17 Oct 2003 23:16:26 -0400 Received: from [66.93.216.237] (helo=defaultvalue.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AAhZI-0000jV-4D for guile-gtk-general@gnu.org; Fri, 17 Oct 2003 23:15:52 -0400 Received: from raven.i.defaultvalue.org (raven.i.defaultvalue.org [192.168.1.7]) by defaultvalue.org (Postfix) with ESMTP id 0FCFE3FB3; Fri, 17 Oct 2003 22:15:51 -0500 (CDT) Received: by raven.i.defaultvalue.org (Postfix, from userid 1000) id 7A90F83018; Fri, 17 Oct 2003 22:15:50 -0500 (CDT) To: Andreas Rottmann References: <873cdv79s9.fsf@alice.rotty.yi.org> <87wub75ml2.fsf@raven.i.defaultvalue.org> <87he27u95m.fsf@alice.rotty.yi.org> From: Rob Browning Date: Fri, 17 Oct 2003 22:15:50 -0500 In-Reply-To: <87he27u95m.fsf@alice.rotty.yi.org> (Andreas Rottmann's message of "Fri, 17 Oct 2003 18:21:57 +0200") Message-ID: <87brsfnsm1.fsf@raven.i.defaultvalue.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: guile-gtk-general@gnu.org Subject: Re: [g-wrap] Changes needed by the "glueless" approach X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Oct 2003 03:16:28 -0000 Andreas Rottmann writes: > Hmm, administering a mailing list isn't really a big hazzle, if it's > hosted on savvannah, /methinks. I also like the idea of a separate > mailing list for g-wrap. OK, new list it is. For everyone who's interested, here's the pointer: http://mail.nongnu.org/mailman/listinfo/g-wrap-dev Also, Andreas and Greg, I have a number of messages from you that I'm ready to start replying to, but I'm not sure what might be best. Ideally I'd like to reproduce them and reply to them on the new list, so that we'll have a consistent thread there. I suppose I could just quote them in full in my responses, presuming neither of you would mind that. (I should also have time over the next several days to get the source in order and put it in savannah CVS.) Thanks to everyone for having been so patient. -- Rob Browning rlb @defaultvalue.org and @debian.org; previously @cs.utexas.edu GPG starting 2002-11-03 = 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 From MAILER-DAEMON Sat Oct 18 05:37:46 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AAnWs-00046s-5P for mharc-guile-gtk-general@gnu.org; Sat, 18 Oct 2003 05:37:46 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AAnWp-00044N-Nu for guile-gtk-general@gnu.org; Sat, 18 Oct 2003 05:37:43 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AAnWI-0003hF-UL for guile-gtk-general@gnu.org; Sat, 18 Oct 2003 05:37:41 -0400 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1AAnWI-0003gZ-DX for guile-gtk-general@gnu.org; Sat, 18 Oct 2003 05:37:10 -0400 Received: (qmail 24722 invoked by uid 65534); 18 Oct 2003 09:37:09 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp001) with SMTP; 18 Oct 2003 11:37:09 +0200 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1AAnYS-0000UH-LP; Sat, 18 Oct 2003 11:39:24 +0200 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1AAnYb-0000Gk-00; Sat, 18 Oct 2003 11:39:33 +0200 To: Rob Browning References: <873cdv79s9.fsf@alice.rotty.yi.org> <87wub75ml2.fsf@raven.i.defaultvalue.org> <87he27u95m.fsf@alice.rotty.yi.org> <87brsfnsm1.fsf@raven.i.defaultvalue.org> From: Andreas Rottmann Date: Sat, 18 Oct 2003 11:39:33 +0200 In-Reply-To: <87brsfnsm1.fsf@raven.i.defaultvalue.org> (Rob Browning's message of "Fri, 17 Oct 2003 22:15:50 -0500") Message-ID: <877k32c2ay.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Cc: guile-gtk-general@gnu.org Subject: Re: [g-wrap] Changes needed by the "glueless" approach X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Oct 2003 09:37:44 -0000 Rob Browning writes: > Andreas Rottmann writes: > >> Hmm, administering a mailing list isn't really a big hazzle, if it's >> hosted on savvannah, /methinks. I also like the idea of a separate >> mailing list for g-wrap. > > OK, new list it is. For everyone who's interested, here's the > pointer: > > http://mail.nongnu.org/mailman/listinfo/g-wrap-dev > > Also, Andreas and Greg, I have a number of messages from you that I'm > ready to start replying to, but I'm not sure what might be best. > Ideally I'd like to reproduce them and reply to them on the new list, > so that we'll have a consistent thread there. I suppose I could just > quote them in full in my responses, presuming neither of you would > mind that. > Sure, go ahead. I'd also like to have the whole discussion archived somewhere. > (I should also have time over the next several days to get the source > in order and put it in savannah CVS.) > Cool. Expect big patches ;-) Regards, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 This reality is really just a fucked-up dream -- Papa Roach From MAILER-DAEMON Sun Oct 19 17:37:39 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ABLEx-0004ZB-Tw for mharc-guile-gtk-general@gnu.org; Sun, 19 Oct 2003 17:37:31 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ABLEl-0004E9-QK for guile-gtk-general@gnu.org; Sun, 19 Oct 2003 17:37:19 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ABLDy-0002SR-M0 for guile-gtk-general@gnu.org; Sun, 19 Oct 2003 17:37:01 -0400 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1ABLDx-0002PT-WC for guile-gtk-general@gnu.org; Sun, 19 Oct 2003 17:36:30 -0400 Received: (qmail 18361 invoked by uid 65534); 19 Oct 2003 21:36:28 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp009) with SMTP; 19 Oct 2003 23:36:28 +0200 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1ABLG5-0002bX-9T; Sun, 19 Oct 2003 23:38:41 +0200 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1ABLGH-0001fG-00; Sun, 19 Oct 2003 23:38:53 +0200 To: g-wrap-dev@nongnu.org, guile-gtk-general@gnu.org From: Andreas Rottmann Date: Sun, 19 Oct 2003 23:38:53 +0200 Message-ID: <877k3029hu.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Cc: Subject: Glueless wrapping status X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Oct 2003 21:37:29 -0000 Hi! I just wanted to give an update on the status of my work on implementing glueless function wrapping. I've now made all types that are in g-wrap (excluding the glib wrappers, which are superceded by the ones in guile-gobject) dynamic. This means all functions that use only these types as argument and result types can be wrapped without generating wrapper code for them (well, there *is* code produced per function, but that's just information about the function, e.g. argument types). I can now proceed to make all guile-gobject types dynamic. Since there are not many of them (praise inheritance for this), this should be no big task. I'll report back again once I have reached that goal and am able to see how many lines the new GTK+ glue code will have (I bet that it's at least one order of magnitude less than the ~140K lines we have now). I hope Rob gets g-wrap into CVS this next week, so I can start feeding patches to him. Regards, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 Python is executable pseudocode, Perl is executable line-noise. From MAILER-DAEMON Mon Oct 20 08:37:13 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ABZHd-0002Xe-26 for mharc-guile-gtk-general@gnu.org; Mon, 20 Oct 2003 08:37:13 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ABZHa-0002W8-69 for guile-gtk-general@gnu.org; Mon, 20 Oct 2003 08:37:10 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ABZH3-0002ID-0Q for guile-gtk-general@gnu.org; Mon, 20 Oct 2003 08:37:09 -0400 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1ABZGJ-000223-Lr for guile-gtk-general@gnu.org; Mon, 20 Oct 2003 08:35:51 -0400 Received: from localhost (mantis.schoolnet.na [::ffff:196.44.140.238]) (AUTH: LOGIN wingo) by ambient.2y.net with esmtp; Mon, 20 Oct 2003 08:35:46 -0400 Received: from wingo by localhost with local (Exim 3.36 #1 (Debian)) id 1A9ma3-0000Bx-00; Wed, 15 Oct 2003 16:24:51 +0200 Date: Wed, 15 Oct 2003 16:24:51 +0200 From: Andy Wingo To: guile-gtk-general@gnu.org Message-ID: <20031015142451.GB681@lark> Mail-Followup-To: guile-gtk-general@gnu.org, rlb@defaultvalue.org References: <873cdv79s9.fsf@alice.rotty.yi.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline In-Reply-To: <873cdv79s9.fsf@alice.rotty.yi.org> X-Operating-System: Linux lark 2.4.20-1-686 User-Agent: Mutt/1.5.4i Sender: Andy Wingo Cc: rlb@defaultvalue.org Subject: Re: [g-wrap] Changes needed by the "glueless" approach X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Oct 2003 12:37:11 -0000 On Wed, 15 Oct 2003, Andreas Rottmann wrote: > [CCing Rob, as I don't know if he's on the new list already] Get on the list! (maybe we can sucker you into guile-gtk development, too ;) > So far I've got this information to be stored: [...] > - For each function: [...] > * proc void *: either normal wrapper (accepting SCM values) -- this > is what I call static wrapper -- or the pointer to the > to-be-wrapped C function in the dynamic case. Does this take GType ids for some arguments? It would make sense for the argument list to be prototyped as ("GObject of type GtkTreeView", "Boxed of type GtkTreeIter", ...) -- the glue code is the same, the ABI is the same, it's only the dynamic type-checking that's different. > * number of {required, optional} args + if we use the > extra args list (only relevant for the static wrappers) Ooh! Does this allow varargs? Of course the varargs have to be structured (e.g. "a list of strings", "a list of string-SCM pairs"). Dunno how possible this is. Can you call varargs functions from libffi? Also, does this allow optional args at the end in the sense of "int, default 1"? BTW. gcc (GCC) 3.3.2 20030908 (Debian prerelease) compiles things fast for me now, no more 10 minutes waiting for an OOM kill. What are you doing this for, anyway? > At this point, I wonder about what to do with typespecs -- those > describe additional properties of a type (e.g. that it's caller-owned > for a char *) and can vary from argument to argument. It is clear that > we need typespecs at the marshaller level, too. This means we have to > convert them to a C bit field or something like that. Yeah. It would still be OK to have a static array of argument info (hey, think of them like GParamSpecs) in the wrapper lib, and a pointer to this param-spec data is passed to the marshaller to e.g. verify the proper GType of a GObject* pointer. > My impression reading the code was, however, that the c->scm, scm->c > and c-destructor ccgs are only used internally by the type wrapper > implementations and it should be thus be possible to change their > semantics so that they don't require a typespec. Should be, but I'm not one for g-wrap design issues. > [0] maybe "runtime" vs. "compiled" is better than "dynamic" > vs. "static" -- opinions? I like that (runtime/compiled) best. Unsolicited opinions abound from Mr. Wingo! I'm going to get back to making our TextView/Buffer/Iter/... wrappers work properly (Tree* seems to work fine now). I want to release after I get guile-gtk-demo in to CVS (should happen by the time you see this mail), any way that could be possible, Marius? Regards, wingo. From MAILER-DAEMON Mon Oct 20 08:37:35 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ABZHs-0002hH-Im for mharc-guile-gtk-general@gnu.org; Mon, 20 Oct 2003 08:37:28 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ABZHp-0002bp-1j for guile-gtk-general@gnu.org; Mon, 20 Oct 2003 08:37:25 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ABZHI-0002MG-1j for guile-gtk-general@gnu.org; Mon, 20 Oct 2003 08:37:23 -0400 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1ABZGA-00020V-7d for guile-gtk-general@gnu.org; Mon, 20 Oct 2003 08:35:42 -0400 Received: from localhost (mantis.schoolnet.na [::ffff:196.44.140.238]) (AUTH: LOGIN wingo) by ambient.2y.net with esmtp; Mon, 20 Oct 2003 08:35:36 -0400 Received: from wingo by localhost with local (Exim 3.36 #1 (Debian)) id 1AAEZR-0003va-00 for ; Thu, 16 Oct 2003 22:18:05 +0200 Date: Thu, 16 Oct 2003 22:18:05 +0200 From: Andy Wingo To: guile-gtk-general@gnu.org Message-ID: <20031016201805.GA15095@lark> Mail-Followup-To: guile-gtk-general@gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Operating-System: Linux lark 2.4.20-1-686 User-Agent: Mutt/1.5.4i Sender: Andy Wingo Subject: GtkTextBuffer/View, guile-gtk-demo, libvte X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Oct 2003 12:37:26 -0000 Hey folks, I'm committing some changes now to add custom wrappers for GtkTextBuffer and associated classes. There are also some bugfixes in the tree support code, and a custom wrapper for GtkTreeSelection::get_selected. These customizations round out what's needed for guile-gtk-demo.scm, which works now (yippee!). Try it out, it's in examples/gtk/guile-gtk-demo/guile-gtk-demo.scm. I also added some wrappers for libvte, the Gnome 2 terminal widget. Just playing around with it here I've gotten it to display text (using the feed method), but I haven't yet worked out how to read from the terminal. I reckon that involves translating keypresses to a soft port or something, but I dunno yet. In any case a graphical repl should be coming soon. It doesn't look like readline will be supported (because readline isn't reentrant apparently), but it might be possible with a separate process. Just an update. Skydiving this weekend, rock! wingo. From MAILER-DAEMON Mon Oct 20 14:25:08 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ABeiJ-0002zw-7M for mharc-guile-gtk-general@gnu.org; Mon, 20 Oct 2003 14:25:07 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ABeiG-0002xv-9e for guile-gtk-general@gnu.org; Mon, 20 Oct 2003 14:25:04 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ABehd-0002gJ-UZ for guile-gtk-general@gnu.org; Mon, 20 Oct 2003 14:24:57 -0400 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1ABehd-0002eC-BL for guile-gtk-general@gnu.org; Mon, 20 Oct 2003 14:24:25 -0400 Received: (qmail 27753 invoked by uid 65534); 20 Oct 2003 18:24:23 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp002) with SMTP; 20 Oct 2003 20:24:23 +0200 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1ABejk-0001pm-AA; Mon, 20 Oct 2003 20:26:36 +0200 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1ABejx-0000MK-00; Mon, 20 Oct 2003 20:26:49 +0200 To: guile-gtk-general@gnu.org References: <873cdv79s9.fsf@alice.rotty.yi.org> <20031015142451.GB681@lark> From: Andreas Rottmann Date: Mon, 20 Oct 2003 20:26:49 +0200 In-Reply-To: <20031015142451.GB681@lark> (Andy Wingo's message of "Wed, 15 Oct 2003 16:24:51 +0200") Message-ID: <87brsb7ok6.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Sender: Andreas Rottmann Cc: rlb@defaultvalue.org Subject: Re: [g-wrap] Changes needed by the "glueless" approach X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Oct 2003 18:25:05 -0000 Andy Wingo writes: > On Wed, 15 Oct 2003, Andreas Rottmann wrote: > >> [CCing Rob, as I don't know if he's on the new list already] > > Get on the list! (maybe we can sucker you into guile-gtk development, > too ;) > >> So far I've got this information to be stored: > [...] >> - For each function: > [...] >> * proc void *: either normal wrapper (accepting SCM values) -- this=20 >> is what I call static wrapper -- or the pointer to the=20 >> to-be-wrapped C function in the dynamic case. > > Does this take GType ids for some arguments? It would make sense for the > argument list to be prototyped as ("GObject of type GtkTreeView", "Boxed > of type GtkTreeIter", ...) -- the glue code is the same, the ABI is the > same, it's only the dynamic type-checking that's different. > No, the argument types are described in terms of libffi types in the dynamic case: struct _GWTypeInfo { const char *name; const char *class_name; ffi_type *type; /* if non-NULL, this type may passed dynamically */ =20=20=20=20 GWFromScmFunc from_scm; GWToScmFunc to_scm; GWDestructorFunc destructor; }; struct _GWFunctionInfo { int dynamic; /* set if all arg types are dynamic and we should * create the function dynamically. */ =20=20=20=20 void *proc; /* Wrapper function (if !dynamic) or real C * function */ int n_required_args; int n_optional_args; int use_extra_args; GWTypeInfo *ret_type; GWTypeSpec ret_typespec; =20=20=20=20 int nargs; GWTypeInfo **arg_types; /* array */ GWTypeSpec *arg_typespecs; =20=20=20=20 const char *proc_name; const char *generic_name; /* private */ void *data; /* This is used for the dynamic-call info */ }; >> * number of {required, optional} args + if we use the=20 >> extra args list (only relevant for the static wrappers) > > Ooh! Does this allow varargs? Of course the varargs have to be > structured (e.g. "a list of strings", "a list of string-SCM pairs"). > Dunno how possible this is. Can you call varargs functions from libffi? > No, varargs are not support by libffi. As I said, those three arguments are only meaningful for traditional wrappers. > Also, does this allow optional args at the end in the sense of "int, > default 1"? > That would be possible with libffi. > BTW. gcc (GCC) 3.3.2 20030908 (Debian prerelease) compiles things fast > for me now, no more 10 minutes waiting for an OOM kill. What are you > doing this for, anyway? > It reduces the code produced, which can be a good thing. The current vannilla g-wrap, for instance, duplicates the wrapping code in each function and also duplicates stuff related to a type (e.g. ranges for integer type limits) in each wrapset that uses the type, so for a wrapset building upon another and using a lot of types from the other, the win can be very high. For example, the the C code generated has shrunk from ~140K lines to ~20K lines with runtime-wrappers for the GTK+ binding. You can turn this feature on and off on a per-wrapset basis. It could also serve as the basis for creating wrappers in pure scheme. >> At this point, I wonder about what to do with typespecs -- those >> describe additional properties of a type (e.g. that it's caller-owned >> for a char *) and can vary from argument to argument. It is clear that >> we need typespecs at the marshaller level, too. This means we have to >> convert them to a C bit field or something like that. > > Yeah. It would still be OK to have a static array of argument info (hey, > think of them like GParamSpecs) in the wrapper lib, and a pointer to > this param-spec data is passed to the marshaller to e.g. verify the > proper GType of a GObject* pointer. > I now just pass the typespec to the type-specific functions (e.g. scm->c), as done in vannilla g-wrap, too. >> My impression reading the code was, however, that the c->scm, scm->c >> and c-destructor ccgs are only used internally by the type wrapper >> implementations and it should be thus be possible to change their >> semantics so that they don't require a typespec. > > Should be, but I'm not one for g-wrap design issues.=20 > Well, as already said before, I've reverted my opinion on this. The marshaller is type-agnostic, all type-specific stuff is done in the types' functions. >> [0] maybe "runtime" vs. "compiled" is better than "dynamic" >> vs. "static" -- opinions? > > I like that (runtime/compiled) best. > I tend to agree. > Unsolicited opinions abound from Mr. Wingo! I'm going to get back to > making our TextView/Buffer/Iter/... wrappers work properly (Tree* seems > to work fine now). > Cool! > I want to release after I get guile-gtk-demo in to CVS (should happen by > the time you see this mail), any way that could be possible, Marius? > Hmm, I'd like to see the g-wrap issues sorted out first (gw-standard duplication), however, this may take too long due to Rob being slow. Regards, Andy --=20 Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.= at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B= 62 Latein ist das humanoide =C3=84quivalent zu Fortran. -- Alexander Bartolich in at.linux From MAILER-DAEMON Sat Oct 25 03:56:56 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ADJI7-0001Do-Tn for mharc-guile-gtk-general@gnu.org; Sat, 25 Oct 2003 03:56:55 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ADJI6-0001Dh-EZ for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 03:56:54 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ADJHa-0000xr-PP for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 03:56:53 -0400 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1ADJHa-0000xo-Hi for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 03:56:22 -0400 Received: from localhost (softdnserr [::ffff:196.44.143.227]) (AUTH: LOGIN wingo) by ambient.2y.net with esmtp; Sat, 25 Oct 2003 03:56:16 -0400 Received: from wingo by localhost with local (Exim 3.36 #1 (Debian)) id 1ACymc-0000Lu-00 for ; Fri, 24 Oct 2003 12:03:02 +0200 Date: Fri, 24 Oct 2003 12:02:41 +0200 From: Andy Wingo To: guile-gtk-general@gnu.org Message-ID: <20031024100241.GA856@lark> Mail-Followup-To: guile-gtk-general@gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Operating-System: Linux lark 2.4.20-1-686 User-Agent: Mutt/1.5.4i Sender: Andy Wingo Subject: More sane class hierarchies X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Oct 2003 07:56:55 -0000 These changes actually recede my previous email, but because since Monday I haven't got to the internet you'll get these all at the same time. Ah well. I made the class hierarchies a bit more sane. Things work much more like you would expect them to: is gone; is actually a metaclass now; GObjectClasses (like , etc) actually have just one direct super now, not the whole hierarchy (much cleaner); GObjectClasses aren't metaclasses any more (they were never intended to be); Only the signals and properties of the class in question are stored in the now, not the whole hierarchy (fixes some bugs, don't know when this behavior was introduced); there's a new metaclass that implements the #:set-once slot allocations; is the parent class *and* metaclass of (see primitives.scm for details); and perhaps most importantly, 's are now part of the class-precedence-list of a class if they are implemented. This makes methods work on implementations. Also, signals are supported on interfaces now. This is a good thing. A lot of the macros had to be tweaked to make this fix. Some of the gobject-signal stuff was renamed to operate on gtype-instances, as it's not gobject-specific. Just wanted to send along an update. I don't know when this will go out, cause the high winds last night might have broken some wireless towers. Hope to get this in soon. Regards, wingo. From MAILER-DAEMON Sat Oct 25 03:57:06 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ADJII-0001Lf-1A for mharc-guile-gtk-general@gnu.org; Sat, 25 Oct 2003 03:57:06 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ADJID-0001JG-8w for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 03:57:01 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ADJHh-00010Z-AT for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 03:57:00 -0400 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1ADJHg-0000xo-Sw for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 03:56:28 -0400 Received: from localhost (softdnserr [::ffff:196.44.143.227]) (AUTH: LOGIN wingo) by ambient.2y.net with esmtp; Sat, 25 Oct 2003 03:56:20 -0400 Received: from wingo by localhost with local (Exim 3.36 #1 (Debian)) id 1ACmDQ-0005zn-00 for ; Thu, 23 Oct 2003 22:37:52 +0200 Date: Thu, 23 Oct 2003 22:37:52 +0200 From: Andy Wingo To: guile-gtk-general@gnu.org Message-ID: <20031023203752.GA23005@lark> Mail-Followup-To: guile-gtk-general@gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Operating-System: Linux lark 2.4.20-1-686 User-Agent: Mutt/1.5.4i Sender: Andy Wingo Subject: GdkEvent and... a REPL! X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Oct 2003 07:57:01 -0000 Hey again, I made some simple wrappings for GdkEvent. It's just one function, gdk-event->event-struct, that has to be implemented for each kind of event. Right now it's only implemented for GdkEventKey. And with that, I now have a working graphical REPL. Woop! I was thinking before about using a terminal and trying to emulate termminal control characters and such to do line editing, but then it dawned on me how stupid that was. I also did some googling and found Neil Jerram's work on guile-gui, and decided to steal it. It's GPL. Marius, maybe he needs papers? Dunno. But the essence of the solution is that it's a GtkTextView<->GtkEntry pair, although both are subclassed. The TextView is written to on a soft output port, and the entry is read from on a soft input port. It uses Neil's continuation-passing code (similar to what is in continuations.scm) to only return from a read on entry activation. So it's just a normal top-repl that reads from widgets instead of the console. Rather elegant if you ask me. I chose to go with the GtkEntry-style interface because GtkEntry already has a lot of keybindings, you can mouse around in it if you want, and Neil's code does history (kindof flaky right now, but it's probably my fault) and parenthesis matching. Neat-o! There are still some issues, but it's definitely worth a try. It's especially nice in guile-gtk, because you can interact with Gtk+ and the REPL at the same time. It doesn't take any more time to load up, either, since you have to load (gnome gtk) either way. You can find the code in gnome/gtk/graphical-repl.scm and examples/gtk/repl.scm. Cheers, wingo. From MAILER-DAEMON Sat Oct 25 07:15:02 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ADMNp-0000Ww-U3 for mharc-guile-gtk-general@gnu.org; Sat, 25 Oct 2003 07:15:01 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ADMNn-0000W5-0s for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 07:14:59 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ADMNG-0000SY-DD for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 07:14:57 -0400 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1ADMNF-0000S0-Ov for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 07:14:25 -0400 Received: (qmail 25618 invoked by uid 65534); 25 Oct 2003 11:14:23 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp016) with SMTP; 25 Oct 2003 13:14:23 +0200 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1ADMPG-0003mk-Ox for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 13:16:30 +0200 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1ADMPc-0001QO-00 for ; Sat, 25 Oct 2003 13:16:52 +0200 To: guile-gtk-general@gnu.org From: Andreas Rottmann Date: Sat, 25 Oct 2003 13:16:52 +0200 Message-ID: <878yn9fty3.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Subject: Proposed patches, TLA X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Oct 2003 11:15:00 -0000 Hi! I've tried to get my work on guile-gtk a bit more organized over the last view days, by managing it with GNU arch/tla. I'm a new arch user, so I'm not yet that confident with it, anyway I'll describe my setup, in case someone is interested: I have an working copy of guile-gobject that is both an arch checkout and an CVS checkout. This one corresponds to the CVS trunk and the arch branch guile-gtk--cvstrunk-0.1. I have then set up a private arch branch (guile-gtk--rotty--0.1), which I use to hack. I can then merge my changes (selectivly, see below) into the --cvstrunk branch and then use a nice tool called tla-cvs-sync to commit the changes to CVS while at the same time commiting changes that happened to CVS in the meantime into the --cvstrunk branch. I'll just post my arch logs here for review (almost the same info is also in the ChangeLog:s, of course). My work is divided into changesets, which I can merge into the --cvstrunk selectivly. The first few changesets I'd like to see included are: Revision: guile-gtk--rotty--0.1--patch-1 Archive: a.rottmann@gmx.at--2003-main Creator: Andreas Rottmann Date: Tue Oct 21 23:44:02 CEST 2003 Standard-date: 2003-10-21 21:44:02 GMT Modified-files: gnome/Makefile.am New-patches: a.rottmann@gmx.at--2003-main/guile-gtk--rotty--0.1--patch-1 Summary: Only conditionally build gtk and corba Keywords: * Makefile.am (SUBDIRS): Only include gtk and corba if we have detected them. Revision: guile-gtk--rotty--0.1--patch-2 Archive: a.rottmann@gmx.at--2003-main Creator: Andreas Rottmann Date: Wed Oct 22 00:10:00 CEST 2003 Standard-date: 2003-10-21 22:10:00 GMT Modified-files: configure.in New-patches: a.rottmann@gmx.at--2003-main/guile-gtk--rotty--0.1--patch-2 Summary: Disable ORBit check Keywords: * configure.in: Disable ORBit check, since the code needs internal API headers that are not installed by default. Revision: guile-gtk--rotty--0.1--patch-3 Archive: a.rottmann@gmx.at--2003-main Creator: Andreas Rottmann Date: Wed Oct 22 00:20:09 CEST 2003 Standard-date: 2003-10-21 22:20:09 GMT Modified-files: gnome/corba/guile-gnome-corba-primitives.c gnome/corba/guile-gnome-corba-primitives.h gnome/corba/guile-gnome-corba-types.c gnome/corba/guile-gnome-corba-types.h New-patches: a.rottmann@gmx.at--2003-main/guile-gtk--rotty--0.1--patch-3 Summary: Make corba module compilable against Guile 1.7 Keywords: * guile-gnome-corba-primitives.c: Use for "" instead of <> for our own headers. * guile-gnome-corba-primitives.c: Get rid of gh_* usage. * guile-gnome-corba-primitives.h, guile-gnome-corba-primitives.c, guile-gnome-corba-types.c, guile-gnome-corba-types.h: Use scm_t_bits instead of scm_bits_t. * guile-gnome-corba-primitives.h, guile-gnome-corba-primitives.c: Use SCM_VECTOR_SET and SCM_VECTOR_REF instead of SCM_VELTS. Regards, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 It's *GNU*/Linux dammit! From MAILER-DAEMON Sat Oct 25 08:21:17 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ADNPx-0005iN-1F for mharc-guile-gtk-general@gnu.org; Sat, 25 Oct 2003 08:21:17 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ADNPv-0005iH-BP for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 08:21:15 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ADNPP-0005BQ-7Q for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 08:21:14 -0400 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1ADNPO-0005A1-IM for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 08:20:42 -0400 Received: (qmail 26488 invoked by uid 65534); 25 Oct 2003 12:20:40 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp004) with SMTP; 25 Oct 2003 14:20:40 +0200 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1ADNRP-0003qO-LN; Sat, 25 Oct 2003 14:22:47 +0200 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1ADNRl-0006MN-00; Sat, 25 Oct 2003 14:23:09 +0200 To: guile-gtk-general@gnu.org References: <873cdv79s9.fsf@alice.rotty.yi.org> <20031015142451.GB681@lark> From: Andreas Rottmann Date: Sat, 25 Oct 2003 14:23:09 +0200 In-Reply-To: <20031015142451.GB681@lark> (Andy Wingo's message of "Wed, 15 Oct 2003 16:24:51 +0200") Message-ID: <873cdhfqvm.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Sender: Andreas Rottmann Cc: rlb@defaultvalue.org Subject: Re: [g-wrap] Changes needed by the "glueless" approach X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Oct 2003 12:21:15 -0000 Andy Wingo writes: > BTW. gcc (GCC) 3.3.2 20030908 (Debian prerelease) compiles things fast > for me now, no more 10 minutes waiting for an OOM kill. What are you > doing this for, anyway? > Well, my experience is with gcc 3.3.2 (Debian): cc1: out of memory allocating 182094100 bytes after a total of 19058688 byt= es Note that this is probably my 2.6 kernel that makes cc1 barf instead of OOM-killing it (nice ;-). Of course this was done with -O2 on the ~140K line binding, -O0 works fine. Regards, Andy --=20 Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.= at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B= 62 Latein ist das humanoide =C3=84quivalent zu Fortran. -- Alexander Bartolich in at.linux From MAILER-DAEMON Sat Oct 25 15:05:47 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ADTjP-0006uL-8Y for mharc-guile-gtk-general@gnu.org; Sat, 25 Oct 2003 15:05:47 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ADTjN-0006u1-5W for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 15:05:45 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ADTir-0006bp-ET for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 15:05:44 -0400 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1ADTir-0006bm-0Z for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 15:05:13 -0400 Received: (qmail 6585 invoked by uid 65534); 25 Oct 2003 19:05:11 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp004) with SMTP; 25 Oct 2003 21:05:11 +0200 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1ADTks-0004Gj-Hb for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 21:07:18 +0200 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1ADTlC-0007On-00 for ; Sat, 25 Oct 2003 21:07:38 +0200 To: guile-gtk discussions From: Andreas Rottmann Date: Sat, 25 Oct 2003 21:07:38 +0200 Message-ID: <877k2tdtl1.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Subject: run-time wrapping for GTK+ 2 working X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Oct 2003 19:05:45 -0000 Hi! I just made the first sucessful tests with the runtime wrappers. It ran tic-tac-toe, hello-world-generic and the graphical repl fine (tried no others yet). I consider this a kind of "proof-of-concept" milestone ;-). The problem is, altough I also have a lot of changes that can be used without g-wrap modification, this is not one of them; g-wrap does all the runtime wrapping stuff, altough requiring changes to the wrapsets specs to make use of it. On a different matter, I have no success getting the current CVS to run the examples: guile -s ../../ggobj--cvstrunk/examples/gtk/hello-generics.scm (gnome gtk): [glib gobject generics gw-gdk gw-gtk ERROR: In procedure gparam-primitive-create-pspec-struct: ERROR: Not yet implemented: file "../../../../ggobj--cvstrunk/gnome/gobject/guile-gnome-gobject-primitives.c" line 1024: # 81156f0 Exception during displaying of error: gruntime-error Since the g-wrap independent changes in my tree fix this, along with GValue-Array support, I've decided not to wait for consent and just check them into CVS (hopefully tla-cvs-sync really works ;-)). Regards, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 This reality is really just a fucked-up dream -- Papa Roach From MAILER-DAEMON Sat Oct 25 16:19:18 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ADUsX-00039U-U9 for mharc-guile-gtk-general@gnu.org; Sat, 25 Oct 2003 16:19:17 -0400 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ADUsU-00037p-R7 for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 16:19:14 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ADUry-0002uc-HJ for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 16:19:13 -0400 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1ADUry-0002uY-4C for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 16:18:42 -0400 Received: (qmail 28741 invoked by uid 65534); 25 Oct 2003 20:18:40 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp026) with SMTP; 25 Oct 2003 22:18:40 +0200 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1ADUtz-0004Kl-3U for guile-gtk-general@gnu.org; Sat, 25 Oct 2003 22:20:47 +0200 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1ADUuI-00005i-00 for ; Sat, 25 Oct 2003 22:21:06 +0200 To: guile-gtk discussions References: <877k2tdtl1.fsf@alice.rotty.yi.org> From: Andreas Rottmann Date: Sat, 25 Oct 2003 22:21:06 +0200 In-Reply-To: <877k2tdtl1.fsf@alice.rotty.yi.org> (Andreas Rottmann's message of "Sat, 25 Oct 2003 21:07:38 +0200") Message-ID: <873cdhdq6l.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Subject: Re: run-time wrapping for GTK+ 2 working X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Oct 2003 20:19:15 -0000 Andreas Rottmann writes: > Hi! > > I just made the first sucessful tests with the runtime wrappers. It > ran tic-tac-toe, hello-world-generic and the graphical repl fine > (tried no others yet). I consider this a kind of "proof-of-concept" > milestone ;-). The problem is, altough I also have a lot of changes > that can be used without g-wrap modification, this is not one of them; > g-wrap does all the runtime wrapping stuff, altough requiring changes > to the wrapsets specs to make use of it. > And furthermore, generic function and method creation is done now in g-wrap, which also adds complete method signatures (they are now specialized for all parameters wich have a "class name" (which can be set at type creation time). > Since the g-wrap independent changes in my tree fix this, along with > GValue-Array support, I've decided not to wait for consent and just > check them into CVS (hopefully tla-cvs-sync really works ;-)). > I've done so now. Highlights of the changes are gvalue array support and resurrection and polishing of the test-suite. -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 Python is executable pseudocode, Perl is executable line-noise. From MAILER-DAEMON Sun Oct 26 14:35:19 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ADqfW-0006E6-Vp for mharc-guile-gtk-general@gnu.org; Sun, 26 Oct 2003 14:35:18 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ADqfU-0006Dz-9W for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 14:35:16 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ADqey-0005Yh-Ep for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 14:35:15 -0500 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1ADqex-0005TZ-6V for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 14:34:43 -0500 Received: (qmail 19202 invoked by uid 65534); 26 Oct 2003 19:34:41 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp016) with SMTP; 26 Oct 2003 20:34:41 +0100 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1ADqgt-0005lf-JJ for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 20:36:43 +0100 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1ADqhH-0001nP-00 for ; Sun, 26 Oct 2003 20:37:07 +0100 To: guile-gtk discussions From: Andreas Rottmann Date: Sun, 26 Oct 2003 20:37:07 +0100 Message-ID: <87smlf4wpo.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Subject: How to reduce binding load time X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Oct 2003 19:35:16 -0000 Hi! Andy, i suggest you try to use 'scm_call_1 (scm_sym_make, scm_generic)' instead of using 'scm_make(scm_generic)'; this should speed up generic function creation a fair bit (and this is an understatement). I did so with some sucess in my g-wrap code with great success (reducing binding load time by 1/3 -- 1/2). Regards, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 Make free software, not war! From MAILER-DAEMON Sun Oct 26 16:52:17 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ADso4-0000Pz-Mg for mharc-guile-gtk-general@gnu.org; Sun, 26 Oct 2003 16:52:16 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ADso2-0000M1-52 for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 16:52:14 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ADsk9-0000Tk-T4 for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 16:48:44 -0500 Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1ADsXT-0007qq-CV for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 16:35:07 -0500 Received: from [195.253.8.218] (helo=mail.dokom.net) by mx20.gnu.org with esmtp (Exim 4.24) id 1ADs1R-0004du-V6 for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 16:02:02 -0500 Received: from dialin.speedway15.dip122.dokom.de ([195.253.15.122] helo=zagadka.ping.de) by mail.dokom.net with smtp (Exim 3.36 #3) id 1ADs3U-00088k-00 for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 22:04:08 +0100 Received: (qmail 18489 invoked by uid 1000); 26 Oct 2003 21:01:37 -0000 To: Andreas Rottmann References: <87smlf4wpo.fsf@alice.rotty.yi.org> From: Marius Vollmer Date: Sun, 26 Oct 2003 22:01:37 +0100 In-Reply-To: <87smlf4wpo.fsf@alice.rotty.yi.org> (Andreas Rottmann's message of "Sun, 26 Oct 2003 20:37:07 +0100") Message-ID: <87znfng1ce.fsf@zagadka.ping.de> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: guile-gtk discussions Subject: Re: How to reduce binding load time X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Oct 2003 21:52:15 -0000 Andreas Rottmann writes: > Hi! > > Andy, i suggest you try to use 'scm_call_1 (scm_sym_make, > scm_generic)' instead of using 'scm_make(scm_generic)'; this should > speed up generic function creation a fair bit (and this is an > understatement). I did so with some sucess in my g-wrap code with > great success (reducing binding load time by 1/3 -- 1/2). Why is that? Could we speed up scm_make to give the same kind of performance as scm_call_1 (scm_sym_make, ...)? What is scm_sym_make, incidentally? You can't call symbols... -- GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3 331E FAF8 226A D5D4 E405 From MAILER-DAEMON Sun Oct 26 19:06:26 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ADutt-00088a-DW for mharc-guile-gtk-general@gnu.org; Sun, 26 Oct 2003 19:06:25 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ADutp-000870-Fz for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 19:06:21 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ADutJ-0007pL-2i for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 19:06:20 -0500 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1ADutD-0007nO-3m for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 19:05:43 -0500 Received: (qmail 13639 invoked by uid 65534); 26 Oct 2003 21:19:00 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp026) with SMTP; 26 Oct 2003 22:19:00 +0100 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1ADsJs-0005wt-SC; Sun, 26 Oct 2003 22:21:04 +0100 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1ADsKG-0002fT-00; Sun, 26 Oct 2003 22:21:28 +0100 To: Marius Vollmer References: <87smlf4wpo.fsf@alice.rotty.yi.org> <87znfng1ce.fsf@zagadka.ping.de> From: Andreas Rottmann Date: Sun, 26 Oct 2003 22:21:28 +0100 In-Reply-To: <87znfng1ce.fsf@zagadka.ping.de> (Marius Vollmer's message of "Sun, 26 Oct 2003 22:01:37 +0100") Message-ID: <87ismb4rvr.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Cc: guile-gtk discussions Subject: Re: How to reduce binding load time X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Oct 2003 00:06:22 -0000 Marius Vollmer writes: > Andreas Rottmann writes: > >> Hi! >> >> Andy, i suggest you try to use 'scm_call_1 (scm_sym_make, >> scm_generic)' instead of using 'scm_make(scm_generic)'; this should >> speed up generic function creation a fair bit (and this is an >> understatement). I did so with some sucess in my g-wrap code with >> great success (reducing binding load time by 1/3 -- 1/2). > > Why is that? Could we speed up scm_make to give the same kind of > performance as scm_call_1 (scm_sym_make, ...)? > > What is scm_sym_make, incidentally? You can't call symbols... > scm_sym_make is what you get from resolving "make" (i.e. make-instance). scm_make is dogslow for some reason... This also relates to the last message I sent to guile-user, since I thought C scm_make(...) and Scheme (make ...) were equivalent. Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 Python is executable pseudocode, Perl is executable line-noise. From MAILER-DAEMON Sun Oct 26 20:03:01 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1ADvme-00021L-NL for mharc-guile-gtk-general@gnu.org; Sun, 26 Oct 2003 20:03:00 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1ADvmc-000218-P2 for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 20:02:58 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1ADvm4-0001vh-Ti for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 20:02:57 -0500 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1ADvm0-0001vA-3U for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 20:02:20 -0500 Received: (qmail 30549 invoked by uid 65534); 26 Oct 2003 21:02:17 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp027) with SMTP; 26 Oct 2003 22:02:17 +0100 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1ADs3i-0005vq-A4 for guile-gtk-general@gnu.org; Sun, 26 Oct 2003 22:04:22 +0100 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1ADs44-0002fK-00 for ; Sun, 26 Oct 2003 22:04:44 +0100 To: guile-gtk discussions From: Andreas Rottmann Date: Sun, 26 Oct 2003 22:04:44 +0100 Message-ID: <87oew34snn.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Subject: What kinds of bindings are to be included X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Oct 2003 01:02:59 -0000 Hi! I just wondered about what rationale there is to decide a set of bindings should go into guile-gobject or be in a separate package. What I had in mind is to start a libgda binding -- should this go into guile-gobject or not? Regards, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 It's *GNU*/Linux dammit! From MAILER-DAEMON Mon Oct 27 09:08:01 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AE82L-0007Sg-07 for mharc-guile-gtk-general@gnu.org; Mon, 27 Oct 2003 09:08:01 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AE82F-0007QS-VO for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 09:07:55 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AE81h-0007HJ-0o for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 09:07:52 -0500 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1AE81g-0007H2-Fv for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 09:07:20 -0500 Received: from localhost (localhost [127.0.0.1]) (uid 7728) by ambient.2y.net with local; Mon, 27 Oct 2003 09:07:19 -0500 Date: Mon, 27 Oct 2003 09:07:19 -0500 From: Andy Wingo To: guile-gtk-general@gnu.org Cc: guile-gtk discussions Message-ID: <20031027140718.GB8447@fridge> References: <877k2tdtl1.fsf@alice.rotty.yi.org> <873cdhdq6l.fsf@alice.rotty.yi.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline In-Reply-To: <873cdhdq6l.fsf@alice.rotty.yi.org> X-Operating-System: Linux fridge 2.4.21 User-Agent: Mutt/1.5.4i Subject: Re: run-time wrapping for GTK+ 2 working X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Oct 2003 14:07:58 -0000 On Sat, 25 Oct 2003, Andreas Rottmann wrote: > Andreas Rottmann writes: > > I just made the first sucessful tests with the runtime wrappers. It > > ran tic-tac-toe, hello-world-generic and the graphical repl fine > > (tried no others yet). I consider this a kind of "proof-of-concept" > > milestone ;-). The problem is, altough I also have a lot of changes > > that can be used without g-wrap modification, this is not one of them; > > g-wrap does all the runtime wrapping stuff, altough requiring changes > > to the wrapsets specs to make use of it. > > > And furthermore, generic function and method creation is done now in > g-wrap, which also adds complete method signatures (they are now > specialized for all parameters wich have a "class name" (which can be > set at type creation time). Fabulous! On my part, I have some further updates that allow (define-class ()) to work like you think it would (subclassing the gtk-window and all, as well as a more GOOPSy syntax for creating properties and signals. And a big reorganization in gobject.scm, and a slew of other bugfixes. I'll bring my laptop to work tomorrow and sync up, if things don't take too long. It looked like your changes aren't so deep, so the merge will be easy (but manual). I also wrapped libglade's custom widget handler so you can even put lambda expressions into the`function' box of glade's custom widget screen. Rock! > > Since the g-wrap independent changes in my tree fix this, along with > > GValue-Array support, I've decided not to wait for consent and just > > check them into CVS (hopefully tla-cvs-sync really works ;-)). > > > I've done so now. Highlights of the changes are gvalue array support > and resurrection and polishing of the test-suite. Fabulous! that test-suite code is over two years old, I think. Good to see that it's still useful, I've been hurting for something like that recently :) It seems fabulous is indeed my word for the day ;) Regards, wingo From MAILER-DAEMON Mon Oct 27 09:23:56 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AE8Hk-0001pN-9u for mharc-guile-gtk-general@gnu.org; Mon, 27 Oct 2003 09:23:56 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AE8Hi-0001oO-6C for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 09:23:54 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AE8H8-0001P9-Vw for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 09:23:50 -0500 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1AE8Gu-0001Ad-R7 for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 09:23:04 -0500 Received: from localhost (localhost [127.0.0.1]) (uid 7728) by ambient.2y.net with local; Mon, 27 Oct 2003 09:23:03 -0500 Date: Mon, 27 Oct 2003 09:23:03 -0500 From: Andy Wingo To: guile-gtk-general@gnu.org Message-ID: <20031027142303.GC8447@fridge> References: <87oew34snn.fsf@alice.rotty.yi.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline In-Reply-To: <87oew34snn.fsf@alice.rotty.yi.org> X-Operating-System: Linux fridge 2.4.21 User-Agent: Mutt/1.5.4i Subject: Re: What kinds of bindings are to be included X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Oct 2003 14:23:55 -0000 Hi Andy, I don't really know. I put my gstreamer bindings in a separate package, but that's a pretty large binding. I put glade and vte, and I have in my local copy some GtkSourceView bindings also in guile-gobject (which we can change soon to guile-gtk, no?). So sure, if it's easiest to put them in guile-gobject, why not? :) Vendors will always split it into different binary packages anyway. Regards, Andy From MAILER-DAEMON Mon Oct 27 10:47:10 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AE9ZV-0001Ps-Gt for mharc-guile-gtk-general@gnu.org; Mon, 27 Oct 2003 10:46:21 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AE9Z2-0001EA-QL for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 10:45:52 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AE9WQ-00006w-WB for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 10:43:43 -0500 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1AE9UO-000804-Tt for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 10:41:05 -0500 Received: (qmail 581 invoked by uid 65534); 27 Oct 2003 15:41:03 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp005) with SMTP; 27 Oct 2003 16:41:03 +0100 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1AE9WN-0001C8-Jd for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 16:43:07 +0100 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1AE9Wk-0005sa-00 for ; Mon, 27 Oct 2003 16:43:30 +0100 To: guile-gtk-general@gnu.org References: <87oew34snn.fsf@alice.rotty.yi.org> <20031027142303.GC8447@fridge> From: Andreas Rottmann Date: Mon, 27 Oct 2003 16:43:29 +0100 In-Reply-To: <20031027142303.GC8447@fridge> (Andy Wingo's message of "Mon, 27 Oct 2003 09:23:03 -0500") Message-ID: <87y8v6y9cu.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Subject: Re: What kinds of bindings are to be included X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Oct 2003 15:46:08 -0000 Andy Wingo writes: > Hi Andy, > > I don't really know. I put my gstreamer bindings in a separate > package, but that's a pretty large binding. I put glade and vte, and > I have in my local copy some GtkSourceView bindings also in > guile-gobject (which we can change soon to guile-gtk, no?). > I don't know if we shouldn't go rather for guile-gnome... > So sure, if it's easiest to put them in guile-gobject, why not? :) > Vendors will always split it into different binary packages anyway. > Yes, that's about what I though, too. I'd like to make guile-gobject a catch-all binding for gnome libraries. Regards, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 Say NO to Software Patents! -- http://petition.eurolinux.org/ From MAILER-DAEMON Mon Oct 27 10:48:30 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AE9b5-0002T9-NJ for mharc-guile-gtk-general@gnu.org; Mon, 27 Oct 2003 10:47:59 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AE9a9-0001jM-EK for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 10:47:01 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AE9Zn-0001Yq-3z for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 10:46:54 -0500 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1AE9Z7-0001HB-Lp for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 10:45:57 -0500 Received: (qmail 11117 invoked by uid 65534); 27 Oct 2003 15:45:56 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp016) with SMTP; 27 Oct 2003 16:45:56 +0100 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1AE9b6-0001CM-Nj for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 16:48:00 +0100 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1AE9bT-0005se-00 for ; Mon, 27 Oct 2003 16:48:23 +0100 To: guile-gtk-general@gnu.org References: <87oew34snn.fsf@alice.rotty.yi.org> <20031027142303.GC8447@fridge> From: Andreas Rottmann Date: Mon, 27 Oct 2003 16:48:23 +0100 In-Reply-To: <20031027142303.GC8447@fridge> (Andy Wingo's message of "Mon, 27 Oct 2003 09:23:03 -0500") Message-ID: <87ptgiy94o.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Subject: Re: What kinds of bindings are to be included X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Oct 2003 15:47:58 -0000 Andy Wingo writes: > Hi Andy, > > I don't really know. I put my gstreamer bindings in a separate > package, but that's a pretty large binding. I put glade and vte, and > I have in my local copy some GtkSourceView bindings also in > guile-gobject (which we can change soon to guile-gtk, no?). So sure, > if it's easiest to put them in guile-gobject, why not? :) Vendors > will always split it into different binary packages anyway. > OK, I'll check in the beginning of the GDA bindings tonight. -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 Packages should build-depend on what they should build-depend. From MAILER-DAEMON Mon Oct 27 10:49:43 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AE9cI-0003s8-KH for mharc-guile-gtk-general@gnu.org; Mon, 27 Oct 2003 10:49:14 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AE9bj-00030U-SH for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 10:48:39 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AE9YY-00012X-Ud for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 10:45:55 -0500 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1AE9Y0-0000nA-Qh for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 10:44:48 -0500 Received: (qmail 16750 invoked by uid 65534); 27 Oct 2003 15:44:46 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp023) with SMTP; 27 Oct 2003 16:44:46 +0100 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1AE9Zz-0001CI-9u for guile-gtk-general@gnu.org; Mon, 27 Oct 2003 16:46:51 +0100 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1AE9aM-0005sc-00 for ; Mon, 27 Oct 2003 16:47:14 +0100 To: guile-gtk-general@gnu.org References: <877k2tdtl1.fsf@alice.rotty.yi.org> <873cdhdq6l.fsf@alice.rotty.yi.org> <20031027140718.GB8447@fridge> From: Andreas Rottmann Date: Mon, 27 Oct 2003 16:47:13 +0100 In-Reply-To: <20031027140718.GB8447@fridge> (Andy Wingo's message of "Mon, 27 Oct 2003 09:07:19 -0500") Message-ID: <87u15uy96l.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Subject: Re: run-time wrapping for GTK+ 2 working X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Oct 2003 15:49:06 -0000 Andy Wingo writes: > On Sat, 25 Oct 2003, Andreas Rottmann wrote: > >> Andreas Rottmann writes: >> > I just made the first sucessful tests with the runtime wrappers. It >> > ran tic-tac-toe, hello-world-generic and the graphical repl fine >> > (tried no others yet). I consider this a kind of "proof-of-concept" >> > milestone ;-). The problem is, altough I also have a lot of changes >> > that can be used without g-wrap modification, this is not one of them; >> > g-wrap does all the runtime wrapping stuff, altough requiring changes >> > to the wrapsets specs to make use of it. >> > >> And furthermore, generic function and method creation is done now in >> g-wrap, which also adds complete method signatures (they are now >> specialized for all parameters wich have a "class name" (which can be >> set at type creation time). > > Fabulous! On my part, I have some further updates that allow > > (define-class ()) > > to work like you think it would (subclassing the gtk-window and all, > as well as a more GOOPSy syntax for creating properties and > signals. And a big reorganization in gobject.scm, and a slew of > other bugfixes. > Sounds very nice! > I'll bring my laptop to work tomorrow and sync up, if things don't > take too long. It looked like your changes aren't so deep, so the > merge will be easy (but manual). > Yes, the changes so far are not deep-cutting. The ones I've outstanding are g-wrap related (mostly moving the method/generic function logic into g-wrap, where it really belongs, IMO). > I also wrapped libglade's custom widget handler so you can even put lambda > expressions into the`function' box of glade's custom widget screen. Rock! > Hmm, I have not yet much done with glade + custom widgets. What exactly does this mean? Cheers, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 Python is executable pseudocode, Perl is executable line-noise. From MAILER-DAEMON Tue Oct 28 07:22:25 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AESr1-00084y-Q9 for mharc-guile-gtk-general@gnu.org; Tue, 28 Oct 2003 07:21:43 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AESqH-0007hD-0X for guile-gtk-general@gnu.org; Tue, 28 Oct 2003 07:20:57 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AESpi-0007Tz-G9 for guile-gtk-general@gnu.org; Tue, 28 Oct 2003 07:20:53 -0500 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1AESpZ-0007Rx-22 for guile-gtk-general@gnu.org; Tue, 28 Oct 2003 07:20:13 -0500 Received: from localhost (mantis.schoolnet.na [::ffff:196.44.140.238]) (AUTH: LOGIN wingo) by ambient.2y.net with esmtp; Tue, 28 Oct 2003 07:20:06 -0500 Received: from wingo by localhost with local (Exim 3.36 #1 (Debian)) id 1ADegi-0000Fv-00 for ; Sun, 26 Oct 2003 08:47:44 +0200 Date: Sun, 26 Oct 2003 08:47:44 +0200 From: Andy Wingo To: guile-gtk-general@gnu.org Message-ID: <20031026064743.GA962@lark> Mail-Followup-To: guile-gtk-general@gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Operating-System: Linux lark 2.4.20-1-686 User-Agent: Mutt/1.5.4i Sender: Andy Wingo Subject: Guile-gobject just got GOOPSier X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Oct 2003 12:21:42 -0000 Hey folks, I've been working on making subclassing, property definition, and signal definition work in a more GOOPSy way: - It used to be that you couldn't subclass a with the standard define-class syntax, but now you can. - #:instance slot allocations for descendants now set object properties on the primitive <%gtype-instance> SMOB, not the GOOPS wrapper. This is important because there can be many 's for one C object, but only one <%gtype-instance>. - You can expose slots as gobject properties by passing a #:param-spec option when you make the slot. See tic-tac-toe.scm for details. - You can define signals when you create a new class by passing any number of #:signal options to the class definition. Again, see tic-tac-toe.scm. - gtype->class is a lot simpler, internally; the complexity was offloaded to the initializer. With all these changes, the need for the (ugly) let-params and define-gobject-class macros is gone. I guess when I made them I was really looking to create a python-like block structure for class definitions, but now that I realize (reading the GOOPS manual *again*) that encapsulation is orthogonal to OOP I feel better about the flat-level syntax. But opinions are welcome, of course; that's why I send all these emails... And now with all of this, I think guile-gobject finally has a better syntax than PyGtk, if for nothing else that we don't have to explicitly register the type, and we don't need to chain up in the object initializer. Just the latest news from Namibia, Andy From MAILER-DAEMON Tue Oct 28 17:56:34 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AEcHs-0002i0-E7 for mharc-guile-gtk-general@gnu.org; Tue, 28 Oct 2003 17:26:04 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AEcHm-0002gD-Km for guile-gtk-general@gnu.org; Tue, 28 Oct 2003 17:25:58 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AEcHE-0002UY-S4 for guile-gtk-general@gnu.org; Tue, 28 Oct 2003 17:25:55 -0500 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1AEcHE-0002UH-6Y for guile-gtk-general@gnu.org; Tue, 28 Oct 2003 17:25:24 -0500 Received: (qmail 6191 invoked by uid 65534); 28 Oct 2003 22:18:41 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp021) with SMTP; 28 Oct 2003 23:18:41 +0100 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1AEcCi-0001ji-H4 for guile-gtk-general@gnu.org; Tue, 28 Oct 2003 23:20:44 +0100 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1AEcD4-000472-00 for ; Tue, 28 Oct 2003 23:21:06 +0100 To: guile-gtk discussions From: Andreas Rottmann Date: Tue, 28 Oct 2003 23:21:06 +0100 Message-ID: <87znflhulp.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Subject: Performance X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Oct 2003 22:26:02 -0000 Hi! I now have load time of (gnome gtk) down to 4 seconds with my code, using Guile 1.7 - not too bad; what costs most of the time is the scm_add_method() invocation. Just wanted to note that :-), Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 It's *GNU*/Linux dammit! From MAILER-DAEMON Tue Oct 28 20:23:01 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AEf37-0007JO-1P for mharc-guile-gtk-general@gnu.org; Tue, 28 Oct 2003 20:23:01 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AEf34-0007Ix-He for guile-gtk-general@gnu.org; Tue, 28 Oct 2003 20:22:58 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AEf2X-0007CH-6J for guile-gtk-general@gnu.org; Tue, 28 Oct 2003 20:22:57 -0500 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1AEf2W-0007C0-Ic for guile-gtk-general@gnu.org; Tue, 28 Oct 2003 20:22:24 -0500 Received: (qmail 29559 invoked by uid 65534); 28 Oct 2003 20:27:33 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp006) with SMTP; 28 Oct 2003 21:27:33 +0100 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1AEaSK-0001Tq-Gr for guile-gtk-general@gnu.org; Tue, 28 Oct 2003 21:28:44 +0100 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1AEaSg-0007MD-00 for ; Tue, 28 Oct 2003 21:29:06 +0100 To: guile-gtk discussions From: Andreas Rottmann Date: Tue, 28 Oct 2003 21:29:06 +0100 Message-ID: <874qxtject.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Subject: Why (read-set! keywords 'prefix) X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Oct 2003 01:22:59 -0000 Hi! I wonder why you use said syntax; I'd prefer to use the R5RS symbols '#:token', also for specifying module options e.g.: (define-module (foo bar) #:use-module (xy)) ... The reason I prefer it this way is (a) according to [0] ':token' symbols are nonstandard, and (b) '#:token' symbols are used throughout the Guile manual. Opions? [0] http://www.gnu.org/software/guile/docs/guile-ref/Keyword-Read-Syntax.html Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 It's *GNU*/Linux dammit! From MAILER-DAEMON Wed Oct 29 06:50:27 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AEoqB-0003yr-4W for mharc-guile-gtk-general@gnu.org; Wed, 29 Oct 2003 06:50:19 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AEoq3-0003wq-Pb for guile-gtk-general@gnu.org; Wed, 29 Oct 2003 06:50:11 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AEokb-0002zr-0Z for guile-gtk-general@gnu.org; Wed, 29 Oct 2003 06:45:05 -0500 Received: from [129.217.163.1] (helo=mail.dt.e-technik.uni-dortmund.de) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AEokI-0002tj-MW for guile-gtk-general@gnu.org; Wed, 29 Oct 2003 06:44:14 -0500 Received: from troy.dt.e-technik.uni-dortmund.de (troy.dt.e-technik.uni-dortmund.de [129.217.163.17]) by mail.dt.e-technik.uni-dortmund.de (Postfix) with ESMTP id A997B1183C; Wed, 29 Oct 2003 12:44:11 +0100 (CET) Received: by troy.dt.e-technik.uni-dortmund.de (Postfix, from userid 520) id 2069DB9C6; Wed, 29 Oct 2003 12:44:10 +0100 (CET) To: Andreas Rottmann References: <874qxtject.fsf@alice.rotty.yi.org> From: Marius Vollmer Date: Wed, 29 Oct 2003 12:44:10 +0100 In-Reply-To: <874qxtject.fsf@alice.rotty.yi.org> (Andreas Rottmann's message of "Tue, 28 Oct 2003 21:29:06 +0100") Message-ID: User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: guile-gtk discussions Subject: Re: Why (read-set! keywords 'prefix) X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Oct 2003 11:50:17 -0000 Andreas Rottmann writes: > I wonder why you use said syntax; I'd prefer to use the R5RS symbols > '#:token', also for specifying module options e.g.: > > (define-module (foo bar) > #:use-module (xy)) > ... > > The reason I prefer it this way is (a) according to [0] ':token' > symbols are nonstandard, and (b) '#:token' symbols are used throughout > the Guile manual. > > Opions? I like the shorter ':token' syntax a lot and I think it is the natural way to write keywords. Common Lisp uses it, too. The only reason to use '#:token' in my opinion is that ':token' does not conform to R5RS. Since ':token' is only available as an option, I see no harm in providing it. From MAILER-DAEMON Thu Oct 30 08:37:41 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AFCzc-0000qo-Gh for mharc-guile-gtk-general@gnu.org; Thu, 30 Oct 2003 08:37:40 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AFCzZ-0000pv-Af for guile-gtk-general@gnu.org; Thu, 30 Oct 2003 08:37:37 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AFCz1-0000hS-VX for guile-gtk-general@gnu.org; Thu, 30 Oct 2003 08:37:35 -0500 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1AFCtd-00086T-WD for guile-gtk-general@gnu.org; Thu, 30 Oct 2003 08:31:30 -0500 Received: from localhost (mantis.schoolnet.na [::ffff:196.44.140.238]) (AUTH: LOGIN wingo) by ambient.2y.net with esmtp; Thu, 30 Oct 2003 08:31:25 -0500 Received: from wingo by localhost with local (Exim 3.36 #1 (Debian)) id 1AFBvl-0000Ip-00 for ; Thu, 30 Oct 2003 14:29:37 +0200 Date: Thu, 30 Oct 2003 14:29:35 +0200 From: Andy Wingo To: guile-gtk discussions Message-ID: <20031030122935.GA816@lark> Mail-Followup-To: guile-gtk discussions References: <874qxtject.fsf@alice.rotty.yi.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline In-Reply-To: <874qxtject.fsf@alice.rotty.yi.org> X-Operating-System: Linux lark 2.4.20-1-686 User-Agent: Mutt/1.5.4i Sender: Andy Wingo Subject: Re: Why (read-set! keywords 'prefix) X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Oct 2003 13:37:38 -0000 On Tue, 28 Oct 2003, Andreas Rottmann wrote: > I wonder why you use said syntax; I'd prefer to use the R5RS symbols > '#:token', also for specifying module options e.g.: I find it to be much more elegant, personally. I use it in my own code, but if that ever creeps over into any installed code in guile-gobject that would be a bug -- I don't want to set that option for the user, as it's global, and otherwise things fail. So if you see any code like like that in the gnome directory, feel free to fix it. Regards, wingo. From MAILER-DAEMON Thu Oct 30 08:38:18 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AFD0E-000114-18 for mharc-guile-gtk-general@gnu.org; Thu, 30 Oct 2003 08:38:18 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AFD09-0000yb-5E for guile-gtk-general@gnu.org; Thu, 30 Oct 2003 08:38:13 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AFCxI-0000Pr-Ku for guile-gtk-general@gnu.org; Thu, 30 Oct 2003 08:35:47 -0500 Received: from [216.166.232.203] (helo=ambient.2y.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1AFCta-00086T-UI for guile-gtk-general@gnu.org; Thu, 30 Oct 2003 08:31:27 -0500 Received: from localhost (mantis.schoolnet.na [::ffff:196.44.140.238]) (AUTH: LOGIN wingo) by ambient.2y.net with esmtp; Thu, 30 Oct 2003 08:31:18 -0500 Received: from wingo by localhost with local (Exim 3.36 #1 (Debian)) id 1AFC2w-0000PH-00 for ; Thu, 30 Oct 2003 14:37:02 +0200 Date: Thu, 30 Oct 2003 14:37:02 +0200 From: Andy Wingo To: guile-gtk discussions Message-ID: <20031030123702.GB816@lark> Mail-Followup-To: guile-gtk discussions References: <87znflhulp.fsf@alice.rotty.yi.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline In-Reply-To: <87znflhulp.fsf@alice.rotty.yi.org> X-Operating-System: Linux lark 2.4.20-1-686 User-Agent: Mutt/1.5.4i Sender: Andy Wingo Subject: Re: Performance X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Oct 2003 13:38:16 -0000 On Tue, 28 Oct 2003, Andreas Rottmann wrote: > I now have load time of (gnome gtk) down to 4 seconds with my code, > using Guile 1.7 - not too bad; what costs most of the time is the > scm_add_method() invocation. Very nice. I'm eagerly awaiting these fixes to come in. And all this about generics and methods taking a long time *has* to be fixable. In other news, I just committed some custom wrappers for gtk-message-dialog and added a module argument to glade-xml-signal-autoconnect. And by the way, the custom handler is what happens when you click on the "custom widget" icon in glade; you can input anything that evaluates to a widget there. Unfortunately modules are still a problem there, because that code is called when you glade-xml-new. If you want a symbol from a particular module you just have to use eval (for instance, a construction function that is defined and exported in one module but called from another, but still wants the handlers local to its module). Regards, wingo. From MAILER-DAEMON Thu Oct 30 11:20:03 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AFFWk-0001MM-MW for mharc-guile-gtk-general@gnu.org; Thu, 30 Oct 2003 11:20:02 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AFFWg-0001GD-Ol for guile-gtk-general@gnu.org; Thu, 30 Oct 2003 11:19:58 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AFFW4-0000gB-4h for guile-gtk-general@gnu.org; Thu, 30 Oct 2003 11:19:52 -0500 Received: from [213.165.64.20] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.24) id 1AFFW3-0000ZE-7L for guile-gtk-general@gnu.org; Thu, 30 Oct 2003 11:19:19 -0500 Received: (qmail 21791 invoked by uid 65534); 30 Oct 2003 16:19:12 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp015) with SMTP; 30 Oct 2003 17:19:12 +0100 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.24) id 1AFFXt-00043u-9D for guile-gtk-general@gnu.org; Thu, 30 Oct 2003 17:21:13 +0100 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1AFFYM-0000ZX-00 for ; Thu, 30 Oct 2003 17:21:42 +0100 To: guile-gtk discussions References: <874qxtject.fsf@alice.rotty.yi.org> <20031030122935.GA816@lark> From: Andreas Rottmann Date: Thu, 30 Oct 2003 17:21:41 +0100 In-Reply-To: <20031030122935.GA816@lark> (Andy Wingo's message of "Thu, 30 Oct 2003 14:29:35 +0200") Message-ID: <87u15qr90q.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Andreas Rottmann Subject: Re: Why (read-set! keywords 'prefix) X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Oct 2003 16:20:00 -0000 Andy Wingo writes: > On Tue, 28 Oct 2003, Andreas Rottmann wrote: > >> I wonder why you use said syntax; I'd prefer to use the R5RS symbols >> '#:token', also for specifying module options e.g.: > > I find it to be much more elegant, personally. I use it in my own code, > but if that ever creeps over into any installed code in guile-gobject > that would be a bug -- I don't want to set that option for the user, as > it's global, and otherwise things fail. So if you see any code like like > that in the gnome directory, feel free to fix it. > So you'd like to stay with it for the examples? Regards, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 This reality is really just a fucked-up dream -- Papa Roach From MAILER-DAEMON Thu Oct 30 13:25:37 2003 Received: from list by monty-python.gnu.org with archive (Exim 4.24) id 1AFHUG-0006ql-Cu for mharc-guile-gtk-general@gnu.org; Thu, 30 Oct 2003 13:25:36 -0500 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AFHUD-0006oq-JF for guile-gtk-general@gnu.org; Thu, 30 Oct 2003 13:25:33 -0500 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AFHTh-0006ip-60 for guile-gtk-general@gnu.org; Thu, 30 Oct 2003 13:25:32 -0500 Received: from [216.254.0.207] (helo=mail.speakeasy.net) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.24) id 1AFHRt-00062M-0N for guile-gtk-general@gnu.org; Thu, 30 Oct 2003 13:23:09 -0500 Received: (qmail 19537 invoked by uid 64014); 30 Oct 2003 18:23:05 -0000 Received: from david@altosw.be by mail7.speakeasy.net with AmikaGuardian-Server-2.0.0 (Processed in 0.178541 secs); 30 Oct 2003 18:23:05 -0000 Received: from unknown (HELO faust.local) (wallhall@[68.153.219.49]) (envelope-sender ) by mail7.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 30 Oct 2003 18:23:04 -0000 Date: Thu, 30 Oct 2003 13:21:34 -0500 From: David Pirotte To: guile-gtk-general@gnu.org Message-Id: <20031030132134.57778d67.david@altosw.be> Organization: Alto Air Services [http://www.altosw.be/aas/] X-Mailer: Sylpheed version 0.9.6 (GTK+ 1.2.10; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: focus_out signal and grab-focus ... how make it work as i'd like to ? X-BeenThere: guile-gtk-general@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: General discussions about guile-gtk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Oct 2003 18:25:34 -0000 Hello, i need to force gtk to stay in a particular entry, if and while the entry does not valdate a condition, for exemple a valid string date format i tried the following, but was unsuccessfull, the system does not stay on the entry that i wish ot would, the one the user was trying to get out: ;; just for the example (define (str-valid-dte? date-str) #f) (gtk-signal-connect entry "focus_out_event" (lambda (a) (let ((date-str (gtk-entry-get-text entry))) (if (str-valid-dte? date-str) #t (begin (system "beep") ==> (gtk-widget-grab-focus entry) ))))) i also tried (gtk-signal-emit-stop-by-name entry "focus_out_event") but i don't know what i am doing ... :-)) anyone could help me with this little problem? i am stuck thanks david