[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[MERGE-REQUEST] Upgrade to the API of Guile 1.7
From: |
Ludovic Courtès |
Subject: |
[MERGE-REQUEST] Upgrade to the API of Guile 1.7 |
Date: |
Fri, 23 Sep 2005 14:36:00 +0200 |
User-agent: |
Gnus/5.110004 (No Gnus v0.4) Emacs/21.4 (gnu/linux) |
Hi,
Andreas, could you eventually merge
address@hidden/g-wrap--devo--1.9.6--patch-8'?
patch-8
Use Guile 1.7's API; augmented `guile-compatibility.[ch]'.
I basically updated `guile-runtime.[ch]' to use the new API and
augmented `guile-compatibility.[ch]' accordingly.
I also updated `(g-wrap guile ws standard)' so that it generates code
using the new API. There is a couple of (small) issues remaining with
this one:
1. I didn't know what to do with `SCM_ALLOW_INTS' and `SCM_DEFER_INTS'
so we'll need to find a solution for this. Actually, I don't
understand the point of using this so I'll need your help. :-)
2. Unwrapping a string is relatively costly since we _have to_ use
`scm_to_locale_string ()' which allocates a new string, and then
free it (if needed). However, when the unwrapping code is inlined
into a function wrapper, we could to something smarter and get the
string content into a stack-allocated buffer. The point is that
`unwrap-value-cg' doesn't know whether it's called to generate the
code of a stand-alone string unwrapping function, or whether it's
generating code within a function wrapper.
So there's room for optimization here, but we would need to
carefully think about how to change the `unwrap-value-cg' protocol
to allow that.
I tested it _only_ with CVS Guile (1.7.2+) so I'd be glad if someone
could confirm that this doesn't break anything on other versions of
Guile. Using Guile 1.7, all test cases pass, and I also tested it in
a project of mine and it works fine.
Thanks,
Ludovic.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [MERGE-REQUEST] Upgrade to the API of Guile 1.7,
Ludovic Courtès <=