[cffi-devel] New patches in cffi-luis: 5/Aug

Luis Oliveira luismbo at gmail.com
Fri Aug 5 20:00:04 UTC 2005


Hello,

Yesterday was find-bug-in-lisp-implementations day, heh. Here are the 
new patches in my cffi branch[1]:

Fri Aug  5 20:38:44 WEST 2005  Luis Oliveira <loliveira at common-lisp.net>
   * Minor edits and changed SQRTF test.

   - Commented out some unused forms in src/functions.lisp.
   - Defined our own SQRTF in libtest.c since it's not available
     on win32.

Fri Aug  5 20:36:58 WEST 2005  Luis Oliveira <loliveira at common-lisp.net>
   * SBCL: use SB-SYS:FOREIGN-SYMBOL-SAP

   - SBCL 0.9.3 renamed SB-SYS:FOREIGN-SYMBOL-ADDRESS to
     SB-SYS:FOREIGN-SYMBOL-SAP. Use this instead.

Fri Aug  5 20:34:17 WEST 2005  Luis Oliveira <loliveira at common-lisp.net>
   * Small change to DEFCFUN-HELPER-FORMS.

   - Make it take an extra argument "lisp-name". Hopefully I got
     this stuff right this time, I'm not sure yet.

Fri Aug  5 20:26:31 WEST 2005  Luis Oliveira <loliveira at common-lisp.net>
   * Make DEFCVAR use the type translation mechanism.

   - Also added new tests. Note, Lispworks on x86 starts behaving
     erratically after runing the FOREIGN-GLOBALS.SET.STRING test
     and eventually dies an horrible death. Also, Allegro doesn't
     like its memory being free()d by C. doc/allegro-internals.txt
     has some info on this. Should be easy to figure out.

Fri Aug  5 20:19:02 WEST 2005  Luis Oliveira <loliveira at common-lisp.net>
   * Lispworks bug fixes.

   - FLI:INCF-POINTER didn't increment the pointers at all.
     Implemented CFFI-SYS:INC-PTR using FLI:MAKE-POINTER and
     FLI:POINTER-ADDRESS instead.
   - FLI:WITH-DYNAMIC-FOREIGN-OBJECTS was causing troubles on
     all platforms, heap allocate for the time being.
   - Missing (convert-foreign-type rettype) when defining a
     foreign function.
   - FOREIGN-VAR-PTR was trying to access the var too soon,
     simplified it a bit too.

Fri Aug  5 20:14:54 WEST 2005  Luis Oliveira <loliveira at common-lisp.net>
   * Allegro port update, bug fixes.

   - Convert chars to signed-byte instead of unsigned-byte (need
     to figure out the issues between signed vs. unsigned char, btw)
   - WITH-FOREIGN-PTR was evaluating SIZE twice.

Fri Aug  5 19:59:15 WEST 2005  Luis Oliveira <loliveira at common-lisp.net>
   * New callback interface.

   - New interface: DEFCALLBACK, CALLBACK, GET-CALLBACK
   - New CALLBACK.* tests.
   - Implementations of CFFI-SYS:MAKE-CALLBACK:
       - Allegro, passes all tests on linux/x86 and win32
         fails CALLBACKS.CHAR/UNSIGNED-CHAR/SHORT/UNSIGNED-SHORT
         on darwin/ppc, looks like an Allegro bug.
       - clisp, passes all tests.
       - cmucl, passes all tests on linux/x86, on darwin/ppc fails
         CALLBACKS.CHAR/UNSIGNED-CHAR/SHORT/UNSIGNED-SHORT, looks
         like a bug in cmucl/ppc too.
       - sbcl, x86 only, passes all tests except its callbacks
         can't handle sap's yet, that'd be bug in sbcl too.
       - openmcl, fails CALLBACKS.FLOAT/DOUBLE, I reported this
         bug in openmcl, and it has been confirmed.
       - Lispworks, passes all tests on darwin/ppc, on linux/x86
         and win32 there are issues unrelated to callbacks.

Fri Aug  5 19:45:09 WEST 2005  Luis Oliveira <loliveira at common-lisp.net>
   * New type translation interface.

   - Removed define-type-translator, added define-type-translation with
     a new interface.
   - Make with-object-translated, translate-objects and the string
     type use the new interface.

Fri Aug  5 19:36:31 WEST 2005  Luis Oliveira <loliveira at common-lisp.net>
   * Minor simplification to test-op in cffi-tests.asd

Thu Aug  4 05:38:27 WEST 2005  Luis Oliveira <loliveira at common-lisp.net>
   * :cffi/no-foreign-funcall and unexport foreign-var-ptr

   * Push :cffi/no-foreign-funcall to *features* when the host
     lisp does not support it.



Btw, Frank, if you feel like testing if Allegro 7.0 on Mac has these 
callbacks fixed, please go ahead. :-)


[1] - http://common-lisp.net/project/cffi/darcs/cffi-luis/

-- 
Luís Oliveira
http://student.dei.uc.pt/~lmoliv/
Equipa Portuguesa do Translation Project
http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?team=pt



More information about the cffi-devel mailing list