On 6/6/06, Luke Crook luke@balooga.com wrote:
I think this foreign struct problem with LW goes all the way back to cffi- 060214. Something changed between cffi-060213 and cffi-060214 for Lispworks for Windows that messes up foreign structs. I'm having to use cffi-060213 in the lispbuilder-sdl project (only for Lispworks in win32) for this very reason. The examples work just fine in CLISP for win32, as well as SBCL for Linux using the latest and greatest CFFI.
Hmmm....I've now compared snapshots 060210 through 060215 in progressive stages and identified the folowing differences:
The delta between 060210 and 060213 is:
src/foreign-vars.lisp src/functions.lisp src/package.lisp src/types.lisp [plus test file differences]
The delta from 060213 to 060214 is:
src/cffi-allegro.lisp src/cffi-openmcl.lisp src/cffi-sbcl.lisp [plus test file differences]
And from 060214 to 060215 we have:
src/cffi-lispworks.lisp src/package.lisp src/types.lisp [plus doc and test file differences]
The changes in 060215's version of cffi-lispworks.lisp are that the following have been added:
defun convert-foreign-typed-aref-type defun pointer-and-index compiler macros for %mem-ref and %mem-set
Hopefully this code spelunking can help track down what's happened :-)