On Tue, 2006-03-21 at 12:57 +0000, Luís Oliveira wrote:
Stephen Compall s11@member.fsf.org writes:
One can also specify in the interface documentation that by merely defining an e-t-f, even if it answers *runtime-translator-form*, you are short-circuiting the alloc-param and free mechanism for dynamic-extent expansions, and therefore must either not do so, or always be sure to define a foreign-dyn expansion as well. This is option 3 [...]
I think *runtime-translator-form* should be a translate-type-to-foreign call when expand-type-to-foreign is called directly and a m-v-b/t-t-t-f/unwind-protect/f-t-t-o thingie when it's called through expand-type-to-foreign-dyn.
This is available at http://scompall.nocandysw.com/cffi/etfd-opt3.darcs.patch , including documentation updates.
Latest of "Option 1" at http://scompall.nocandysw.com/cffi/etfd-opt1.darcs.patch , also including documentation updates.
Both include the same modification to %expand-type-to-foreign; see the docs in "opt3" for more details.