Hi,

Andreas, could you eventually merge
[EMAIL PROTECTED]/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.


_______________________________________________
g-wrap-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/g-wrap-dev

Reply via email to