Tue Jun 16 12:19:44 EDT 2009 Luis Oliveira loliveira@common-lisp.net * update cffi.asd for version 0.10.5
M ./cffi.asd -1 +1
Tue Jun 16 12:18:26 EDT 2009 Luis Oliveira loliveira@common-lisp.net * cffi-manual: minor style change.
M ./doc/cffi-manual.texinfo -5 +7
Tue Jun 16 12:05:19 EDT 2009 Stelian Ionescu sionescu@common-lisp.net * Update docs for groveler clause CONSTANT.
M ./doc/cffi-manual.texinfo -1 +3
Mon Jun 15 13:07:33 EDT 2009 Luis Oliveira loliveira@common-lisp.net * grovel: remove comment about the *CC* and the CC environment variable
We already do look at CC in GROVEL::CC-COMPILE-AND-LINK.
M ./grovel/grovel.lisp -1
Mon Jun 15 11:13:12 EDT 2009 Luis Oliveira loliveira@common-lisp.net * cffi-grovel: use "cc" on non-Windows platforms (including Cygwin)
M ./grovel/grovel.lisp -5 +3
Sun Jun 14 14:16:43 EDT 2009 Luis Oliveira loliveira@common-lisp.net * clisp: avoid using NIL for null pointers.
- Work around FFI:C-POINTER in %MEM-REF, %FOREIGN-FUNCALL and %DEFCALLBACK. - Don't accept NIL in POINTERP, FOREIGN-POINTER or INC-POINTER. - New tests: CALLBACKS.NIL-FOR-NULL, FUNCALL.POINTER-NOT-NIL, POINTER.NULL and FOREIGN-POINTER-TYPE.NIL.
M ./src/cffi-clisp.lisp -22 +42 M ./tests/callbacks.lisp +9 M ./tests/funcall.lisp +6 M ./tests/memory.lisp +8
Mon Jun 8 10:29:44 EDT 2009 Stelian Ionescu sionescu@common-lisp.net * Groveler: add support for float constants.
The CONSTANT groveler form now takes an additional keyword argument TYPE, which defaults to INTEGER. In order to grovel floats, DOUBLE-FLOAT must be used.
M ./grovel/grovel.lisp -5 +18
Thu Jun 4 09:05:25 EDT 2009 Luis Oliveira loliveira@common-lisp.net * cffi-tests.asd: use trivial-features.
- Using #-windows instead of #-(or win32 mswindows) which didn't work on Clozure CL.
M ./cffi-tests.asd -1 +4
Thu Jun 4 08:42:41 EDT 2009 Luis Oliveira loliveira@common-lisp.net * Add stdcall support for callbacks in Clozure CL.
M ./src/cffi-openmcl.lisp -2 +3
Tue May 26 15:47:15 EDT 2009 Luis Oliveira loliveira@common-lisp.net * cffi-manual: fix code rot in the DEFCVAR example
Reported by Tobias Rautenkranz.
M ./doc/cffi-manual.texinfo -2 +2
Tue May 26 15:37:11 EDT 2009 Luis Oliveira loliveira@common-lisp.net * Fix bug in FOREIGN-FUNCALL.
CFFI::PARSE-ARGS-AND-TYPES was inadvertently suppressing arguments with NIL values. E.g.: (foreign-funcall "foo" :foo a :bar nil :baz b :void) was compiled as (foreign-funcall "foo" :foo a :baz b :void).
Reported by "D.I."
M ./src/functions.lisp -6 +7 M ./src/package.lisp -1 +1 M ./tests/funcall.lisp +20
Tue May 26 15:09:29 EDT 2009 Luis Oliveira loliveira@common-lisp.net * Fix the FOREIGN-STRUCT-SLOT-SET compiler macro for aggregate slots.
Reported by Andy Hefner.
M ./src/types.lisp -2 +1
Wed Apr 29 16:25:05 EDT 2009 Stelian Ionescu sionescu@common-lisp.net * Bind *PACKAGE* in PROCESS-GROVEL-FILE.
Reported by Zach Smith, patch by Nikodemus Siivola.
M ./grovel/grovel.lisp -1 +2
Tue Apr 7 15:02:03 EDT 2009 Luis Oliveira loliveira@common-lisp.net * Minor manual fixes.
- Fixed one of the foreign-funcall-pointer examples. - Improved the defcallback description.
Reported by Naveen Garg.
M ./doc/cffi-manual.texinfo -5 +5
Sun Feb 1 20:22:03 EST 2009 Stelian Ionescu sionescu@common-lisp.net * Make sure that 64bit constants are groveled correctly on 32bit platforms.
M ./grovel/grovel.lisp -1 +6
Sun Feb 1 13:17:00 EST 2009 Luis Oliveira loliveira@common-lisp.net tagged 0.10.4
Sun Feb 1 13:16:53 EST 2009 Luis Oliveira loliveira@common-lisp.net * update cffi.asd for version 0.10.4
M ./cffi.asd -1 +1
Tue Jan 27 16:43:36 EST 2009 Luis Oliveira loliveira@common-lisp.net * cffi-allegro: WITH-POINTER-TO-VECTOR-DATA fix
- Also, export both W-P-T-V-D and MAKE-SHAREABLE-BYTE-VECTOR from CFFI-SYS and remove shareable vector tests from the expected failures list.
Fix courtesy of John Fremlin.
M ./src/cffi-allegro.lisp -4 +11 M ./tests/misc.lisp -1 +1
Tue Jan 27 16:29:53 EST 2009 Luis Oliveira loliveira@common-lisp.net * Handle uninterned symbols in %DEFCALLBACK
- New regression test: CALLBACKS.UNINTERNED.
Bug reported by Liam Healy.
M ./src/cffi-allegro.lisp -3 +7 M ./src/cffi-cmucl.lisp -2 +5 M ./src/cffi-ecl.lisp -1 +4 M ./src/cffi-lispworks.lisp -1 +4 M ./src/cffi-openmcl.lisp -2 +5 M ./tests/callbacks.lisp +7
Sun Jan 18 21:13:05 EST 2009 Luis Oliveira loliveira@common-lisp.net * Shareable byte vector support for Allegro CL
Patch courtesy of John Fremlin.
M ./src/cffi-allegro.lisp -12 +16
Thu Jan 8 20:45:09 EST 2009 Luis Oliveira loliveira@common-lisp.net * cffi-allegro: use WITH-STATIC-FOBJECT instead of WITH-STACK-FOBJECT
- WITH-STACK-FOBJECT doesn't take care of deallocation when it fails to allocate on the stack. - Clean up the WITH-FOREIGN-POINTER macro.
M ./src/cffi-allegro.lisp -21 +15
Thu Jan 8 20:32:37 EST 2009 Luis Oliveira loliveira@common-lisp.net * cffi-allegro: fix handling of pointers on 64-bit platforms
- Use :UNSIGNED-NAT instead of :FOREIGN-ADDRESS for CFFI's :POINTER. - Cleanup some of the kludges needed because :FOREIGN-ADDRESS wasn't understood by Allegro's FF in some contexts.
Bug report and initial patch courtesy of John Fremlin.
M ./src/cffi-allegro.lisp -46 +26
Sun Jan 18 20:57:59 EST 2009 Luis Oliveira loliveira@common-lisp.net * cffi-clisp: bail out early on when FFI is not available.
Suggested by Daniel Herring.
M ./src/cffi-clisp.lisp +4
Thu Jan 8 16:54:16 EST 2009 Luis Oliveira loliveira@common-lisp.net * cffi-allegro: WITH-FOREIGN-POINTER bug fix
- Pass :ALLOCATION :FOREIGN-STATIC-GC to FF:WITH-STACK-FOBJECT so that the allocated object is not moved by the GC in those situation where W-S-F does heap allocation (e.g. in interpreted code).
Initial patch courtesy of John Fremlin.
M ./src/cffi-allegro.lisp -6 +5
Wed Jan 7 16:29:56 EST 2009 Stelian Ionescu sionescu@common-lisp.net * Fix ETYPECASE in DEFINE-GROVEL-SYNTAX CSTRUCT.
M ./grovel/grovel.lisp -2 +2
Tue Dec 30 20:57:14 EST 2008 Luis Oliveira loliveira@common-lisp.net * Experimental DEFCSTRUCT feature: accessors.
CFFI> (macroexpand-1 '(defcstruct (foo :conc-name foo-) (a :int))) ;;; ... (defun foo-a (pointer-to-foo) (foreign-slot-value pointer-to-foo 'foo 'a)) (defun (setf foo-a) (value pointer-to-foo) (foreign-slot-set value pointer-to-foo 'foo 'a)) ;;; ...
M ./src/types.lisp -8 +26
Tue Dec 30 20:51:45 EST 2008 Luis Oliveira loliveira@common-lisp.net * Improvements to the :ARRAY type.
- Got rid of the :AUTO-ARRAY type. Add translators to :ARRAY directly instead. - Make the :ARRAY type aggregate. This way it can be used inside structures as an alternative to the :COUNT slot option. - Add TRANSLATE-AGGREGATE-TO-FOREIGN method that lets us do (setf (foreign-slot-value ptr 'struct 'slot-name) #(1 2 3))
M ./src/types.lisp -16 +30
Tue Dec 30 20:48:50 EST 2008 Luis Oliveira loliveira@common-lisp.net * Apply translators to FOREIGN-SLOT-VALUE on aggregate slots
Implemented a new generic function TRANSLATE-AGGREGATE-TO-FOREIGN to support (SETF FOREIGN-SLOT-VALUE) for aggregate slots.
M ./src/early-types.lisp +4 M ./src/types.lisp -16 +21
Tue Dec 30 19:50:38 EST 2008 Luis Oliveira loliveira@common-lisp.net * Add note about FREE-TRANSLATED-OBJECT's PARAM argument.
M ./src/early-types.lisp +3
Mon Dec 29 20:45:38 EST 2008 Luis Oliveira loliveira@common-lisp.net * manual: miscellaneous improvements
- use a roman font for comments in the TeX outputs. - fix some typos and missing @lispcmt{}s. - insert page breaks before each CLHS-style documentation node. This should make it much clearer to read and browse, at the expense 23 more pages in total, a ~25% increase.
M ./doc/cffi-manual.texinfo -17 +78
Sun Dec 28 16:37:58 EST 2008 Stelian Ionescu sionescu@common-lisp.net * Fix %INVOKE on Clisp.
M ./grovel/grovel.lisp -2 +5
Sun Dec 28 16:22:45 EST 2008 Stelian Ionescu sionescu@common-lisp.net * Use ETYPECASE instead of COND in a few places.
M ./grovel/grovel.lisp -21 +23
Sat Oct 11 09:00:10 EDT 2008 Hugo Duncan hugo_duncan@yahoo.com * Add the ability to specify a preprocessor symbol as the argument to :count in cstruct
M ./grovel/grovel.lisp -1 +6
Sat Dec 27 18:09:19 EST 2008 Luis Oliveira loliveira@common-lisp.net * defcvar: don't ignore the documentation string.
- use (setf documentation) to store the docstring. - add regression test.
Bug report courtesy of James A. Crippen.
M ./src/foreign-vars.lisp -1 +1 M ./tests/foreign-globals.lisp -1 +4
Sat Dec 27 18:05:30 EST 2008 Luis Oliveira loliveira@common-lisp.net * manual: various improvements to the DEFCFUN node
- Add new example using an argless function. - Document the docstring support and exemplify it. - Fix some typos.
Bug reports courtesy of James A. Crippen.
M ./doc/cffi-manual.texinfo -4 +18
Wed Oct 29 15:46:37 EDT 2008 Luis Oliveira loliveira@common-lisp.net tagged 0.10.3
Wed Oct 29 15:46:34 EDT 2008 Luis Oliveira loliveira@common-lisp.net * update cffi.asd for version 0.10.3
M ./cffi.asd -1 +1
Tue Oct 28 19:32:22 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-sbcl: Fix brokeness in %close-foreign-library
Details in http://thread.gmane.org/gmane.lisp.steel-bank.devel/12028.
M ./src/cffi-sbcl.lisp -10 +25
Tue Oct 21 10:06:27 EDT 2008 Josh Elsasser josh@elsasser.org * Allow PROCESS-GROVEL-FILE to work on files with null directory component.
M ./grovel/grovel.lisp -1 +2
Tue Oct 14 00:01:42 EDT 2008 David Brown lisp@davidb.org * Shareable Vectors for ECL.
ECL uses a non-moving, conservative garbage collector, so shareable byte vectors can be implemented just by using a pointer to the data.
M ./src/cffi-ecl.lisp +26
Thu Oct 9 19:18:40 EDT 2008 Stelian Ionescu sionescu@common-lisp.net * Fix SBCL %CLOSE-FOREIGN-LIBRARY wrt changes in 1.0.21.15
%CLOSE-FOREIGN-LIBRARY makes use of SB-ALIEN::SHARED-OBJECT-FILE which has disappeared in 1.0.21.15 - replaced by SHARED-OBJECT-PATHNAME, so I've added a readtime conditional that detects the right accessor.
M ./src/cffi-sbcl.lisp -1 +6
Fri Sep 26 16:51:12 EDT 2008 Luis Oliveira loliveira@common-lisp.net * gendocs.sh fix: pass --no-userinit to sbcl
M ./doc/colorize-lisp-examples.lisp -12 +11 M ./doc/gendocs.sh -2 +4
Fri Sep 26 15:50:08 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Update SCL port.
Patch courtesy of Douglas Crosher.
M ./grovel/grovel.lisp -1 +1 M ./src/cffi-scl.lisp -1 +1 M ./tests/defcfun.lisp -1 +1
Fri Sep 12 09:35:00 EDT 2008 Luis Oliveira loliveira@common-lisp.net tagged 0.10.2
Fri Sep 12 09:34:56 EDT 2008 Luis Oliveira loliveira@common-lisp.net * update cffi.asd for version 0.10.2
M ./cffi.asd -1 +1
Fri Sep 12 09:34:24 EDT 2008 Luis Oliveira loliveira@common-lisp.net * TODO cleanup
M ./TODO -2
Fri Sep 12 09:33:50 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Fix handling of the T clause in DEFINE-FOREIGN-LIBRARY
- Added regression test: LIBRARY.T-CLAUSE.
Bug report and initial patch courtesy of Kalyanov Dmitry.
M ./src/libraries.lisp -1 +4 M ./tests/misc.lisp +13
Sat Aug 30 04:38:33 EDT 2008 Stelian Ionescu sionescu@common-lisp.net * Add wrapper directives PROCLAIM and DECLAIM.
M ./grovel/grovel.lisp +6
Fri Aug 22 10:43:42 EDT 2008 Stelian Ionescu sionescu@common-lisp.net * Add option BASE-TYPE to groveler directives CENUM and CONSTANTENUM.
M ./doc/cffi-manual.texinfo -4 +4 M ./grovel/grovel.lisp -5 +12
Fri Aug 22 10:39:56 EDT 2008 Stelian Ionescu sionescu@common-lisp.net * Small fix to the manual: use @var instead of @code in CENUM and CONSTANTENUM docs.
M ./doc/cffi-manual.texinfo -4 +4
Fri Aug 22 10:18:00 EDT 2008 Stelian Ionescu sionescu@common-lisp.net * Add option DEFINE-CONSTANTS to groveler directives CENUM and CONSTANTENUM.
If DEFINE-CONSTANTS is non-null, the enum members will also be defined as constants.
M ./doc/cffi-manual.texinfo -2 +8 M ./grovel/grovel.lisp -43 +60
Fri Aug 22 10:15:27 EDT 2008 Stelian Ionescu sionescu@common-lisp.net * Make groveler directive CONSTANT more robust.
If a constant's name is a keyword, change it to a symbol interned in the current package.
M ./doc/cffi-manual.texinfo -1 +2 M ./grovel/grovel.lisp +2
Fri Aug 22 10:09:47 EDT 2008 Luis Oliveira loliveira@common-lisp.net * manual: restore colorization workingness
M ./doc/gendocs.sh -1 +1
Fri Aug 22 09:31:30 EDT 2008 Luis Oliveira loliveira@common-lisp.net * manual/groveller: fix ctype's documentation
Reported by Stelian Ionescu.
M ./doc/cffi-manual.texinfo -2 +2
Wed Aug 20 18:59:54 EDT 2008 Luis Oliveira loliveira@common-lisp.net tagged 0.10.1
Wed Aug 20 18:59:50 EDT 2008 Luis Oliveira loliveira@common-lisp.net * update cffi.asd for version 0.10.1
M ./cffi.asd -1 +1
Wed Aug 20 18:10:30 EDT 2008 Stephen Compall scompall@nocandysw.com * port uffi-compat to Clozure
M ./uffi-compat/uffi-compat.lisp -2 +2
Tue Jul 29 18:55:54 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Fix typo in the manual.
M ./doc/cffi-manual.texinfo -1 +1
Tue Jul 29 10:25:33 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Small fix to gendocs.sh to make same versions of bash happier.
M ./doc/gendocs.sh -1 +1
Tue Jul 29 10:02:37 EDT 2008 Luis Oliveira loliveira@common-lisp.net tagged 0.10.0
Tue Jul 29 10:02:33 EDT 2008 Luis Oliveira loliveira@common-lisp.net * update cffi.asd for version 0.10.0
M ./cffi.asd -1 +1
Tue Jul 29 09:16:41 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Add Installation chapter to the manual.
M ./README +3 M ./doc/cffi-manual.texinfo -1 +52
Tue Jul 29 08:42:01 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Deprecate cffi-features.
- Keep it around for backwards compatibility. - Don't use it from CFFI itself or the test suite. - Update the manual.
M ./cffi.asd -3 +3 M ./doc/cffi-manual.texinfo -39 +13 M ./src/cffi-allegro.lisp -4 +2 M ./src/cffi-clisp.lisp -1 +1 M ./src/cffi-cmucl.lisp -4 +2 M ./src/cffi-corman.lisp -5 +3 M ./src/cffi-ecl.lisp -4 +2 M ./src/cffi-lispworks.lisp -4 +2 M ./src/cffi-openmcl.lisp -4 +2 M ./src/cffi-sbcl.lisp -4 +2 M ./src/cffi-scl.lisp -3 +1 M ./src/features.lisp -4 +9 M ./src/libraries.lisp -6 +6 M ./src/types.lisp -9 +9 M ./tests/callbacks.lisp -19 +19 M ./tests/defcfun.lisp -4 +4 M ./tests/foreign-globals.lisp -1 +1 M ./tests/funcall.lisp -5 +5 M ./tests/memory.lisp -3 +3 M ./tests/misc-types.lisp -1 +1 M ./tests/misc.lisp -54 +4
Tue Jul 29 08:17:54 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Use :import-from for alexandria symbols.
M ./src/package.lisp -2 +5
Mon Jul 28 22:33:39 EDT 2008 Luis Oliveira loliveira@common-lisp.net * New and improved release script.
M ./scripts/release.sh -33 +134
Mon Jul 28 22:32:40 EDT 2008 Luis Oliveira loliveira@common-lisp.net * doc/Makefile: have upload-docs target build the manual first
M ./doc/Makefile -1 +1
Mon Jul 28 22:15:53 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-tests: mark a few expected failures for ECL
M ./tests/defcfun.lisp -1 +1 M ./tests/misc.lisp -1 +1 M ./tests/strings.lisp +1
Mon Jul 28 22:14:09 EDT 2008 Luis Oliveira loliveira@common-lisp.net * ECL: handle FILE-ERRORs in %LOAD-FOREIGN-LIBRARY
M ./src/cffi-ecl.lisp -1 +4
Mon Jul 28 22:12:20 EDT 2008 Luis Oliveira loliveira@common-lisp.net * ECL: support long long on x86-64 by treating it as long.
M ./src/cffi-ecl.lisp -1 +3
Mon Jul 28 20:41:54 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-tests: mark expected failures for allegro.
M ./tests/defcfun.lisp -1 +1 M ./tests/misc.lisp +4
Mon Jul 28 20:37:48 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-tests: mark defcfun.noop as expected for CCL
M ./tests/defcfun.lisp +2
Mon Jul 28 20:30:26 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-tests: use Babel's #\ syntax
M ./tests/strings.lisp +2
Mon Jul 28 20:29:59 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-tests: mark some expected failures for lispworks
M ./tests/foreign-globals.lisp +14
Mon Jul 28 20:29:27 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Fix alignment information for emulated long long types.
M ./src/types.lisp -1 +3
Mon Jul 28 20:28:34 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Use BABEL:UNICODE-STRING instead of STRING in a few places.
M ./src/strings.lisp -1 +1 M ./tests/strings.lisp -1 +2
Mon Jul 28 18:48:03 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-tests: test stdcall only on win32
M ./tests/defcfun.lisp -1 +1 M ./tests/funcall.lisp -1 +1
Mon Jul 28 18:42:10 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Expect STRING.ENCODING.UTF-16.BASIC and STRING.ENCODINGS.ALL.BASIC failures
M ./tests/strings.lisp +6
Mon Jul 28 11:31:46 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Small fixes and simplifications to the TEST-OPs
M ./cffi-tests.asd -6 +6 M ./cffi.asd +3 M ./tests/bindings.lisp -11 +2
Mon Jul 28 11:29:40 EDT 2008 Luis Oliveira loliveira@common-lisp.net * CMUCL: fix NATIVE-NAMESTRING
- NAMESTRING didn't expand search lists. Actually read the documentation for UNIX-NAMESTRING this time and figured out why it appeared to be misbehaving in the past.
M ./src/cffi-cmucl.lisp -4 +1
Wed Jul 23 00:47:29 EDT 2008 Stephen Compall scompall@nocandysw.com * Expand body only once for uffi:with-cstring.
M ./uffi-compat/uffi-compat.lisp -7 +7
Sun Jun 15 20:06:10 EDT 2008 Luis Oliveira loliveira@common-lisp.net * tests/Makefile: deal with BSD systems properly
Suggestion and initial patch courtesy of Josh Elsasser.
./tests/Makefile -> ./tests/GNUmakefile M ./cffi-tests.asd -4 +3 M ./tests/GNUmakefile -1 +1 A ./tests/Makefile
Tue Jun 10 16:19:20 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Update make-shareable-byte-vector for LW 5.1
Patch courtesy of Chun Tian.
M ./src/cffi-lispworks.lisp -1 +4
Thu Jun 5 02:50:42 EDT 2008 Stelian Ionescu sionescu@common-lisp.net * Eliminate all references to cffi-utils package.
M ./examples/gettimeofday.lisp -1 +1 M ./examples/translator-test.lisp -1 +1 M ./tests/random-tester.lisp -5 +6
Wed Jun 4 17:17:29 EDT 2008 attila.lendvai@gmail.com * fix groveller by adding symbolicate to alexandria
M ./grovel/grovel.lisp -1 +1 M ./src/foreign-vars.lisp -1 +1
Tue Jun 3 23:45:03 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-sbcl: needs when-let as well.
M ./src/cffi-sbcl.lisp -1 +1
Tue Jun 3 18:30:08 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Makefile: rename acl to alisp
M ./Makefile -1 +1
Tue Jun 3 18:28:41 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Remove cffi-utils
M ./cffi.asd -6 +2 M ./src/cffi-allegro.lisp -2 +2 M ./src/cffi-clisp.lisp -1 +1 M ./src/cffi-cmucl.lisp -1 +2 M ./src/cffi-corman.lisp -2 +3 M ./src/cffi-ecl.lisp -1 +1 M ./src/cffi-lispworks.lisp -1 +1 M ./src/cffi-openmcl.lisp -1 +1 M ./src/cffi-sbcl.lisp -1 +2 M ./src/cffi-scl.lisp -1 +2 M ./src/foreign-vars.lisp -3 +4 M ./src/package.lisp -1 +1 M ./src/types.lisp -1 +1 M ./src/utils.lisp -79 +10
Fri May 9 10:35:16 EDT 2008 Stelian Ionescu sionescu@common-lisp.net * Fix emulation of [UNSIGNED-]LONG-LONG.
M ./src/types.lisp -1 +1
Mon Jun 2 16:08:04 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-openmcl: fix name conflict
- Import just alexandria:once-only instead of the whole package.
Reported by Marko Manninen.
M ./src/cffi-openmcl.lisp -1 +2
Mon Jun 2 16:07:07 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-manual: @section CMUCL -> @subheading
M ./doc/cffi-manual.texinfo -1 +1
Sun Jun 1 01:17:32 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Update manual
- Fix @result{} in the HTML output. - Revamp the "Implementation support" chapter. - Fix misc documentation rot. - Delete empty sections. - Document the emulation of long-long types. - Remove UTF-8 characters since texinfo has not entered the 21st century yet. - Finish the documentation for the new encoding support.
M ./doc/cffi-manual.texinfo -220 +229
Sun Jun 1 00:56:24 EDT 2008 Luis Oliveira loliveira@common-lisp.net * minor change to foreign-string-to-lisp
Make max-chars default to (1- array-total-size-limit).
M ./src/strings.lisp -5 +5
Sat May 17 15:02:31 EDT 2008 attila.lendvai@gmail.com * added support for :cc-flags for grovel-file to specify additional flags to the compiler (like -I /foo/bar)
M ./grovel/asdf.lisp -2 +10 M ./grovel/grovel.lisp -5 +3
Sat May 31 12:37:24 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Minor fixes to cffi-manual.texinfo
Restores buildability. Courtesy of Rupert Swarbrick.
M ./doc/cffi-manual.texinfo -1 +2
Sat May 31 10:16:47 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Fix conflict in cffi-openmcl.lisp
M ./src/cffi-openmcl.lisp -8 +1
Sun Dec 30 18:39:20 EST 2007 Stelian Ionescu sionescu@common-lisp.net * Add dependency on ALEXANDRIA, remove redundant code from CFFI-UTILS package.
M ./cffi-grovel.asd -1 +1 M ./cffi.asd -1 +1 M ./grovel/grovel.lisp -1 +1 M ./src/cffi-allegro.lisp -1 +1 M ./src/cffi-clisp.lisp -1 +1 M ./src/cffi-cmucl.lisp -1 +1 M ./src/cffi-corman.lisp -1 +1 M ./src/cffi-ecl.lisp -1 +1 M ./src/cffi-gcl.lisp -1 +1 M ./src/cffi-lispworks.lisp -1 +1 M ./src/cffi-openmcl.lisp -1 +1 M ./src/cffi-sbcl.lisp -2 +2 M ./src/cffi-scl.lisp -1 +1 M ./src/functions.lisp -3 +2 M ./src/libraries.lisp -7 +7 M ./src/package.lisp -1 +1 M ./src/types.lisp -1 +1 M ./src/utils.lisp -96 +1
Sat Apr 5 19:18:46 EDT 2008 Stelian Ionescu sionescu@common-lisp.net * Add groveler directive for inline C code, as for the wrapper.
M ./grovel/grovel.lisp -1 +6
Fri Feb 8 17:40:19 EST 2008 Stelian Ionescu sionescu@common-lisp.net * Groveler: small fix for ECL.
M ./grovel/grovel.lisp -1 +1
Mon Apr 7 06:54:14 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-lispworks: add long-long support on 64-bit platforms
Initial patch and testing courtesy of Tian Chun.
M ./src/cffi-lispworks.lisp -17 +30
Sat Apr 5 16:58:12 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Mark DEFCFUN.VARARGS.DOCSTRING as an expected failure on CLISP
M ./tests/defcfun.lisp +3
Sun Mar 16 09:26:03 EDT 2008 Luis Oliveira loliveira@common-lisp.net * uffi-compat: fix bitrot in CONVERT-FROM-FOREIGN-STRING
Reported by Christophe Rhodes. Passes all of uffi-tests again.
M ./uffi-compat/uffi-compat.lisp -4 +7
Mon Feb 25 18:13:21 EST 2008 Luis Oliveira loliveira@common-lisp.net * Simplify :[u]intptr definitons.
- This patch makes CMUCL happier.
M ./src/types.lisp -18 +11
Fri Dec 21 15:41:27 EST 2007 Stelian Ionescu sionescu@common-lisp.net * Make sure that the groveller can handle nested PROGN forms.
M ./grovel/grovel.lisp -8 +11
Mon Dec 10 05:20:01 EST 2007 Luis Oliveira loliveira@common-lisp.net * Unicode string update
- Remove outdated comments. - Use BABEL:SIMPLE-UNICODE-STRING type. - Document *DEFAULT-FOREIGN-ENCODINGS*. - Add :FREE-FROM-FOREIGN and :FREE-TO-FOREIGN boolean parameters to the :STRING type.
M ./src/strings.lisp -29 +27
Sat Dec 8 17:28:04 EST 2007 Luis Oliveira loliveira@common-lisp.net * Fix WITH-FOREIGN-POINTER-AS-STRING usage in examples. (again)
M ./examples/gethostname.lisp -1 +1
Sat Dec 8 17:25:10 EST 2007 Luis Oliveira loliveira@common-lisp.net * Fix WITH-FOREIGN-POINTER-AS-STRING usage in examples.
M ./examples/examples.lisp -1 +1
Wed Aug 22 23:27:14 EDT 2007 Luis Oliveira loliveira@common-lisp.net * grovel: fix Lispworks's %INVOKE
M ./grovel/grovel.lisp -4 +5
Mon Aug 13 19:04:54 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Fix strings.lisp
- Work around apparent SBCL bug. - Handle :RE endianness in BGET and BSET.
M ./src/strings.lisp -3 +7
Mon Aug 13 19:04:27 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Update tests to reflect changes in WITH-FOREIGN-POINTER-AS-STRING
M ./tests/defcfun.lisp -8 +8 M ./tests/funcall.lisp -7 +7
Mon Aug 13 16:16:39 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Add missing :after qualifier in DEFINE-C-STRUCT-WRAPPER.
M ./src/types.lisp -1 +1
Mon Aug 13 15:49:57 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Don't use aggresive compilation declarations in BABEL-ENCODINGS:I-C-M.
M ./src/strings.lisp -1 +1
Sun Aug 5 21:43:05 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Fix WITH-FOREIGN-POINTER-AS-STRING return values
- Don't return second value of FOREIGN-STRING-TO-LISP.
M ./src/strings.lisp -1 +1
Sun Aug 5 21:40:01 EDT 2007 Luis Oliveira loliveira@common-lisp.net * grovel: fix defwrapper handling of types in #'cffi-type
M ./grovel/grovel.lisp -1 +1
Fri Aug 3 16:26:07 EDT 2007 Luis Oliveira loliveira@common-lisp.net * grovel: fix handling of alternatives in constantenum
M ./grovel/grovel.lisp -2 +2
Fri Aug 3 16:25:45 EDT 2007 Luis Oliveira loliveira@common-lisp.net * grovel: fix invoke on clisp/win32
M ./grovel/grovel.lisp -2 +3
Wed Aug 1 10:56:18 EDT 2007 Luis Oliveira loliveira@common-lisp.net * grovel: ugh, fix wording in form-kind comment
M ./grovel/grovel.lisp -2 +3
Wed Aug 1 10:46:56 EDT 2007 Stelian Ionescu sionescu@common-lisp.net * Fix use of PROGN form by the groveller.
M ./grovel/grovel.lisp -19 +22
Wed Aug 1 10:34:32 EDT 2007 Luis Oliveira loliveira@common-lisp.net * grovel: fix FORM-KIND
M ./grovel/grovel.lisp -1 +3
Mon Jul 30 19:11:11 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Add new types :intptr and :uintptr
M ./src/types.lisp -2 +14
Mon Jul 30 16:53:30 EDT 2007 Luis Oliveira loliveira@common-lisp.net * grovel: update comment regarding cstruct-and-class
M ./grovel/grovel.lisp -4 +7
Mon Jul 30 00:09:42 EDT 2007 Luis Oliveira loliveira@common-lisp.net * grovel: fix symbol names in in-package forms
M ./grovel/grovel.lisp -3 +1
Sun Jul 29 22:23:29 EDT 2007 Luis Oliveira loliveira@common-lisp.net * New macro: DEFINE-C-STRUCT-WRAPPER
With tests STRUCT-WRAPPER.[12]
M ./src/package.lisp +1 M ./src/types.lisp +29 M ./tests/struct.lisp +26
Sun Jul 29 15:57:47 EDT 2007 Luis Oliveira loliveira@common-lisp.net * grovel: fix conflict and indentation
M ./grovel/grovel.lisp -11 +8
Sun Jul 29 15:36:33 EDT 2007 Stelian Ionescu sionescu@common-lisp.net * Cleaned up compiler invokation by the groveller.
M! ./grovel/grovel.lisp -13 +20
Sun Jul 29 00:48:12 EDT 2007 Luis Oliveira loliveira@common-lisp.net * grovel: fix invoke-cc's conditional library arguments
M ./grovel/grovel.lisp -4 +4
Sat Jul 28 21:22:00 EDT 2007 Luis Oliveira loliveira@common-lisp.net * grovel: constantenum: signal warnings properly
M ./grovel/grovel.lisp -4 +6
Sat Jul 28 21:21:13 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Adjustments for using cffi-grovel on windows.
M ./grovel/grovel.lisp -3 +13
Thu Jul 26 15:52:50 EDT 2007 Luis Oliveira loliveira@common-lisp.net * grovel: use :[u]int64 without worries
No need to check for cffi-features:no-long-long now that we have emulated long long type.
M ./grovel/grovel.lisp -10 +2
Thu Jul 26 14:36:45 EDT 2007 Luis Oliveira loliveira@common-lisp.net * cffi-grovel: x86-64 compat changes
- use :long instead of :int to try and determine word size. - use -fPIC for 64-bit shared libraries.
M ./grovel/grovel.lisp -2 +4
Thu Jul 19 22:02:27 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Minor change to src/types.lisp
M ./src/types.lisp -3 +1
Thu Jul 19 22:02:08 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Remove outdated TODO items
M ./TODO -11
Thu Jul 19 14:25:57 EDT 2007 Luis Oliveira loliveira@common-lisp.net * New feature: emulated long-long types
(initial suggestion and patch courtesy of Stelian Ionescu)
- Update test suite to reflect this. - Tested on Allegro and Lispworks. Should work for ECL as well.
M ./src/types.lisp -17 +79 M ./tests/foreign-globals.lisp -27 +21 M ./tests/memory.lisp -30 +26 M ./tests/misc-types.lisp -6 +3 M ./tests/struct.lisp -42 +36
Thu Jul 19 14:20:16 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Use trivial-features.
Not sure if this is a great idea yet. In any case, CFFI-FEATURES is still there for backwards compatibility for the time being.
M! ./cffi.asd -1 +1 M! ./src/cffi-allegro.lisp -13 +4 M! ./src/cffi-clisp.lisp -21 +2 M! ./src/cffi-cmucl.lisp -9 +2 M! ./src/cffi-corman.lisp -9 +4 M! ./src/cffi-ecl.lisp -14 +4 M! ./src/cffi-lispworks.lisp -11 +3 M! ./src/cffi-openmcl.lisp -6 +6 M! ./src/cffi-sbcl.lisp -11 +3 M! ./src/cffi-scl.lisp -14 +3 M! ./src/features.lisp -4 +19 M! ./src/strings.lisp -32 +18 M! ./src/types.lisp -2 +2 M! ./tests/misc.lisp -7
Mon Jul 16 23:31:10 EDT 2007 Luis Oliveira loliveira@common-lisp.net * FOREIGN-STRING-TO-LISP: return number of octets read
- Update test suite to reflect this change.
M ./src/strings.lisp -2 +2 M ./tests/defcfun.lisp -10 +11 M ./tests/funcall.lisp -7 +7 M ./tests/strings.lisp -2 +2
Mon Jul 16 23:16:27 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Update strings.lisp to match Babel's accessor changes.
M ./src/strings.lisp -4 +6
Mon Jul 16 23:11:51 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Bug fixes
- Fix :LICENSE -> :LICENCE in cffi-grovel.asd - grovel.lisp fixes: * fix OpenMCL's INVOKE * have INVOKE call NATIVE-NAMESTRING * add IGNORABLE declaration to DEFINE-GROVEL-SYNTAX - CMUCL's EXT:UNIX-NAMESTRING is buggy, don't use it. - strings.lisp: pass missing max-octets argument to OCTET-COUNTER in FOREIGN-STRING-ALLOC.
M ./cffi-grovel.asd -1 +1 M ./grovel/grovel.lisp -1 +5 M ./src/cffi-cmucl.lisp -1 +4 M ./src/strings.lisp -1 +2
Mon Jul 9 15:02:22 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Remove outdated comments re test string.short-write.1
M ./tests/strings.lisp -3
Sat Jul 7 23:50:10 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Fix "endianness" typo
M ./tests/misc.lisp -1 +1
Sat Jul 7 23:45:38 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Foreign string changes
- LISP-STRING-TO-FOREIGN takes new arguments START, END and OFFSET. Also, instead of bailing out when STRING needs more octets than BUFSIZE, it fills in as much as possible. - test STRING.SHORT-WRITE.1 now passes. - FOREIGN-STRING-TO-LISP takes new argument MAX-CHARS.
M ./src/strings.lisp -12 +18
Fri Jul 6 09:00:18 EDT 2007 Luis Oliveira loliveira@common-lisp.net * with-foreign-pointer-as-string: take additional arguments
Changed to match the new WITH-FOREIGN-STRING syntax. Document later.
M ./src/strings.lisp -8 +13
Thu Jul 5 20:38:36 EDT 2007 Luis Oliveira loliveira@common-lisp.net * cffi-grovel: defwrapper: handle foreign/lisp names
M ./grovel/grovel.lisp -15 +19
Thu Jul 5 20:36:42 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Don't autoexport grovel definitions.
M ./grovel/grovel.lisp -1 +6
Fri Jun 29 16:51:15 EDT 2007 Luis Oliveira loliveira@common-lisp.net * cffi-grovel: slightly better handling of packages
- in-package now has a read time effect on *package* which will determine to which package various symbols (such as type names) will belong to.
M ./grovel/grovel.lisp -8 +20
Fri Jun 29 16:50:05 EDT 2007 Luis Oliveira loliveira@common-lisp.net * cffi-manual: small change to the grovel example
M ./doc/cffi-manual.texinfo +1
Fri Jun 29 16:42:56 EDT 2007 Luis Oliveira loliveira@common-lisp.net * WITH-FOREIGN-STRING changes
- WITH-FOREIGN-STRING's new syntax: with-foreign-string (binding &rest args) &body binding := { var | (var &optional byte-size-var) } - Update the documentation, not complete. - New test: STRING.CONVERSION.BASIC.2
M ./doc/cffi-manual.texinfo -4 +7 M ./src/strings.lisp -14 +12 M ./src/utils.lisp -2 +2 M ./tests/strings.lisp +5
Thu Jun 28 11:40:56 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Use the foreign-pointer type in strings.lisp
M ./src/strings.lisp -3 +4
Mon Jun 25 10:59:23 EDT 2007 attila.lendvai@gmail.com * Added remove-from-plist into cffi-utils, copied from alexandria
M ./src/utils.lisp +18
Mon Jun 25 10:58:36 EDT 2007 attila.lendvai@gmail.com * Added :byte-size-variable keyword arg to with-foreign-string
M ./src/strings.lisp -4 +13
Mon Jun 25 10:46:37 EDT 2007 tomi.borbely@gmail.com * add :null-teminated-p keyword param to foreign-string-alloc
M ./src/strings.lisp -6 +9
Thu Jun 7 22:26:12 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Encoding support using Babel
- Preliminary (likely buggy) version. Includes documentation and tests. - New cffi-features: big-endian and little-endian determined with CFFI code. - Needs cleaning up.
M ./cffi-tests.asd +1 M ./cffi.asd +1 M ./doc/cffi-manual.texinfo -10 +52 M ./src/cffi-sbcl.lisp -2 +1 M ./src/features.lisp -1 +3 M ./src/package.lisp -1 +2 M ./src/strings.lisp -55 +199 M ./tests/misc-types.lisp +3 M ./tests/misc.lisp +7 A ./tests/strings.lisp
Mon Jun 18 04:20:56 EDT 2007 Luis Oliveira loliveira@common-lisp.net * manual: Use @deffn instead of @itemize for grovel forms.
M ./doc/cffi-manual.texinfo -43 +40
Sun Jun 17 19:19:23 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Integrate cffi-grovel
Added a groveller based on Dan Knap's and Matthew Backes's cffi-grovel and Stelian Ionescu's fork iolib-grovel. cffi-grovel is inspired by SBCL's groveller. This is a preliminary version.
Includes a new wrapper generator syntax to simplify the writing of C glue libraries among other minor features.
- Updated TODO items related to grovelling. - Integrated documentation into the CFFI manual. - src/libraries: use ".so" as the default library suffix.
M ./TODO -3 +5 A ./cffi-grovel.asd M ./doc/cffi-manual.texinfo +257 A ./grovel/ A ./grovel/asdf.lisp A ./grovel/grovel.lisp M ./src/libraries.lisp -1 +2 M ./src/utils.lisp +2
Sat May 31 10:11:12 EDT 2008 Luis Oliveira loliveira@common-lisp.net tagged before cffi+lotsastuff merge
Mon Apr 7 07:11:46 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-tests: Lispworks needs to have libm.so loaded
M ./tests/bindings.lisp -1 +5
Sun Apr 6 19:36:31 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Define FOREIGN-LIBRARY class before it's used...
M ./src/libraries.lisp -5 +5
Sun Apr 6 19:33:31 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Implemented simple compiler-macro for FOREIGN-ALLOC
M ./src/types.lisp -8 +14
Sun Apr 6 19:28:52 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Small optimization in PARSE-TYPE
Don't need to check for cycles (which starts off by consing up a hash table) when not dealing with foreign-typedefs. Initial patch courtesy of Greg Pfeil.
M ./src/early-types.lisp -1 +2
Sun Apr 6 19:25:33 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Fix bitrot in cffi-ecl.lisp
M ./src/cffi-ecl.lisp -19 +15
Sun Apr 6 18:13:10 EDT 2008 Luis Oliveira loliveira@common-lisp.net * Clozure CL chokes on the CALLBACKS.BFF.* tests, disabled them
M ./tests/callbacks.lisp -6 +7
Sat Apr 5 16:54:12 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-clisp: add support for the upcoming 2.45 version
CLISP 2.45 introduces a couple of backwards-incompatible changes to some of the unexported FFI functions we use.
M ./src/cffi-clisp.lisp -16 +40
Sat Apr 5 12:28:58 EDT 2008 Luis Oliveira loliveira@common-lisp.net * cffi-tests: restore support for 32-bit lisps running on x86-64
M ./tests/Makefile -7 +10 M ./tests/bindings.lisp +1
Sat Feb 16 19:18:13 EST 2008 Luis Oliveira loliveira@common-lisp.net * clisp: use UNWIND-PROTECT in WITH-POINTER-TO-VECTOR-DATA.
- New tests: SHAREABLE-VECTOR.[12]
M ./src/cffi-clisp.lisp -1 +1 M ./tests/misc.lisp +17
Thu Dec 13 09:59:07 EST 2007 Luis Oliveira loliveira@common-lisp.net * New test: LIBRARY.ERROR.1
M ./tests/misc.lisp +6
Mon Dec 10 12:30:46 EST 2007 Luis Oliveira loliveira@common-lisp.net * sbcl: don't declare pointer addresses as ub32
- That obviously breaks for 64-bit platforms.
M ./src/cffi-sbcl.lisp -2 +2
Thu Jul 5 20:39:29 EDT 2007 Luis Oliveira loliveira@common-lisp.net * New functions: foreign-enum-keyword-list and foreign-bitfield-symbol-list
M ./src/enum.lisp -4 +16 M ./src/package.lisp +2
Mon Jun 25 10:59:11 EDT 2007 attila.lendvai@gmail.com * Added with-foreign-strings
M ./src/package.lisp +1 M ./src/strings.lisp -2 +9
Thu Feb 14 18:26:47 EST 2008 Luis Oliveira loliveira@common-lisp.net * cmucl: fix error handling in %LOAD-FOREIGN-LIBRARY
Patch courtesy of Matthias Benkard.
M ./src/cffi-cmucl.lisp -2 +2
Thu Feb 14 17:57:30 EST 2008 Luis Oliveira loliveira@common-lisp.net * clisp: make WITH-POINTER-TO-VECTOR-DATA return the result of BODY
Bug report and initial patch courtesy of David Brown.
M ./src/cffi-clisp.lisp -5 +5
Thu Feb 14 17:48:34 EST 2008 Luis Oliveira loliveira@common-lisp.net * Fix export name: MAKE-SHAREABLE-BYTE-VECTOR
Reported by David Brown.
M ./src/package.lisp -1 +1
Thu Dec 13 20:09:23 EST 2007 Luis Oliveira loliveira@common-lisp.net * cffi-openmcl: fix test for cffi-features:darwin
- Check for :darwin-target instead of :darwinppc-target.
M ./src/cffi-openmcl.lisp -4 +4
Sat Sep 1 15:10:50 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Fix indentation in defctype*
M ./src/early-types.lisp -7 +7
Mon Jun 25 10:45:50 EDT 2007 tomi.borbely@gmail.com * fix: missing eval-when
M ./src/early-types.lisp -7 +8
Mon Aug 20 09:17:01 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Don't discard DEFCFUN docstrings.
- Pass them to the underlying DEFUN or DEFMACRO. - Add tests.
M ./src/functions.lisp -9 +12 M ./tests/defcfun.lisp +10
Thu Aug 16 10:08:03 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Minor indentation fixes to cffi-allegro.lisp
- Also use (eval size) instead of checking for (integerp size) in the previous patch for Allegro 8.1 support.
M ./src/cffi-allegro.lisp -2 +3
Wed Aug 15 23:56:50 EDT 2007 masayuki.onjo@gmail.com * Add AllegroCL 8.1 support
M ./src/cffi-allegro.lisp -4 +21
Mon Jul 30 16:54:07 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Fix stdcall tests.
M ./tests/defcfun.lisp -1 +1 M ./tests/funcall.lisp -1 +1
Mon Jul 30 02:09:53 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Handle docstrings properly in DEFCFUN.
- DEFCFUN would complain when given a docstring but no argument list. - Add test.
M ./src/functions.lisp -1 +1 M ./src/utils.lisp -3 +3 M ./tests/defcfun.lisp -1 +5
Sun Jul 29 22:25:47 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Get rid of SBCL warnings in tests/foreign-globals.lisp
M ./tests/foreign-globals.lisp -1 +2
Fri Jul 27 18:16:28 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Make libtest work with MSVC8
M ./tests/compile.bat -2 +2 M ./tests/libtest.c -3 +10
Thu Jul 19 14:25:43 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Remove tabs from cffi-ecl.lisp
M ./src/cffi-ecl.lisp -12 +12
Thu Jul 19 14:25:19 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Slight change to :SIMPLE-PARSER's semantics
M ./src/early-types.lisp -1 +2
Wed Jun 20 13:37:41 EDT 2007 Luis Oliveira loliveira@common-lisp.net * cffi-uffi-compat: fix deref-pointer
Bug reported by Aurelio Bignoli.
M ./uffi-compat/uffi-compat.lisp -12 +6
Mon Jun 18 10:14:13 EDT 2007 Luis Oliveira loliveira@common-lisp.net * New type alias: cffi:foreign-pointer
- foreign-pointer: deftyped to sb-sys:system-area-pointer, ccl:macptr, etc. - manual: document it. - new tests: pointerp.1 and pointerp.2.
M ./doc/cffi-manual.texinfo +8 M ./src/cffi-allegro.lisp -1 +7 M ./src/cffi-clisp.lisp +4 M ./src/cffi-cmucl.lisp +4 M ./src/cffi-corman.lisp +4 M ./src/cffi-ecl.lisp +4 M ./src/cffi-lispworks.lisp +5 M ./src/cffi-openmcl.lisp +4 M ./src/cffi-sbcl.lisp +4 M ./src/cffi-scl.lisp +4 M ./src/package.lisp +3 M ./tests/memory.lisp +14
Mon Jun 18 10:13:34 EDT 2007 Luis Oliveira loliveira@common-lisp.net * manual: fix :pointer documentation
M ./doc/cffi-manual.texinfo -2 +1
Thu Jun 7 21:59:01 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Fix check-for-typedef-cycles
Patch courtesy of Douglas Crosher.
M ./src/early-types.lisp -1 +1
Thu Jun 7 16:11:17 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Check for possible cycles created with DEFCTYPE[*]
Bug reported by Attila Lendvai.
M ./src/early-types.lisp -10 +20
Wed Jun 6 20:58:40 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Export DEFINE-PARSE-METHOD
Bug reported by Chun Tian.
M ./src/package.lisp +1
Tue Jun 5 17:55:54 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Add DEFCTYPE* for Verrazano.
M ./src/early-types.lisp +7
Thu May 31 23:50:26 EDT 2007 Luis Oliveira loliveira@common-lisp.net * gmake, sparc/hppa and libraries.lisp
- cffi-tests.asd: use gmake on solaris too. - new cffi-features: sparc[64] and hppa[64], SCL-only. (updated the respective test) - libraries.lisp: handle ERROR instead of SIMPLE-ERROR. - tests/bindings.lisp: bugfix?
Patch courtesy of Douglas Crosher.
M ./cffi-tests.asd -2 +2 M ./src/cffi-scl.lisp -17 +5 M ./src/features.lisp +4 M ./src/libraries.lisp -1 +1 M ./tests/bindings.lisp -3 +2 M ./tests/misc.lisp -1 +6
Thu May 31 23:42:43 EDT 2007 Luis Oliveira loliveira@common-lisp.net * with-foreign-objects: use &body instead of &rest
Reported by Frank Buss.
M ./src/types.lisp -1 +1
Thu May 31 23:41:50 EDT 2007 Luis Oliveira loliveira@common-lisp.net * libraries.lisp: use *QUERY-IO* for the USE-VALUE restart
M ./src/libraries.lisp -3 +3
Thu May 31 23:38:04 EDT 2007 Luis Oliveira loliveira@common-lisp.net * New documentation example using defcstruct and :count
M ./doc/cffi-manual.texinfo +6
Thu May 31 23:37:09 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Misc whitespace and reformating changes
M ./cffi.asd -1 +1 M ./doc/cffi-manual.texinfo -10 +9 M ./src/early-types.lisp +1
Thu May 31 23:31:26 EDT 2007 Luis Oliveira loliveira@common-lisp.net * load-foreign-library-path: show useful error messages
M ./src/cffi-allegro.lisp -4 +7 M ./src/libraries.lisp -7 +21
Mon Apr 16 17:33:26 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Unexported and undocumented array type and operators
Based on code by Vasilis M. http://article.gmane.org/gmane.lisp.cffi.devel/283
M ./src/types.lisp -3 +127
Mon Apr 16 16:53:12 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Add :class option to defcstruct
M ./src/types.lisp -4 +7
Sun Apr 15 14:26:19 EDT 2007 Luis Oliveira loliveira@common-lisp.net * fix conflict
M ./src/cffi-cmucl.lisp -1 +1
Wed Apr 4 02:02:14 EDT 2007 Luis Oliveira loliveira@common-lisp.net * tests/Makefile: x86_64 changes
M ./tests/Makefile -8 +12
Fri Apr 13 10:11:02 EDT 2007 Luis Oliveira loliveira@common-lisp.net * New example: mapping.lisp
M ./COPYRIGHT -1 +1 M ./HEADER -1 +1 M ./cffi-examples.asd -5 +1 A ./examples/mapping.lisp
Fri Apr 13 09:54:16 EDT 2007 Luis Oliveira loliveira@common-lisp.net * manual: add new *foreign-library-directories* example
M ./doc/cffi-manual.texinfo +11
Fri Apr 13 09:43:43 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Update status in cffi-scl.lisp
M ./src/cffi-scl.lisp +2
Fri Apr 13 09:42:41 EDT 2007 Luis Oliveira loliveira@common-lisp.net * Update comments in cffi-corman.lisp
M ./src/cffi-corman.lisp -15 +19
Fri Apr 13 09:42:02 EDT 2007 Luis Oliveira loliveira@common-lisp.net * New TODO item about multiple versions of the manual
M ./TODO +1
Thu Mar 29 01:26:06 EDT 2007 Luis Oliveira loliveira@common-lisp.net * cffi-lispworks: don't pass NIL to register-module
Bug reported by Jack Unrue.
M ./src/cffi-lispworks.lisp -1 +1
Fri Mar 16 20:15:32 EDT 2007 Luis Oliveira loliveira@common-lisp.net * defctype and define-foreign-type: warn if type name is a keyword or CL symbol.
M ./src/early-types.lisp -2 +32 M ./src/types.lisp -29 M ./src/utils.lisp -1 +17
Wed Feb 21 19:33:30 EST 2007 Luis Oliveira loliveira@common-lisp.net * Documentation update
- doc/Makefile: split spec and manual targets. - First documentation update reflecting the type system changes. Not complete yet. - Mention cffi-grovel. - Fix h4 margins in style.css.
M ./doc/Makefile -3 +5 M ./doc/cffi-manual.texinfo -168 +292 M ./doc/style.css -1 +1
Sun Feb 18 20:18:56 EST 2007 Luis Oliveira loliveira@common-lisp.net * Type system overhaul
The changes are summarized here: http://article.gmane.org/gmane.lisp.cffi.devel/1029
Also adapted tests and examples and uffi-compat.
M ./examples/examples.lisp -1 +1 M ./examples/gettimeofday.lisp -4 +10 M ./examples/translator-test.lisp -39 +19 M ./src/early-types.lisp -315 +242 M ./src/enum.lisp -13 +13 M ./src/functions.lisp -13 +13 M ./src/libraries.lisp -2 +2 M ./src/strings.lisp -37 +13 M ./src/types.lisp -107 +93 M ./src/utils.lisp -4 +2 M ./tests/Makefile -1 +1 M ./tests/defcfun.lisp -1 +1 M ./tests/memory.lisp -2 +6 M ./tests/misc-types.lisp -42 +21 M ./uffi-compat/uffi-compat.lisp -30 +29
Wed Feb 21 19:52:13 EST 2007 Luis Oliveira loliveira@common-lisp.net * New file: uffi-compat/uffi.asd
A ./uffi-compat/uffi.asd
Wed Feb 21 19:49:17 EST 2007 Luis Oliveira loliveira@common-lisp.net * Update TODO list
Removed some stuff that's already been implemented, etc...
M ./TODO -15 +4
Wed Feb 21 19:08:28 EST 2007 Luis Oliveira loliveira@common-lisp.net * Simplify load-foreign-library-error.
M ./src/libraries.lisp -5 +4
Wed Feb 14 14:54:57 EST 2007 Luis Oliveira loliveira@common-lisp.net * Fix load-foreign-library bug
load-foreign-library wasn't accepting non-symbol library designators correctly. Bug reported by Stelian Ionescu.
M ./src/libraries.lisp -1 +1
Wed Feb 14 09:42:15 EST 2007 Luis Oliveira loliveira@common-lisp.net * Update documentation with stdcall/namespace/close-foreign-library changes
M ./doc/cffi-manual.texinfo -18 +194
Wed Feb 14 08:22:12 EST 2007 Luis Oliveira loliveira@common-lisp.net * Fix conflict
M ./src/cffi-clisp.lisp -1 +3
Wed Feb 14 07:57:26 EST 2007 Luis Oliveira loliveira@common-lisp.net * Generate more meaningful errors for invalid enums
Reported by Lars Nostdal.
M ./TODO +1 M ./src/enum.lisp -2 +2
Wed Feb 14 07:53:18 EST 2007 Luis Oliveira loliveira@common-lisp.net * Remove finalizers. Users can use trivial-garbage instead.
M ./doc/cffi-manual.texinfo -107 M ./src/cffi-allegro.lisp -27 +1 M ./src/cffi-clisp.lisp -26 +1 M ./src/cffi-cmucl.lisp -19 +1 M ./src/cffi-corman.lisp -40 +1 M ./src/cffi-ecl.lisp -14 +1 M ./src/cffi-lispworks.lisp -32 +1 M ./src/cffi-openmcl.lisp -31 +1 M ./src/cffi-sbcl.lisp -21 +1 M ./src/cffi-scl.lisp -22 +1 M ./src/features.lisp -1 M ./src/package.lisp -4
Wed Feb 14 07:40:58 EST 2007 Luis Oliveira loliveira@common-lisp.net * stdcall, namespaces, close-foreign-library
Three new features: - stdcall (defcfun, foreign-funcall(-pointer), defcallback) - namespaces, associate foreigns vars and functions to a specific library. (CLISP and Lispworks only) - close-foreign-library actually works now.
Backwards incompatible changes: - define-foreign-library's syntax changed slightly, can't load more than one foreign library per define-foreign-library form anymore. - defcvar's syntax changed. - foreign-funcall can't funcall pointers anymore. Use foreign-funcall-pointer for that.
M! ./src/cffi-allegro.lisp -18 +33 M! ./src/cffi-clisp.lisp -50 +68 M! ./src/cffi-cmucl.lisp -26 +31 M! ./src/cffi-corman.lisp -10 +14 M! ./src/cffi-ecl.lisp -10 +21 M! ./src/cffi-gcl.lisp -2 +2 M! ./src/cffi-lispworks.lisp -21 +32 M! ./src/cffi-openmcl.lisp -10 +18 M! ./src/cffi-sbcl.lisp -12 +20 M! ./src/cffi-scl.lisp -9 +17 M! ./src/early-types.lisp -2 +2 M! ./src/features.lisp -9 +38 M! ./src/foreign-vars.lisp -45 +49 M! ./src/functions.lisp -55 +150 M! ./src/libraries.lisp -98 +111 M! ./src/package.lisp -2 +4 M! ./src/types.lisp -2 +3 M! ./tests/Makefile -1 +4 M! ./tests/bindings.lisp -5 +17 M! ./tests/callbacks.lisp -23 +42 M! ./tests/compile.bat +3 M! ./tests/defcfun.lisp -4 +30 M! ./tests/foreign-globals.lisp -2 +49 M! ./tests/funcall.lisp -3 +23 M! ./tests/libtest.c -3 +57 A! ./tests/libtest2.c M! ./tests/misc-types.lisp -2 +2 M! ./tests/misc.lisp -3 +38 M! ./tests/struct.lisp -1 +1
Wed Dec 20 17:11:41 EST 2006 Luis Oliveira loliveira@common-lisp.net * clisp: copy-in/out implementation of with-pointer-to-vector-data
Patch courtesy of Stelian Ionescu.
M ./src/cffi-clisp.lisp +32
Tue Dec 19 14:45:53 EST 2006 Luis Oliveira loliveira@common-lisp.net * Correctly handle duplicate loading of libraries in CMUCL.
Patch courtesy of Stelian Ionescu.
M ./src/cffi-cmucl.lisp -2 +19
Fri Dec 8 03:52:24 EST 2006 Luis Oliveira loliveira@common-lisp.net * Fix WITH-POINTER-TO-VECTOR-DATA on recent SBCLs
Patch courtesy of Stelian Ionescu.
M ./src/cffi-sbcl.lisp -1 +1
Sat Dec 2 22:26:20 EST 2006 Luis Oliveira loliveira@common-lisp.net * Bugfixes for ECL/DFFI
Patch courtesy of Juan Jose Garcia-Ripoll.
M ./src/cffi-ecl.lisp -3 +5
Thu Nov 16 22:35:35 EST 2006 Luis Oliveira loliveira@common-lisp.net * Fix typo in strings.lisp
M ./src/strings.lisp -1 +1 M ./tests/bindings.lisp +1
Thu Nov 16 22:31:20 EST 2006 Luis Oliveira loliveira@common-lisp.net * New function: CFFI-SYS:NATIVE-NAMESTRING
- Use it to load foreign libraries. Using plain CL:NAMESTRING was causing trouble with OpenMCL where (namestring #p"foo.bar.baz") returns "foo\.bar.baz".
M ./src/cffi-allegro.lisp +4 M ./src/cffi-clisp.lisp +4 M ./src/cffi-cmucl.lisp +4 M ./src/cffi-corman.lisp +4 M ./src/cffi-ecl.lisp +4 M ./src/cffi-lispworks.lisp +4 M ./src/cffi-openmcl.lisp +4 M ./src/cffi-sbcl.lisp +4 M ./src/cffi-scl.lisp +4 M ./src/libraries.lisp -1 +1
Thu Nov 16 22:28:32 EST 2006 Luis Oliveira loliveira@common-lisp.net * CMUCL: pick up new callback trampolines after loading core
Patch courtesy of Bart Botta.
M ./src/cffi-cmucl.lisp +12
Thu Oct 12 20:28:17 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Use ECL's RT.
M ./cffi-tests.asd -1 +4 M ./tests/bindings.lisp -1 +1
Thu Oct 12 18:47:06 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Add declarations to cffi-sbcl.lisp
Patch courtesy of Yaroslav Kavenchuk.
M ./src/cffi-sbcl.lisp +24
Thu Oct 12 18:00:14 EDT 2006 Luis Oliveira loliveira@common-lisp.net * ECL port update
- Fixed the port to architectures without dynamical FFI. - Tests with too large number of arguments (> 34) are marked as expected to fail.
Patch courtesy of Juan Jose Garcia-Ripoll.
M ./src/cffi-ecl.lisp -42 +53 M ./tests/bindings.lisp -1 +1 M ./tests/callbacks.lisp -6 +6 M ./tests/defcfun.lisp -2 +2
Mon Sep 25 10:13:45 EDT 2006 Luis Oliveira loliveira@common-lisp.net * bindings.lisp: load-directory
- Use pathname-device and pathname-host to more accurately get the current directory on, for example, windows.
Bug report and initial fix by Yaroslav Kavenchuk.
M ./tests/bindings.lisp -1 +3
Tue Sep 12 12:03:27 EDT 2006 Daniel Dickison danieldickison@gmail.com * Fixed typo in %callback
M ./src/cffi-ecl.lisp -1 +1
Sat Sep 9 21:55:47 EDT 2006 Luis Oliveira loliveira@common-lisp.net * uffi-compat: implement missing macro DEF-POINTER-VAR
Reported by Ricardo Alves.
M ./uffi-compat/uffi-compat.lisp +5
Fri Sep 8 16:56:02 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Forgot to increment the version number in the .asd file again.
M ./cffi.asd -1 +1
Fri Sep 8 16:53:21 EDT 2006 Luis Oliveira loliveira@common-lisp.net tagged 0.9.2
Fri Sep 8 16:38:05 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Fix some conflicts.
Note to self: do not use darcs amend-record with someone else's patch. Doh.
M ./src/strings.lisp -12 +26 M ./tests/misc-types.lisp +23
Fri Sep 8 12:15:04 EDT 2006 Luis Oliveira loliveira@common-lisp.net * with-foreign-string: accept ub8 arrays.
- WITH-FOREIGN-STRING: check for (or string (array (unsigned-byte 8))). - New tests: misc-types.string.ub8.[12].
M! ./src/strings.lisp -2 +3
Thu Sep 7 06:18:04 EDT 2006 asf@boinkor.net * Allow ub8 arrays to be autoconverted to foreign strings
M! ./src/strings.lisp -24 +11 M! ./tests/misc-types.lisp -7
Fri Sep 8 12:24:27 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Documentation update.
- Better document the :STRING type. - Add documentation for the :STRING+PTR type. - Update the documentation to reflect the recent changes to string functions and macros that make them accept ub8 arrays. - Document the "t" feature expression in DEFINE-FOREIGN-LIBRARY.
M ./doc/cffi-manual.texinfo -17 +61
Thu Sep 7 06:22:49 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Bump ddl_version in libtest.c
M ./tests/bindings.lisp -1 +1 M ./tests/libtest.c -1 +1
Thu Sep 7 03:03:39 EDT 2006 asf@boinkor.net * Allow ub8 arrays to be autoconverted to foreign strings
M ./src/strings.lisp -11 +24 M ./tests/misc-types.lisp +7
Thu Sep 7 03:03:12 EDT 2006 asf@boinkor.net * Use array-total-size-limit as the max size for strings
M ./src/strings.lisp -1 +1
Wed Sep 6 07:40:27 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Use the RTEST package nickname instead of RT because of Lispworks.
M ./tests/bindings.lisp -1 +1
Wed Sep 6 06:13:36 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Backwards compatibility for cffi-clisp's foreign-funcall
M ./src/cffi-clisp.lisp -1 +9
Tue Sep 5 06:34:18 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Support for recent CVS versions of CLISP
- As of 2006-09-03, CLISP's FFI::FOREIGN-LIBRARY-FUNCTION takes an additional argument. Accomodated this change.
Patch courtesy of Kevin Rosenberg.
M ./src/cffi-clisp.lisp -1 +1
Tue Sep 5 06:11:50 EDT 2006 Luis Oliveira loliveira@common-lisp.net * [u]llong alignment issues on darwin/ppc
- CLISP: special case for :[unsigned-]long-long on darwin/ppc. - SBCL: missing special case for :unsigned-long-long. - New regression test: STRUCT.ALIGNMENT.8.
M ./src/cffi-clisp.lisp -2 +3 M ./src/cffi-sbcl.lisp -2 +3 M ./tests/libtest.c +24 M ./tests/struct.lisp +29
Thu Aug 31 11:31:30 EDT 2006 Luis Oliveira loliveira@common-lisp.net * New TODO items about LOAD-FOREIGN-LIBRARY.
M ./TODO +3
Thu Aug 31 11:30:39 EDT 2006 Luis Oliveira loliveira@common-lisp.net * New macro: INCF-POINTER (with documentation)
M ./doc/cffi-manual.texinfo +52 M ./src/package.lisp +1 M ./src/types.lisp -1 +3 M ./src/utils.lisp -13 +13 M ./tests/libtest.c -1 +1 M ./tests/memory.lisp +11
Thu Aug 31 11:28:37 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Misc manual cleanups like s/=>/@result{}/, etc...
M ./doc/cffi-manual.texinfo -44 +50 M ./doc/cffi-sys-spec.texinfo -5 +3
Thu Aug 31 11:24:23 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Update cffi-uffi-compat to reflect recent UFFI changes.
- Better handling of shared library extensions on Windows.
Patch courtesy of Kevin Rosenberg.
M ./uffi-compat/uffi-compat.lisp -4 +4
Mon Jun 26 21:18:58 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Add long-long support to CLISP
Patch courtesy of Fr[_\c3_][_\a9_]d[_\c3_][_\a9_]ric Jolliton.
M ./src/cffi-clisp.lisp -6 +6
Mon Jun 26 21:05:20 EDT 2006 Luis Oliveira loliveira@common-lisp.net * ECL fixes
- cffi-ecl fixes: - push cffi-features:unix on darwin too. - use si:load-foreign-module instead of ffi:load-foreign-library on DFFI platforms. - use convert-external-name in foreign-symbol-pointer. - wrap defcvar's define-foreign-symbol around eval-when. - simplify default-library-suffix - cffi-tests: - load libtest.o on ECL platforms without DFFI. - conditionalize the tests with 127 arguments based on the value of lambda-parameters-limit.
M ./TODO -1 +4 M ./src/cffi-ecl.lisp -7 +14 M ./src/foreign-vars.lisp -2 +5 M ./src/libraries.lisp -4 +2 M ./tests/bindings.lisp +6 M ./tests/callbacks.lisp -2 +4 M ./tests/defcfun.lisp -51 +55
Tue Jun 13 16:55:50 EDT 2006 Stephen Compall scompall@nocandysw.com * review Foreign Types; add Glossary
M ./doc/cffi-manual.texinfo -34 +97
Wed May 17 16:12:39 EDT 2006 Nathan Bird nathan@acceleration.net * uffi-compat: in load-foreign-library, don't probe for file if no directory.
If it is just a filename without a directory, continue passing it down to the underlying functions, as they probably know how to find a library in default location.s
The test now matches the uffi behaviour too.
M ./uffi-compat/uffi-compat.lisp -1 +3
Wed Jun 7 14:30:00 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Run tests both compiled and uncompiled.
- Make the test-suite run both with and without rt::*compile-tests* bound to T.
M ./cffi-tests.asd -2 +7 M ./tests/bindings.lisp +14 M ./tests/run-tests.lisp -11 +2
Tue Jun 6 22:23:58 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Huh. Found a very old and incomplete sentence in the manual.
M ./doc/cffi-manual.texinfo -1 +1
Tue Jun 6 22:23:35 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Minor comestic change in foreign-vars.lisp
M ./src/foreign-vars.lisp -3 +2
Tue Jun 6 22:23:25 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Lispworks bugfix: %mem-ref and %mem-set compiler macros
- The %mem-ref and %mem-set in cffi-lispworks.lisp were using bogus indexes. FLI's documentation suggests foreign-typed-aref expects array indexes but it seems to want offsets in bytes instead. - Regression tests: mem-ref.rt.1 and mem-ref.rt.2.
M ./src/cffi-lispworks.lisp -26 +8 M ./tests/memory.lisp +24
Fri May 26 22:04:11 EDT 2006 Luis Oliveira loliveira@common-lisp.net * bugfix: accept symbols in defcvar
- Fix lisp-var-name to accept symbols. - Regression test: foreign-globals.symbol-name
M ./src/foreign-vars.lisp -7 +5 M ./tests/foreign-globals.lisp -1 +8
Fri May 26 07:36:26 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Minor simplification in tests/bindings.lisp
M ./tests/bindings.lisp -4 +3
Fri May 26 07:34:37 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Fix some ECL bugs (maybe)
- Fixed some bitrot in cffi-ecl.lisp (maybe). Still can't test properly because of an ECL bug related to make-load-form.
M ./src/cffi-ecl.lisp -2 +4
Sat May 20 14:13:44 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Fix uffi-compat bugs
- :pointer is no longer a built-in type so we have to parse it, not find-type it. - def-array-pointer actually defines an array type with 1 element. (this emulates UFFI's behaviour)
Bug report and initial patches courtesy of Lou Vanek.
M ./uffi-compat/uffi-compat.lisp -2 +2
Sun May 14 19:42:18 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Fix problem with declarations in DEFCALLBACKs
- Place declarations after the translations take place. - We no longer poke at ignore declarations in defcallback.
M ./src/functions.lisp -22 +8
Fri May 12 11:38:32 EDT 2006 Stephen Compall scompall@nocandysw.com * change first automatic defbitfield value to 1
- make-foreign-bitfield now starts implicit bitfield values at 1. No more special cases for zero. - Document and update bf tests to match.
M ./doc/cffi-manual.texinfo -6 +7 M ./src/enum.lisp -12 +11 M ./tests/enum.lisp -8 +8
Thu May 11 12:22:02 EDT 2006 Stephen Compall scompall@nocandysw.com * defbitfield: explicit initial zero case
- Provide for counting an initial zero as a pseudo-single-bit. - Test bitfield.4.
M ./src/enum.lisp -2 +2 M ./tests/enum.lisp +9
Thu May 11 11:42:21 EDT 2006 Stephen Compall scompall@nocandysw.com * only single-bits affect defbitfield implicit values
- Remove a case in which a non-single-bit like 3 could hijack the implicit value computation for defbitfield. - New test bitfield.3 for this behavior.
M ./src/enum.lisp -1 +2 M ./tests/enum.lisp +18
Thu May 11 10:50:35 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Fix defbitfield bug and new test
- Bug fix: when the first value was provided a (< foo nil) comparision would occur. Regresion test: bitfield.1. - New test bitfield.2.
M ./src/enum.lisp -5 +5 M ./tests/enum.lisp +23
Thu May 11 03:21:06 EDT 2006 Stephen Compall scompall@nocandysw.com * implicit defbitfield symbol values
- Foreign Type Translators: defctype does not create Lisp types; you have to use eql specializers. - enum.lisp: Use reduce in %foreign-bitfield-value. Code a default rule for bitfield symbol values.
M ./doc/cffi-manual.texinfo -25 +32 M ./src/enum.lisp -11 +20 M ./src/utils.lisp -1 +11
Sat May 6 20:35:11 EDT 2006 James Bielman jamesjb@jamesjb.com * Make :POINTER a parameterized foreign type.
- :POINTER without arguments is a void pointer. - (:POINTER :INT) is a pointer to an :INT. - These nest properly: (:POINTER (:POINTER :INT)). - Pointers are not type checked yet---an optional pointer type checker will be added someday.
M ./src/early-types.lisp +44 M ./src/types.lisp -1 +7 M ./tests/defcfun.lisp -5 +5
Sat May 6 20:28:29 EDT 2006 James Bielman jamesjb@jamesjb.com * Bugfix: Quote type arguments to %DEFCFUN-VARARGS.
M ./src/functions.lisp -1 +1
Thu May 4 13:39:40 EDT 2006 James Bielman jamesjb@jamesjb.com * Recognize OpenMCL/X86-64 and set CFFI features accordingly.
M ./src/cffi-openmcl.lisp +1
Wed May 3 22:16:23 EDT 2006 James Bielman jamesjb@jamesjb.com * Conditionalize against non-CPU specific word-size features in OpenMCL.
M ./src/cffi-openmcl.lisp -4 +4
Wed May 3 21:54:21 EDT 2006 James Bielman jamesjb@jamesjb.com * Bugfix: Specialize UNPARSE for UFFI-CHAR in CFFI-UFFI-COMPAT.
- Fixes an error when loading FASL files that dumped UFFI-CHAR instead of (UFFI-CHAR :CHAR) using MAKE-LOAD-FORM. - Reported by Ricardo Boccato.
M ./uffi-compat/uffi-compat.lisp +3
Wed May 3 02:42:25 EDT 2006 James Bielman jamesjb@jamesjb.com * More copyright header year updates.
M ./Makefile -1 +1 M ./cffi-examples.asd -1 +1 M ./cffi-tests.asd -1 +1 M ./cffi-uffi-compat.asd -1 +1 M ./cffi.asd -1 +1 M ./doc/cffi-sys-spec.texinfo -1 +1 M ./scripts/release.sh -1 +1
Wed May 3 02:39:44 EDT 2006 James Bielman jamesjb@jamesjb.com * Update copyright year in file headers.
M ./COPYRIGHT -1 +1 M ./HEADER -1 +1 M ./examples/examples.lisp -1 +1 M ./examples/gethostname.lisp -1 +1 M ./examples/gettimeofday.lisp -1 +1 M ./examples/run-examples.lisp -1 +1 M ./examples/translator-test.lisp -1 +1 M ./src/cffi-allegro.lisp -1 +1 M ./src/cffi-clisp.lisp -2 +2 M ./src/cffi-cmucl.lisp -1 +1 M ./src/cffi-corman.lisp -1 +1 M ./src/cffi-ecl.lisp -1 +1 M ./src/cffi-gcl.lisp -1 +1 M ./src/cffi-lispworks.lisp -1 +1 M ./src/cffi-openmcl.lisp -1 +1 M ./src/cffi-sbcl.lisp -1 +1 M ./src/cffi-scl.lisp -1 +1 M ./src/early-types.lisp -1 +1 M ./src/enum.lisp -1 +1 M ./src/foreign-vars.lisp -1 +1 M ./src/functions.lisp -1 +1 M ./src/libraries.lisp -1 +1 M ./src/package.lisp -1 +1 M ./src/strings.lisp -1 +1 M ./src/types.lisp -1 +1 M ./src/utils.lisp -1 +1 M ./tests/bindings.lisp -1 +1 M ./tests/enum.lisp -1 +1 M ./tests/foreign-globals.lisp -1 +1 M ./tests/funcall.lisp -1 +1 M ./tests/memory.lisp -1 +1 M ./tests/package.lisp -1 +1 M ./tests/run-tests.lisp -1 +1 M ./tests/struct.lisp -1 +1 M ./tests/union.lisp -1 +1 M ./uffi-compat/uffi-compat.lisp -1 +1
Wed May 3 02:32:41 EDT 2006 James Bielman jamesjb@jamesjb.com * Conditionally set variables for implementations in Makefile.
- Allow overriding from the environment as suggest in the comment, which didn't actually work. (eg.: OPENMCL=openmcl64 make test)
M ./Makefile -6 +6
Wed May 3 02:16:37 EDT 2006 James Bielman jamesjb@jamesjb.com * Add OpenMCL/X86-64 fasl files to 'make clean'.
M ./Makefile -1 +1
Mon Apr 24 13:36:20 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Make corman's finalizers thread-safe (hopefully)
M ./src/cffi-corman.lisp -8 +16
Sun Apr 23 22:53:57 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Add support for finalizers
- New functions: finalize and cancel-finalization. - New cffi-"feature": no-finalizers. Only ECL pushes this. - Document new functions.
M ./doc/cffi-manual.texinfo -2 +108 M ./src/cffi-allegro.lisp -1 +27 M ./src/cffi-clisp.lisp -1 +27 M ./src/cffi-cmucl.lisp -1 +19 M ./src/cffi-corman.lisp -1 +32 M ./src/cffi-ecl.lisp -1 +13 M ./src/cffi-lispworks.lisp -1 +32 M ./src/cffi-openmcl.lisp -1 +31 M ./src/cffi-sbcl.lisp -1 +19 M ./src/cffi-scl.lisp -1 +21 M ./src/features.lisp +1 M ./src/package.lisp +4
Sun Apr 23 22:53:20 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Include stdint.h in libtest.c
M ./tests/libtest.c +1
Sun Apr 23 22:51:19 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Oops, forgot to bump the version number.
M ./cffi.asd -1 +1
Mon Apr 17 21:13:51 EDT 2006 Luis Oliveira loliveira@common-lisp.net tagged 0.9.1
Mon Apr 17 21:13:09 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Make release.sh more suitable for versioned releases
M ./scripts/release.sh -3 +3
Mon Apr 17 21:10:01 EDT 2006 Luis Oliveira loliveira@common-lisp.net * More minor changes to cffi-tests
- add asdf:test-op to the cffi system - mark a couple more cmucl failures - get rid of the warning in libtest.c about comparing void* and function pointer
M ./cffi.asd +4 M ./tests/callbacks.lisp -2 +2 M ./tests/libtest.c -4 +4
Fri Apr 14 17:01:37 EDT 2006 Luis Oliveira loliveira@common-lisp.net * Add 'all' target to doc/Makefile
M ./doc/Makefile +2
Fri Apr 14 17:00:17 EDT 2006 Luis Oliveira loliveira@common-lisp.net * update tests
- update dll version. - add some CMUCL/darwin failures.
M ./tests/bindings.lisp -1 +1 M ./tests/callbacks.lisp -3 +15 M ./tests/defcfun.lisp +1 M ./tests/funcall.lisp -1 M ./tests/libtest.c -1 +1
Fri Apr 14 16:58:10 EDT 2006 Luis Oliveira loliveira@common-lisp.net * non-toplevel defcallback forms
- Add note to the manual about non-toplevel defcallback forms. - Add a test for this (comment out, since it's not portable).
M ./doc/cffi-manual.texinfo +3 M ./tests/callbacks.lisp +11
Fri Apr 14 16:49:18 EDT 2006 Luis Oliveira loliveira@common-lisp.net * foreign-symbol-pointer changes
- Remove second argument from foreign-symbol-pointer. - Update foreign-symbol-pointer documentation in the manual. - New tests: funcall.f-s-p.1 and foreign-symbol-pointer.[12].
M ./doc/cffi-manual.texinfo -18 +12 M ./src/cffi-allegro.lisp -4 +2 M ./src/cffi-clisp.lisp -17 +6 M ./src/cffi-cmucl.lisp -4 +7 M ./src/cffi-corman.lisp -4 +2 M ./src/cffi-ecl.lisp -3 +1 M ./src/cffi-lispworks.lisp -4 +2 M ./src/cffi-openmcl.lisp -4 +2 M ./src/cffi-sbcl.lisp -8 +4 M ./src/cffi-scl.lisp -4 +2 M ./src/foreign-vars.lisp -6 +3 M ./tests/funcall.lisp +5 M ./tests/libtest.c +20 M ./tests/misc.lisp +16
Fri Apr 14 16:48:52 EDT 2006 Luis Oliveira loliveira@common-lisp.net * New TODO item: warn about :void
M ./TODO +1
Mon Mar 27 12:36:32 EST 2006 Stephen Compall scompall@nocandysw.com * remove *runtime-translator-form* from the interface
- Remove *runtime-translator-form* from the public interface, in favor of (call-next-method). - Describe this change in the manual, including some text from the option 1 patch. - Be clear that ALLOC-PARAM is thrown out by %expand-type-to-foreign.
M ./doc/cffi-manual.texinfo -14 +33 M ./src/early-types.lisp -27 +34 M ./src/package.lisp -1 M ./tests/misc-types.lisp -1 +1
Wed Mar 1 14:41:22 EST 2006 Stephen Compall scompall@nocandysw.com * demonstrate differing behavior between foreign-dyn expansions
- change expand-type-to-foreign-dyn for foreign-typedef to not short-circuit expand-type-to-foreign when falling back (see paste 17379) - add tests showing that you can change the foreign-dyn expansion semantics by providing an expand-to-foreign method that falls back
M ./src/early-types.lisp -1 +1 M ./tests/misc-types.lisp +43
Thu Mar 30 16:50:53 EST 2006 Luis Oliveira loliveira@common-lisp.net * sbcl/win32: mark defcfun.undefined as an expected failure
M ./tests/defcfun.lisp -1 +1
Thu Mar 30 16:48:16 EST 2006 Luis Oliveira loliveira@common-lisp.net * cmucl: top-level-lambda-max
- Use (setf c::top-level-lambda-max 0) allowing compilation of bindings without loading foreign libraries first. - Change USE-FOREIGN-LIBRARY accordingly. This avoids the error we got when loading a library twice (first at compile-time, then at load-time).
M ./src/cffi-cmucl.lisp -2 +6 M ./src/libraries.lisp -5 +3
Thu Mar 30 16:46:40 EST 2006 Luis Oliveira loliveira@common-lisp.net * Small doc changes.
- Rewrite paragraph about :float and :double. - Fix typo in defbitfield example.
M ./doc/cffi-manual.texinfo -9 +7
Mon Mar 27 19:49:44 EST 2006 Stephen Compall scompall@nocandysw.com * manual-don't use PRINT-OBJECT for CONDITIONs
M ./doc/cffi-manual.texinfo -8 +5
Thu Mar 16 06:55:05 EST 2006 Stephen Compall scompall@nocandysw.com * small manual fixes
- Add convert-to-foreign, convert-from-foreign, and free-converted-object to the master menu. - (load-foreign-library): Add note about specifying directories in paths. - (defcfun): Typo in syntax.
M ./TODO -2 M ./doc/cffi-manual.texinfo -6 +14
Thu Mar 16 06:45:54 EST 2006 Luis Oliveira loliveira@common-lisp.net * Lispworks: use regression-test instead of rt.
M ./tests/callbacks.lisp -2 +2
Thu Mar 16 06:40:28 EST 2006 Luis Oliveira loliveira@common-lisp.net * SCL update + new cffi-sys primitive
- New cffi-sys primitive: canonicalize-symbol-name-case. Use this instead of read-from-string. Also new tests for this. - cffi-scl.lisp: correct the evaluation order of %MEM-REF and %MEM-SET. Have 'foreign-symbol-pointer return 'nil if the symbol is not found. - uffi-compat.lisp: better support for SCL. - defcfun.lisp (defcfun.undefined): package at time of eval may differ from the compile time package.
Patch courtesy of Douglas Crosher.
M ./src/cffi-allegro.lisp +9 M ./src/cffi-clisp.lisp +7 M ./src/cffi-cmucl.lisp +7 M ./src/cffi-corman.lisp +7 M ./src/cffi-ecl.lisp +7 M ./src/cffi-gcl.lisp +7 M ./src/cffi-lispworks.lisp +7 M ./src/cffi-openmcl.lisp +7 M ./src/cffi-sbcl.lisp +7 M ./src/cffi-scl.lisp -14 +24 M ./src/foreign-vars.lisp -5 +3 M ./src/functions.lisp -1 +1 M ./tests/foreign-globals.lisp +84 M ./tests/libtest.c +19 M ./uffi-compat/uffi-compat.lisp -12 +16
Thu Mar 16 06:28:18 EST 2006 Luis Oliveira loliveira@common-lisp.net * when (and ecl (not dffi)) cffi:load-foreign-library doesn't work
- mention this in the manual. - make l-f-l signal an error on non-dffi ecl platforms.
M ./doc/cffi-manual.texinfo +11 M ./src/cffi-ecl.lisp -1 +3
Tue Feb 28 23:33:49 EST 2006 Stephen Compall scompall@nocandysw.com * manual: convert-* interface, optimizing translators overview optimized
- (Wrapper generators): Add comment about the 30-90% figure. - Reword `Pointers' to be shorter/clearer. - Promote `Optimizing Type Translators' to a full section, a few other things here, most conspicuously expanding on the note about expand-* method definition time. - (Tutorial-Conclusion): Not a first draft anymore. - Document convert-to-foreign, convert-from-foreign, and free-converted-object.
M ./doc/cffi-manual.texinfo -40 +226
Tue Feb 28 14:36:23 EST 2006 Luis Oliveira loliveira@common-lisp.net * Remove known issues sub-section from the manual.
- Listing the expected failures in the manual is too much trouble. Removed those. - Also, renamed "The Scieneer Common Lisp" to "Scieneer CL" for consistency.
M ./doc/cffi-manual.texinfo -70 +26
Tue Feb 28 14:16:42 EST 2006 Luis Oliveira loliveira@common-lisp.net * TODO item about a pointer type, suggested by J[_\c3_][_\b6_]rg H[_\c3_][_\b6_]hle
M ./TODO +3
Tue Feb 28 11:26:38 EST 2006 Stephen Compall scompall@nocandysw.com * manual: strings, foreign allocation, add `Wrapper generators' - Explain the difference between mem-aref and mem-ref by analogy with C operators. - Use ::= instead of = in with-foreign-object's syntax. - (Strings): Explain that it is portable code. - (Other Types): Don't use metasyntactic variables in Lisp examples. - Add `Wrapper generators' section on Verrazano et al. - (Foreign Type Translators): Use Please note: instead of Note: to suppress makeinfo warning.
M ./doc/cffi-manual.texinfo -12 +77
Mon Feb 27 14:48:54 EST 2006 Luis Oliveira loliveira@common-lisp.net * More testing
- Make defcfun.undefined an expected failure for SBCL on non linkage-table platforms. - New file: tests/misc.lisp. - Added a couple of tests for cffi-features.
M ./cffi-tests.asd -1 +2 M ./tests/defcfun.lisp -3 +5 A ./tests/misc.lisp
Mon Feb 27 14:48:13 EST 2006 Luis Oliveira loliveira@common-lisp.net * TODO item about our use of EVAL
M ./TODO -1 +3
Sat Feb 25 10:56:27 EST 2006 Luis Oliveira loliveira@common-lisp.net * Try to improve the wording in foreign-alloc's description..
M ./doc/cffi-manual.texinfo -3 +6
Fri Feb 24 23:10:58 EST 2006 Luis Oliveira loliveira@common-lisp.net * Minor change to foreign-alloc's documentation
- make it slightly clearer that count can be omitted when initial-contents is supplied. - add reference to with-foreign-object.
M ./doc/cffi-manual.texinfo -1 +3
Fri Feb 24 22:46:34 EST 2006 Luis Oliveira loliveira@common-lisp.net * foreign-alloc changes
- bugfix, foreign-alloc doesn't need to call translate-type-to-foreign explicitly since mem-aref already does. Bug reported by Greg Pfeil. - new keyword argument: NULL-TERMINATE-P. - new regression tests for the bug described above and new tests for the new keyword argument. - document new argument.
M ./doc/cffi-manual.texinfo -6 +29 M ./src/early-types.lisp +209 M ./src/types.lisp -244 +35 M ./tests/memory.lisp +42
Fri Feb 24 14:22:31 EST 2006 Luis Oliveira loliveira@common-lisp.net * More tests
- A couple of new tests involving defcfun/foreign-funcall/defcallback and lots of doubles and floats. These were written to figure out what exactly was going on with the CALLBACKS.BFF.[12] failures.
M ./src/types.lisp -1 +2 M ./tests/callbacks.lisp -22 +102 M ./tests/defcfun.lisp -1 +32 M ./tests/funcall.lisp +26 M ./tests/libtest.c -3 +66 M ./tests/memory.lisp +6
Fri Feb 24 08:17:35 EST 2006 Luis Oliveira loliveira@common-lisp.net * Fix cffi-lispworks bug in foreign-funcall.
- Add same declarations to define-foreign-funcallable as those used for define-foreign-callable. - Makes FUNCALL.FLOAT pass on linux/x86.
M ./src/cffi-lispworks.lisp -1 +4
Thu Feb 23 01:17:57 EST 2006 Luis Oliveira loliveira@common-lisp.net * SCL port, courtesy of Douglas Crosher
- Makefile: new test-scl target. Add SCL's fasl file extensions to the clean target. - Remove SCL TODO item. - New file: cffi-scl.lisp. - New primitive type :long-double. Since it's only supported by SCL, it's not worth adding a no-long-double feature just yet. - New tests for :long-double. - Add information about SCL and the new :long-double type to the user manual.
M ./Makefile -1 +5 M ./TODO -2 M ./cffi-tests.asd -1 +1 M ./cffi.asd -1 +2 M ./doc/cffi-manual.texinfo -3 +14 A ./src/cffi-scl.lisp M ./src/features.lisp -1 +5 M ./src/functions.lisp +1 M ./src/libraries.lisp -2 +2 M ./src/types.lisp +4 M ./tests/callbacks.lisp +12 M ./tests/defcfun.lisp +17 M ./tests/funcall.lisp +13 M ./tests/libtest.c +7 M ./tests/memory.lisp +23
Thu Feb 23 13:18:31 EST 2006 Luis Oliveira loliveira@common-lisp.net * Update TODO item about fixnums.
M ./TODO -1 +2
Thu Feb 23 03:14:06 EST 2006 Luis Oliveira loliveira@common-lisp.net * Implement and use my_llabs instead of llabs in tests
M ./tests/bindings.lisp -1 +1 M ./tests/defcfun.lisp -2 +2 M ./tests/funcall.lisp -1 +1 M ./tests/libtest.c -1 +7
Sun Feb 19 23:48:13 EST 2006 Luis Oliveira loliveira@common-lisp.net * Make CLISP not throw an error on undefined functions
- Catch the error in %foreign-funcall and throw a warning instead. - Regression test: DEFCFUN.UNDEFINED. (CMUCL fails)
M ./src/cffi-clisp.lisp -5 +11 M ./tests/defcfun.lisp +11
Fri Feb 17 15:44:57 EST 2006 James Bielman jamesjb@jamesjb.com * Fix LOOP indentation in backends.
- Thanks for Lu[_\c3_][_\ad_]s for showing me how to configure Emacs to get this right.
M ./src/cffi-allegro.lisp -3 +3 M ./src/cffi-clisp.lisp -1 +1 M ./src/cffi-cmucl.lisp -15 +12 M ./src/cffi-ecl.lisp -1 +1 M ./src/cffi-lispworks.lisp -3 +3 M ./src/cffi-openmcl.lisp -12 +9 M ./src/cffi-sbcl.lisp -15 +12
Thu Feb 16 03:34:48 EST 2006 James Bielman jamesjb@jamesjb.com * Fix and add tests for %MEM-REF and %MEM-SET evaluation order.
- Some minor reformatting of LOOP forms to pacify cl-indent. - Add new regression tests to check the evaluation order of %MEM-REF and %MEM-SET. - Add the necessary ONCE-ONLY forms to the compiler macros. - Have the CFFI-TESTS package use CFFI-SYS for testing primitives.
M ./src/cffi-allegro.lisp -3 +4 M ./src/cffi-cmucl.lisp -10 +14 M ./src/cffi-lispworks.lisp -14 +16 M ./src/cffi-openmcl.lisp -10 +14 M ./src/cffi-sbcl.lisp -23 +27 M ./tests/memory.lisp +34 M ./tests/package.lisp -1 +1
Thu Feb 16 00:15:44 EST 2006 Luis Oliveira loliveira@common-lisp.net * Fix typo. extend -> extent
M ./doc/cffi-manual.texinfo -1 +1
Thu Feb 16 00:07:35 EST 2006 Luis Oliveira loliveira@common-lisp.net * Minor change to tests/defcfun.lisp
- Remove unnecessary (setf (mem-ref s :char) 0) forms.
M ./tests/defcfun.lisp -7
Wed Feb 15 23:55:47 EST 2006 Luis Oliveira loliveira@common-lisp.net * CFFI Manual update
- Update known issues (callback.bff.[12] failures). - defbitfield, foreign-bitfield-symbols and foreign-bitfield-value. - Fix typo in tutorial. defenum -> defcenum. - New section "Other Types" documenting :string, :boolean and :wrapper. - Add note about the translate-* methods not being meant to be called directly and suggesting convert-* instead. - Document the macroexpansion-time translators in a new "Optimizing Type Translators" sub-section. - Document defcenum's base-type option. - Document defcfun's varargs support.
M ./doc/cffi-manual.texinfo -15 +371
Wed Feb 15 23:53:35 EST 2006 Luis Oliveira loliveira@common-lisp.net * New functions convert-to/from-foreign and free-converted-object
- These functions basically export the functionality of translate-type-to-foreign, translate-type-from-foreign and free-translated-object. - TODO: document these.
M ./TODO -3 +2 M ./src/package.lisp +3 M ./src/types.lisp +23
Wed Feb 15 23:52:40 EST 2006 Luis Oliveira loliveira@common-lisp.net * New TODO item: defcfun compiler macros
M ./TODO +3
Wed Feb 15 17:25:59 EST 2006 James Bielman jamesjb@jamesjb.com * Implement compiler macros for %MEM-REF and %MEM-SET in LispWorks.
- Use FLI:FOREIGN-TYPED-AREF if available and dereferencing a number. - Avoid calling INC-POINTER when the offset is a multiple of the type size allowing direct use of the INDEX argument to FOREIGN-TYPED-AREF. - Fall back to open-coding the call to FLI:DEREFERENCE otherwise.
M ./src/cffi-lispworks.lisp +84
Wed Feb 15 16:34:42 EST 2006 James Bielman jamesjb@jamesjb.com * Delete LispWorks/Linux .ufsl files on make clean.
M ./Makefile -1 +1
Wed Feb 15 15:15:14 EST 2006 James Bielman jamesjb@jamesjb.com * Use C limits for foreign floats and doubles instead of Lisp's.
- Export 'float_min', 'float_max', 'double_min', and 'double_max' from the libtest shared library with the values of FLT_MIN, FLT_MAX, DBL_MIN, and DBL_MAX, respectively. - Use *FLOAT-MIN*, *FLOAT-MAX*, *DOUBLE-MIN*, and *DOUBLE-MAX* as test values for foreign floats/doubles instead of the Lisp constants <foo>-POSITIVE-<bar>-FLOAT.
M ./tests/bindings.lisp -1 +9 M ./tests/libtest.c -1 +7 M ./tests/memory.lisp -16 +16
Wed Feb 15 12:43:16 EST 2006 Luis Oliveira loliveira@common-lisp.net * Oops, fix tests.
- MISC-TYPES.BOOLEAN.2 was using the wrong ff name. - MISC-TYPES.EXPAND.* need the expand-* methods defined at macroexpansion-time.
M ./tests/misc-types.lisp -5 +6
Wed Feb 15 12:16:31 EST 2006 James Bielman jamesjb@jamesjb.com * Change +REQUIRED-DLL-VERSION+ to *REQUIRED-DLL-VERSION*.
M ./tests/bindings.lisp -3 +3
Wed Feb 15 04:13:37 EST 2006 James Bielman jamesjb@jamesjb.com * Remove completed TODO item about building 32 and 64 bit libtest.
M ./TODO -2
Wed Feb 15 11:35:51 EST 2006 Luis Oliveira loliveira@common-lisp.net * A few more tests
- Tests for the new macroexpansion-time type translator interface: MISC-TYPES.EXPAND.[1234] - New tests: DEREF.LONG-LONG and DEREF.UNSIGNED-LONG-LONG. - Tests for mem-ref with non-constant type arguments: DEREF.NONCONST.* - Fix some comments in tests/memory.lisp. - New test: MISC-TYPES.BOOLEAN.2 (accepting typedefs to integer types)
M ./tests/libtest.c +3 M ./tests/memory.lisp -16 +140 M ./tests/misc-types.lisp -3 +66
Tue Feb 14 22:01:52 EST 2006 Luis Oliveira loliveira@common-lisp.net * Minor test changes
- Use long instead of int in the big C functions in libtest.c. - Mark callbacks.bff.[12] as expect failures for a couple of lisps.
M ./tests/callbacks.lisp -2 +12 M ./tests/libtest.c -31 +31
Tue Feb 14 21:59:06 EST 2006 Luis Oliveira loliveira@common-lisp.net * Make (%callback 'non-existant-callback) signal an error
- Make %callback signal an error for non-existing callbacks. (allegro, sbcl and openmcl) - Regression test: callbacks.non-existant
M ./src/cffi-allegro.lisp -1 +2 M ./src/cffi-openmcl.lisp -1 +2 M ./src/cffi-sbcl.lisp -1 +2 M ./tests/callbacks.lisp +6
Tue Feb 14 21:52:57 EST 2006 James Bielman jamesjb@jamesjb.com * Implement %MEM-REF and %MEM-SET compiler macros for Allegro CL.
M ./src/cffi-allegro.lisp +20
Tue Feb 14 21:26:51 EST 2006 James Bielman jamesjb@jamesjb.com * Ignore RETTYPE in Allegro CL %DEFCALLBACK.
M ./src/cffi-allegro.lisp +1
Mon Feb 13 23:29:28 EST 2006 Luis Oliveira loliveira@common-lisp.net * Fix float varargs promotion.
- Convert floats to doubles in foreign-funcall-varargs. Test DEFCFUN.VARARGS.FLOAT now passes.
M ./src/functions.lisp -4 +9
Mon Feb 13 23:27:33 EST 2006 Luis Oliveira loliveira@common-lisp.net * Preliminary random tester.
- Push random-tester.lisp. This was used to generate the BFF tests, but is still not automated. - Update respective TODO item.
M ./TODO -6 +1 A ./tests/random-tester.lisp
Mon Feb 13 22:28:30 EST 2006 Luis Oliveira loliveira@common-lisp.net * MORE TESTS
- New tests: callbacks.funcall.2, callbacks.bff.[12], defcfun.bff.[12]. - Re-enable defcfun.varargs.double. - Use #'float instead of #'coerce in the defcfun.varargs.* tests. - Fix dll version in libtest.c.
M ./tests/callbacks.lisp -2 +136 M ./tests/defcfun.lisp -5 +125 M ./tests/libtest.c -1 +222
Mon Feb 13 19:28:39 EST 2006 Luis Oliveira loliveira@common-lisp.net * Change defconstant to defparameter in bindings.lisp
M ./tests/bindings.lisp -1 +3
Mon Feb 13 19:19:31 EST 2006 Luis Oliveira loliveira@common-lisp.net * Macroexpansion-time translators
- New interface. expand-to-foreign-dyn, expand-to-foreign and expand-from-foreign. - defcfun/foreign-funcall/defcallback/defcvar use this as well as the compiler macros and setf-expanders for mem-ref, mem-aref, and foreign-slot-value. - Also, parse ignore declarations and use them to avoid translating such types (thus avoiding breaking the ignore declaration).
M ./src/foreign-vars.lisp -13 +7 M ./src/functions.lisp -46 +44 M ./src/package.lisp -1 +4 M ./src/types.lisp -40 +118
Sun Feb 12 13:27:09 EST 2006 Jack Unrue jdunrue@gmail.com * Implement simple version check for libtest DLL
M ./tests/bindings.lisp +9 M ./tests/libtest.c +2
Fri Feb 10 19:31:23 EST 2006 James Bielman jamesjb@jamesjb.com * Push CFFI-FEATURES:X86-64 on Allegro/amd64.
M ./src/cffi-allegro.lisp +1
Fri Feb 10 17:00:55 EST 2006 Luis Oliveira loliveira@common-lisp.net * Removed outdated comment from the colorize script.
M ./doc/colorize-lisp-examples.lisp -2 +1
Fri Feb 10 14:52:48 EST 2006 Luis Oliveira loliveira@common-lisp.net * Use slanted instead of italic for VAR in style.css
M ./doc/style.css -1 +1
Fri Feb 10 11:05:07 EST 2006 Stephen Compall scompall@nocandysw.com * use lispcmt for code comments instead of @r
- Add ROMANCOMMENTS option to manual. - Change all instances of @r to @lispcmt.
M ./doc/cffi-manual.texinfo -47 +55
Thu Feb 9 22:50:38 EST 2006 Stephen Compall scompall@nocandysw.com * make Texinfo @r and colorize play nice
- Comment out master menu entry for explain-foreign-slot-value so manual builds again. - Add @r to all Lisp comments in manual. - (Tutorial-easy_setopt): Revert previous @dots{}; it is literal `...', not an ellipsis. Oops. - In colorize-lisp-examples.lisp, remove the output generated by @r from Lisp blocks. Also shove around the process-file code some.
M ./doc/cffi-manual.texinfo -51 +50 M ./doc/colorize-lisp-examples.lisp -33 +60
Thu Feb 9 21:11:17 EST 2006 Luis Oliveira loliveira@common-lisp.net * Remove @r{} in manual's code comments
(at least until the colorize script can cope with these)
M ./doc/cffi-manual.texinfo -2 +2
Thu Feb 9 19:57:07 EST 2006 Luis Oliveira loliveira@common-lisp.net * More minor doc changes.
- @emph -> @var. - change var's style to something more sensible in the CSS file. - remove (setf callback) from the docs. - fix some typos.
M ./doc/cffi-manual.texinfo -104 +102 M ./doc/style.css -1 +2
Thu Feb 9 19:36:50 EST 2006 Luis Oliveira loliveira@common-lisp.net * Make :boolean accept typedefs to integer types.
M ./src/types.lisp -1 +1
Thu Feb 9 17:51:09 EST 2006 Luis Oliveira loliveira@common-lisp.net * Minor documentation changes
- Have the Makefile's clean target delete some more of the temporary texinfo files. - Comment out reference to explain-foreign-slot-value.
M ./doc/Makefile -2 +2 M ./doc/cffi-manual.texinfo -1 +1
Thu Feb 9 13:39:38 EST 2006 Stephen Compall scompall@nocandysw.com * reference prose in Pointers and Strings manual chapters
- (Tutorial-easy_setopt): Use @dots{}. - (seealso): Remove old comment about @code formatting. - Pointers chapter: Describe the theory of foreign data, dealing with pointers per se, and expand on the allocation description. - (Strings): A short paragraph by way of introduction.
M ./doc/cffi-manual.texinfo -10 +56
Mon Feb 6 13:54:39 EST 2006 James Bielman jamesjb@jamesjb.com * Remove note about unsupported FOREIGN-FUNCALL on Lispworks.
M ./doc/cffi-manual.texinfo -3
Sat Feb 4 03:29:12 EST 2006 James Bielman jamesjb@jamesjb.com tagged 0.9.0
Sat Feb 4 03:28:14 EST 2006 James Bielman jamesjb@jamesjb.com * Update system definition version to 0.9.0.
M ./cffi.asd -1 +1
Fri Feb 3 11:36:36 EST 2006 James Bielman jamesjb@jamesjb.com * Use DEFINE-FOREIGN-LIBRARY to load the test shared library.
M ./tests/bindings.lisp -15 +13
Fri Feb 3 11:36:02 EST 2006 James Bielman jamesjb@jamesjb.com * Build an additional 32-bit libtest.so on x86-64 Linux.
M ./tests/Makefile -3 +12
Sat Feb 4 00:02:40 EST 2006 James Bielman jamesjb@jamesjb.com * Don't add CFFI-FEATURES:UNIX to *FEATURES* on SBCL/Win32
M ./src/cffi-sbcl.lisp -1 +1
Fri Feb 3 21:28:35 EST 2006 James Bielman jamesjb@jamesjb.com * Disable test DEFCFUN.VARARGS.FLOAT for now.
M ./tests/defcfun.lisp +3
Fri Feb 3 14:57:05 EST 2006 James Bielman jamesjb@jamesjb.com * Add tests for keyword arguments to FOREIGN-ALLOC.
M ./TODO -1 M ./tests/memory.lisp +47
Fri Feb 3 11:12:10 EST 2006 James Bielman jamesjb@jamesjb.com * Add two new tests for MAKE-POINTER and INC-POINTER.
M ./tests/memory.lisp +17
Fri Feb 3 03:29:54 EST 2006 James Bielman jamesjb@jamesjb.com * Add CFFI-FEATURES:X86-64 and push it on *FEATURES* on AMD64 Lisps.
- Currently this is supported under SBCL and CLISP. It would be nice to implement this for Allegro on AMD64 as well, but I don't have a copy.
M ./src/cffi-clisp.lisp -4 +7 M ./src/cffi-sbcl.lisp +1 M ./src/features.lisp -1 +1
Fri Feb 3 03:07:58 EST 2006 Luis Oliveira loliveira@common-lisp.net * New test: callbacks.funcall
Tests both declarations in a callback's body and foreign-funcalling a cffi callback.
M ./tests/callbacks.lisp +12
Fri Feb 3 03:07:34 EST 2006 Luis Oliveira loliveira@common-lisp.net * Remove outdated comment about foreign-slot-value
M ./src/types.lisp -3
Fri Feb 3 03:03:54 EST 2006 James Bielman jamesjb@jamesjb.com * Minor documentation updates.
- Comment out sections that refer to unimplemented functionality. - Remove obsolete references to DEFINE-TYPE-TRANSLATOR. - Document the ERRORP argument to FOREIGN-ENUM-TYPE / FOREIGN-ENUM-KEYWORD. - Remove the documentation of the unimplemented slot name chaining feature in FOREIGN-SLOT-VALUE.
M ./doc/cffi-manual.texinfo -143 +56
Fri Feb 3 02:35:57 EST 2006 James Bielman jamesjb@jamesjb.com * Update documentation for DEFCTYPE.
M ./doc/cffi-manual.texinfo -5 +13
Fri Feb 3 02:25:47 EST 2006 James Bielman jamesjb@jamesjb.com * Add tests for non-translatable typedefs.
- Test as arguments and return value to a foreign function. - Test as arguments and return value from a callback.
M ./tests/misc-types.lisp +28
Fri Feb 3 02:24:38 EST 2006 James Bielman jamesjb@jamesjb.com * Fix INVERSE-TRANSLATE-OBJECTS to respect TRANSLATE-P.
M ./src/functions.lisp -4 +9
Fri Feb 3 01:52:49 EST 2006 James Bielman jamesjb@jamesjb.com * Parse and lift declarations properly for DEFCALLBACK.
- Add a new utility function PARSE-BODY to CFFI-UTILS to pull the documentation string and declarations out of a body of code. - Use CFFI-UTILS:PARSE-BODY in DEFCALLBACK.
M ./src/functions.lisp -9 +12 M ./src/utils.lisp +13 M ./tests/defcfun.lisp +1
Fri Feb 3 02:10:13 EST 2006 James Bielman jamesjb@jamesjb.com * Add TODO entry to compile a 32-bit libtest on 64-bit Linux.
M ./TODO +2
Thu Feb 2 20:30:09 EST 2006 James Bielman jamesjb@jamesjb.com * Remove documentation string from test type.
M ./tests/misc-types.lisp -2 +2
Thu Feb 2 20:12:13 EST 2006 James Bielman jamesjb@jamesjb.com * Add ERRORP keyword argument to FOREIGN-ENUM-VALUE / FOREIGN-ENUM-KEYWORD.
- If ERRORP is false, converting nonexistent enum values and keywords will return NIL instead of signalling an error.
M ./src/enum.lisp -10 +12
Thu Feb 2 19:41:28 EST 2006 James Bielman jamesjb@jamesjb.com * Add an optimization for defining non-translatable types.
- New generic function on types: TRANSLATE-P. This is true for all types except built-in foreign types and typedefs defined non-translatable. - Incompatible change: DEFCTYPE now accepts keyword arguments :TRANSLATE-P and :DOCUMENTATION instead of an optional docstring. - Define the standard integers types as non-translatable.
M ./src/early-types.lisp -1 +18 M ./src/functions.lisp -3 +3 M ./src/types.lisp -25 +25
Thu Feb 2 07:49:08 EST 2006 Luis Oliveira loliveira@common-lisp.net * Evaluate define-foreign-librare earlier for CMUCL
Since we're wrapping use-foreign-library with an eval-when to load foreign library at compile-time, we need to do the samething with define-foreign-library otherwise use-foreign-library will try to load an undefined library.
M ./src/libraries.lisp -1 +1
Thu Feb 2 07:47:53 EST 2006 Luis Oliveira loliveira@common-lisp.net * Implement defbitfield
- New macros and functions: DEFBITFIELD, FOREIGN-BITFIELD-VALUE, FOREIGN-BITFIELD-SYMBOLS.
M ./TODO +2 M ./src/enum.lisp -9 +87 M ./src/package.lisp +3
Wed Feb 1 22:57:29 EST 2006 Luis Oliveira loliveira@common-lisp.net * Fix allegro's %load-foreign-library
Versions prior to 7.0 don't have a :foreign keyword argument for LOAD. Reported by Andrew Philpot.
M ./src/cffi-allegro.lisp -1 +2
Wed Feb 1 14:17:12 EST 2006 Luis Oliveira loliveira@common-lisp.net * Make defcenum accept duplicate values.
DEFCENUM will discard the previous value->keyword mapping (though not the respective keyword->value mapping of course) when it find a duplicate value.
M ./src/enum.lisp -4 +5
Wed Feb 1 07:40:58 EST 2006 keriax@gmail.com * Add check for FreeBSD and remove some redundant assignments.
M ./tests/Makefile -18 +9
Mon Jan 30 12:41:14 EST 2006 Luis Oliveira loliveira@common-lisp.net * Add option to defcenum
New option to defcenum in order to be able a base type different from the default, :int.
M ./TODO +1 M ./src/enum.lisp -4 +7
Wed Jan 25 23:17:43 EST 2006 Luis Oliveira loliveira@common-lisp.net * Comment about why cffi-features:no-*
M ./src/features.lisp +3
Wed Jan 25 23:16:52 EST 2006 Luis Oliveira loliveira@common-lisp.net * Use l-t-v in lispworks's %foreign-funcall
M ./src/cffi-lispworks.lisp -5 +1
Tue Jan 24 19:42:15 EST 2006 Luis Oliveira loliveira@common-lisp.net * more doc changes; renamed features
- change "docs" to be the default target in doc/Makefile. - add Stephen the list of authors in cffi-manual - rename "Index" to "Comprehensive Index" so that Index.html doesn't clash with index.html on OSX. - add varargs example for defcfun - rename features (again) foreign-funcall -> no-foreign-funcall, long-long -> no-long-long.
M ./doc/Makefile -4 +4 M ./doc/cffi-manual.texinfo -65 +21 M ./src/cffi-allegro.lisp -2 +2 M ./src/cffi-clisp.lisp -2 +2 M ./src/cffi-cmucl.lisp -4 +1 M ./src/cffi-corman.lisp -2 +3 M ./src/cffi-ecl.lisp -2 +2 M ./src/cffi-lispworks.lisp -2 +2 M ./src/cffi-openmcl.lisp -4 +1 M ./src/cffi-sbcl.lisp -4 +1 M ./src/features.lisp -2 +3 M ./src/types.lisp -4 +4 M ./tests/callbacks.lisp -5 +5 M ./tests/defcfun.lisp -1 +1 M ./tests/foreign-globals.lisp -3 +3 M ./tests/funcall.lisp -3 +3 M ./tests/misc-types.lisp -4 +4 M ./tests/struct.lisp -1 +1
Tue Jan 24 11:55:02 EST 2006 Stephen Compall scompall@nocandysw.com * stabilize the last few doc changes
- display Luis's name with an accent - @sc the warranty - remove @code from section headings and @seealso - reword no-long-long note again - hey, define-foreign-library supports multiple libraries - clarify what *darwin-framework-directories* is actually used for - reorganize *foreign-library-directories* description - in gendocs.sh, fix libtool links as well
M ./doc/cffi-manual.texinfo -94 +100 M ./doc/gendocs.sh -3 +19
Mon Jan 23 11:55:41 EST 2006 Luis Oliveira loliveira@common-lisp.net * documentation changes
- removed known issue about modern mode as it should work now. - removed note about callbacks being linux/x86 only. - fixed typo: supported -> unsupported. - remove note about [u]int{8,16,32,64} not being implemented. - add documentation about uint, uchar, ulong, ullong. - fix foreign-alloc's function signature. - update info regarding lispworks's new foreign-funcall. - add example for *darwin-framework-directories*. - fixed define-foreign-library's syntax. - comment out sentence about use-foreign-library setting the current foreign library as it doesn't do that yet. - remove the (setf (callback ...)) example. this isn't allowed anymore. - rename foreign-funcall and long-long to no-foreign-funcall and no-long-long. - long-long is a standard C99 type, remove mention of GNU there.
- removed TODO item: there's already a tutorial. - added TODO item: document defcfun's new capabilities
M ./TODO -2 +1 M ./doc/cffi-manual.texinfo -300 +257
Sun Jan 22 23:06:05 EST 2006 Stephen Compall scompall@nocandysw.com * document new library interface, some other manual stuff
- New macro @Variable. - Fix 2 @end examples. - In "Arguments and Values" headings, use @var for tables of variables, as they act as metasyntactic variables in this situation. - Document new library interface. - Use @unnumberedsec in dictionary nodes instead of @heading, and @code the names. - Platform-specific features: new appendix. - define-curl-option-setter: curl-code is not a keyword - Use new @seealso macro for "See Also" xrefs. - Merge all indexes into cp.
M ./doc/cffi-manual.texinfo -215 +730
Thu Jan 19 13:59:20 EST 2006 Stephen Compall scompall@nocandysw.com * update manual Introduction and Foreign types, texinfo idioms throughout
- Remove note on cffi-luis branch. - Write introductory chapter. - Acronym/sc-ify CL implementation names. - Use @cffi{} instead of CFFI. - Use @impnote for notes from luis and james. - Split existing type translator explanation to make "Defining typedefs" and rewrite the former. - Invent an example for defcstruct, and explain its limitations. - Write "Allocating Foreign Objects". - Move with-foreign-object(s) to Pointers chapter, to group it with foreign-alloc. - Use @sc and @result to make REPL examples pretty, and move them into @example sections. - Remove commented-out sections; they can be readded later from darcs repo if need be.
M ./doc/cffi-manual.texinfo -442 +544
Fri Jan 20 22:47:20 EST 2006 Luis Oliveira loliveira@common-lisp.net * New TODO items.
- Underspecifed Semantics: doubles/floats - Known Issues: cffi-tests.asd's bogus :c-test-lib
M ./TODO +6
Fri Jan 20 22:38:19 EST 2006 Luis Oliveira loliveira@common-lisp.net * Fix foreign-funcall sprintf tests' return types.
M ./tests/funcall.lisp -8 +8
Fri Jan 20 22:37:36 EST 2006 Luis Oliveira loliveira@common-lisp.net * Do argument promotion on variadic functions
- New macro foreign-funcall-varargs that does argument promotion. - Make defcfun use this when &rest is used. - New tests: DEFCFUN.VARARGS.{CHAR,SHORT,INT,LONG,FLOAT,DOUBLE,STRING}.
M ./src/functions.lisp -5 +41 M ./tests/defcfun.lisp +49
Fri Jan 20 22:23:50 EST 2006 Luis Oliveira loliveira@common-lisp.net * Fix override in clisp's %foreign-type-alignment
M ./src/cffi-clisp.lisp -1 +1
Fri Jan 20 22:23:36 EST 2006 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * %foreign-funcall-pointer/clisp: constant fold with load-time-value
M ./src/cffi-clisp.lisp -5 +7
Fri Jan 20 22:22:49 EST 2006 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * register-callback clisp: use only ffi:exported functions
M ./src/cffi-clisp.lisp -9 +7
Mon Jan 16 09:38:20 EST 2006 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * "added one declare ignore"
M ./src/early-types.lisp +1
Fri Jan 20 22:07:13 EST 2006 Luis Oliveira loliveira@common-lisp.net * Signal an error when defcstruct/defcunion is passed a :void
M ./src/types.lisp +4
Fri Jan 20 21:55:57 EST 2006 Luis Oliveira loliveira@common-lisp.net * Fix bug in Lispworks's %%foreign-funcall
M ./src/cffi-lispworks.lisp -8 +11
Wed Jan 18 14:25:01 EST 2006 Stephen Compall scompall@nocandysw.com * point libc manual refs to gnu.org
- In doc/gendocs.sh, HTML files are now modified with sed to point to the glibc manual hosted on gnu.org whenever a link to that manual appears.
M ./doc/gendocs.sh -3 +10
Tue Jan 17 17:55:44 EST 2006 Luis Oliveira loliveira@common-lisp.net * New test: FUNCALL.INT.2
M ./tests/funcall.lisp -1 +10
Mon Jan 16 20:31:13 EST 2006 Luis Oliveira loliveira@common-lisp.net * FOREIGN-FUNCALL(-POINTER) support for Lispworks
Implementation %foreign-funcall and %foreign-funcall-pointer in cffi-lispworks by creating and caching one foreign funcallable per function signature at macroexpansion-time.
Patch courtesy of Edi Weitz <edi at agharta dot de>
M ./src/cffi-lispworks.lisp -3 +47
Mon Jan 16 19:58:05 EST 2006 Luis Oliveira loliveira@common-lisp.net * Fix bug in default-library-suffix
M ./src/libraries.lisp -5 +5
Mon Jan 16 12:59:03 EST 2006 Luis Oliveira loliveira@common-lisp.net * tests: explicitly load msvcrt.dll on sbcl/win32
M ./tests/bindings.lisp -1 +1
Mon Jan 16 12:57:53 EST 2006 Luis Oliveira loliveira@common-lisp.net * varargs support in defcfun
For now this is in DEFCFUN itself. Not sure yet if this should be moved to a DEFCFUN-VARARGS or something similar.
M ./src/functions.lisp -12 +26
Sat Jan 14 20:10:33 EST 2006 Luis Oliveira loliveira@common-lisp.net * Fix bug in libaries.lisp
try-foreign-library-alternatives and load-foreign-library-name were shadowing %load-foreign-library's return value and returning nil even when a library was successfully loaded.
Bug reported by Stephen Compall and Edi Weitz.
M ./src/libraries.lisp -12 +12
Sat Jan 14 20:06:47 EST 2006 Luis Oliveira loliveira@common-lisp.net * Lispworks: fix override in %foreign-type-alignment
Oversight when :ppc32 was renamed to cffi-features:ppc32.
M ./src/cffi-lispworks.lisp -1 +1
Sat Jan 14 04:33:47 EST 2006 James Bielman jamesjb@jamesjb.com * untabify a few files
M ./doc/colorize-lisp-examples.lisp -32 +32 M ./src/utils.lisp -8 +8 M ./uffi-compat/uffi-compat.lisp -21 +21
Thu Jan 12 13:52:01 EST 2006 Luis Oliveira loliveira@common-lisp.net * Documentation changes
- Add some comments about define-foreign-library's new features. The t clause and :default. - Remove (setf get-callback) from the documentation.
M ./doc/cffi-manual.texinfo -6 +8 M ./src/libraries.lisp -2 +5
Wed Jan 11 16:38:59 EST 2006 Luis Oliveira loliveira@common-lisp.net * Massage doc/colorize-lisp-examples.lisp a bit
- Small hack to colorize-lisp-examples to make it treat "smalllisp" blocks like the normal "lisp" code blocks.
M ./doc/colorize-lisp-examples.lisp -3 +7
Wed Jan 11 13:38:40 EST 2006 Stephen Compall scompall@nocandysw.com * Import the tutorial
- "An Introduction to Foreign Interfaces and CFFI" added to manual.
M ./doc/cffi-manual.texinfo -9 +1228
Wed Jan 11 11:29:18 EST 2006 Luis Oliveira loliveira@common-lisp.net * fix load-foreign-library bug
When loading a library defined with DEFINE-FOREIGN-LIBRARY, it was processing all the clauses that returned true instead of only the first.
Thanks to Stephen Compall for the bug report.
M ./src/libraries.lisp -2 +3
Tue Jan 10 08:57:50 EST 2006 James Bielman jamesjb@jamesjb.com * fix DISCARD-DOCSTRING to not treat a singleton string as a docstring
- Callback bodies consisting of only one string literal were treated as docstrings instead of being returned. - Added a test case in callbacks.lisp for this.
Thanks to ignas on #lisp for the bug report.
M ./src/utils.lisp -3 +4 M ./tests/callbacks.lisp -1 +9
Mon Jan 9 02:40:53 EST 2006 James Bielman jamesjb@jamesjb.com * update uffi-compat to new translator interface
Patch courtesy of: Robert J. Macomber <xbxyh8 at rojoma.com>
M ./uffi-compat/uffi-compat.lisp -6 +6
Sat Jan 7 01:15:26 EST 2006 James Bielman jamesjb@jamesjb.com * add :default expression to auto-append library suffixes
M ./src/libraries.lisp +20
Sat Jan 7 01:14:52 EST 2006 James Bielman jamesjb@jamesjb.com * allow t in library feature expression as default
M ./src/libraries.lisp +2
Sat Jan 7 06:05:58 EST 2006 James Bielman jamesjb@jamesjb.com * remove some finished items from the TODO list
M ./TODO -9
Sat Jan 7 00:34:55 EST 2006 James Bielman jamesjb@jamesjb.com * signal an error when trying to load undefined "logical" foreign libraries
M ./src/libraries.lisp -1 +3
Fri Jan 6 00:03:25 EST 2006 James Bielman jamesjb@jamesjb.com * implement new callback interface for corman
M ./src/cffi-corman.lisp -1 +8
Fri Jan 6 00:01:25 EST 2006 James Bielman jamesjb@jamesjb.com * implement new callback interface for ecl
Untested: the ECL backend does not seem to build for me.
M ./src/cffi-ecl.lisp -4 +25
Thu Jan 5 23:57:53 EST 2006 James Bielman jamesjb@jamesjb.com * implement new callback interface for cmucl
Unsolved problems still prevent CFFI from working in a saved image on CMU CL.
M ./src/cffi-cmucl.lisp -4 +28
Thu Jan 5 22:42:17 EST 2006 James Bielman jamesjb@jamesjb.com * implement new callback interface for lispworks
M ./src/cffi-lispworks.lisp -8 +30
Thu Jan 5 22:08:39 EST 2006 James Bielman jamesjb@jamesjb.com * fix callbacks in saved images in clisp, sbcl, allegro, and openmcl
M ./src/cffi-allegro.lisp -9 +48 M ./src/cffi-clisp.lisp -19 +61 M ./src/cffi-openmcl.lisp -8 +32 M ./src/cffi-sbcl.lisp -10 +11 M ./src/functions.lisp -4 +5
Fri Jan 6 22:17:09 EST 2006 Luis Oliveira loliveira@common-lisp.net * New types. Sized ints and aliases.
- Defined the :[u]int{8,16,32,64} types by looking at the sizes of the built-in types. - Removed :[u]int{8,16,32,64} from cffi-clisp. - New typedefs: :uchar, :ushort, :uint, :ulong, :llong, and :ullong. - New test: misc-types.sized-ints. - Removed the related TODO items.
M ./TODO -4 M ./src/cffi-clisp.lisp -8 M ./src/early-types.lisp +4 M ./src/types.lisp -24 +53 M ./tests/misc-types.lisp +7
Fri Jan 6 21:18:35 EST 2006 Luis Oliveira loliveira@common-lisp.net * Substitute missing ensure-string.
M ./src/libraries.lisp -1 +3
Fri Jan 6 21:13:48 EST 2006 Luis Oliveira loliveira@common-lisp.net * Remove the TODO item related to load-foreign-library
M ./TODO -4 +1
Fri Jan 6 21:11:26 EST 2006 Luis Oliveira loliveira@common-lisp.net * %foreign-funcall-pointer for ECL
M ./src/cffi-ecl.lisp +8
Fri Jan 6 21:10:01 EST 2006 Luis Oliveira loliveira@common-lisp.net * Remove old comments in cffi-clisp and cffi-sbcl
M ./src/cffi-clisp.lisp -7 M ./src/cffi-sbcl.lisp -6
Fri Jan 6 21:08:05 EST 2006 Luis Oliveira loliveira@common-lisp.net * Foreign library changes
- Fix loading of foreign libraries in cffi-allegro. Now tries to load whatever is passed to %load-foreign-library instead of refusing to load files with types that aren't in excl::*load-foreign-types*. - Changes to %close-foreign-library in CMUCL and SBCL. Use string= instead of string-equal to match libraries. - Lispworks: use :connection-style :immediate in %load-foreign-library. - New foreign library interface.
M ./src/cffi-allegro.lisp -5 +8 M ./src/cffi-cmucl.lisp -1 +1 M ./src/cffi-lispworks.lisp -1 +1 M ./src/cffi-sbcl.lisp -1 +1 M ./src/libraries.lisp -14 +193 M ./src/package.lisp -2 +9
Fri Jan 6 20:56:44 EST 2006 Luis Oliveira loliveira@common-lisp.net * Pushing cffi-features symbols to *features*
- Renamed :cffi/no-foreign-funcall and :cffi/no-long-long to cffi-features:foreign-funcall and cffi-features:long-long respectively (with the opposite meanings of course). - Also new features (in the cffi-features package): darwin, unix, windows, ppc32 and x86. More could be added. The cffi-sys backends are responsible for pushing these features.
M ./cffi.asd +1 M ./src/cffi-allegro.lisp -5 +12 M ./src/cffi-clisp.lisp -6 +14 M ./src/cffi-cmucl.lisp -5 +14 M ./src/cffi-corman.lisp -3 +9 M ./src/cffi-ecl.lisp -4 +13 M ./src/cffi-lispworks.lisp -5 +12 M ./src/cffi-openmcl.lisp -2 +9 M ./src/cffi-sbcl.lisp -1 +11 A ./src/features.lisp M ./src/package.lisp -3 M ./src/types.lisp -3 +3 M ./tests/callbacks.lisp -3 +3 M ./tests/defcfun.lisp -1 +1 M ./tests/foreign-globals.lisp -3 +3 M ./tests/funcall.lisp -3 +3 M ./tests/struct.lisp -1 +1
Fri Jan 6 20:54:54 EST 2006 Luis Oliveira loliveira@common-lisp.net * New TODO item about CLISP fasl portability
M ./TODO +9
Fri Jan 6 03:29:57 EST 2006 James Bielman jamesjb@jamesjb.com * add :size option to defcunion as with defcstruct
M ./src/types.lisp -17 +19
Fri Jan 6 02:47:08 EST 2006 James Bielman jamesjb@jamesjb.com * add todo list entry about setting union size
M ./TODO +1
Thu Jan 5 04:14:44 EST 2006 James Bielman jamesjb@jamesjb.com * add todo list entry about implementing :uint8 and friends
M ./TODO -3 +5
Tue Jan 3 15:28:16 EST 2006 James Bielman jamesjb@jamesjb.com * gensym name and typo fixes
M ./src/cffi-clisp.lisp -1 +1 M ./src/strings.lisp -2 +2 M ./src/types.lisp +1 M ./src/utils.lisp -1 +1
Tue Jan 3 10:35:51 EST 2006 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * ffi:with-c-var's symbol-macrolet repeatedly applies foreign-value, avoid it
M ./src/cffi-clisp.lisp -19 +18
Tue Jan 3 10:35:27 EST 2006 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * TODO: foreign-alloc needs testcases
M ./TODO +1
Mon Jan 2 10:29:57 EST 2006 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * with-foreign-pointer [cmucl,sbcl]: forgot one instance of EVAL (constantp case)
M ./src/cffi-cmucl.lisp -2 +1 M ./src/cffi-sbcl.lisp -2 +1
Mon Jan 2 10:22:02 EST 2006 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * clisp defcallback: free unless invalid (possibly from old image)
M ./src/cffi-clisp.lisp -1 +2
Tue Jan 3 04:24:48 EST 2006 James Bielman jamesjb@jamesjb.com * document new type translator interface in the manual
M ./doc/cffi-manual.texinfo -58 +249
Sun Jan 1 05:09:35 EST 2006 James Bielman jamesjb@jamesjb.com * ramble a bit in comments about the new interface
M ./src/types.lisp -1 +9
Sun Jan 1 04:31:54 EST 2006 James Bielman jamesjb@jamesjb.com * ignore NAME in :wrapper UNPARSE method
M ./src/types.lisp +1
Sun Jan 1 04:30:28 EST 2006 James Bielman jamesjb@jamesjb.com * properly handle alloc param chain for typedef translators
M ./examples/translator-test.lisp +24 M ./src/types.lisp -7 +15
Sun Jan 1 04:17:27 EST 2006 James Bielman jamesjb@jamesjb.com * remove DEFINE-TYPE-TRANSLATOR from package exports
M ./src/package.lisp -1
Sun Jan 1 04:15:35 EST 2006 James Bielman jamesjb@jamesjb.com * new translator GF protocol, as discussed in IRC
M ./examples/gettimeofday.lisp -4 +2 M ./examples/translator-test.lisp -12 +10 M ./src/enum.lisp -4 +2 M ./src/foreign-vars.lisp -3 +3 M ./src/functions.lisp -4 +3 M ./src/package.lisp -3 M ./src/strings.lisp -16 +8 M ./src/types.lisp -146 +86
Sat Dec 31 23:39:15 EST 2005 James Bielman jamesjb@jamesjb.com * fix missing newline issues
M ./src/early-types.lisp +1 M ./src/foreign-vars.lisp +1
Wed Dec 28 12:41:02 EST 2005 James Bielman jamesjb@jamesjb.com * remove obsolete comment in MAKE-LOAD-FORM method
M ./src/early-types.lisp -2
Wed Dec 28 12:30:14 EST 2005 James Bielman jamesjb@jamesjb.com * new file, translator example
A ./examples/translator-test.lisp
Wed Dec 28 12:24:21 EST 2005 James Bielman jamesjb@jamesjb.com * new translator interface updates
- Add UNPARSE generic function for unparsing types. - Reverse the order of the type name and class in translator GFs. - Add NEXT-* versions of the translator GFs.
M! ./TODO +6 M! ./examples/gettimeofday.lisp -4 +4 M! ./src/early-types.lisp -2 +15 M! ./src/enum.lisp -2 +2 M! ./src/foreign-vars.lisp -2 +2 M! ./src/functions.lisp -3 +3 M! ./src/package.lisp +3 M! ./src/strings.lisp -13 +14 M! ./src/types.lisp -36 +86
Fri Dec 23 14:53:48 EST 2005 James Bielman jamesjb@jamesjb.com * fix unused variable warnings
M ./src/types.lisp +4
Fri Dec 23 14:51:27 EST 2005 James Bielman jamesjb@jamesjb.com * specify :argument-precedence-order for translator generics
M ./examples/gettimeofday.lisp -4 +4 M ./src/package.lisp -1 M ./src/strings.lisp -6 +6 M ./src/types.lisp -7 +8
Fri Dec 23 14:41:15 EST 2005 James Bielman jamesjb@jamesjb.com * new type translator implementation
M! ./examples/gettimeofday.lisp -11 +11 M! ./src/early-types.lisp +5 M! ./src/enum.lisp -11 +4 M! ./src/foreign-vars.lisp -13 +7 M! ./src/functions.lisp -11 +13 M! ./src/package.lisp -1 +7 M! ./src/strings.lisp -21 +32 M! ./src/types.lisp -160 +140
Mon Jan 2 19:45:25 EST 2006 Luis Oliveira loliveira@common-lisp.net * load-foreign-library changes
- Pass :foreign t to LOAD on Allegro. - Use sys::load-object-file on CMUCL.
M ./src/cffi-allegro.lisp -5 +4 M ./src/cffi-cmucl.lisp -2 +2
Fri Dec 30 18:39:59 EST 2005 James Bielman jamesjb@jamesjb.com * support Allegro CL and CLISP modern modes
M ./Makefile +3 M ./TODO -3 M ./src/foreign-vars.lisp -2 +4 M ./src/functions.lisp -1 +1
Fri Dec 30 16:52:18 EST 2005 Luis Oliveira loliveira@common-lisp.net * Fix more typos in cffi-manual.
M ./doc/cffi-manual.texinfo -10 +10
Fri Dec 30 07:18:46 EST 2005 Luis Oliveira loliveira@common-lisp.net * Fix foreign-free example in the documentation.
M ./doc/cffi-manual.texinfo -1 +1
Fri Dec 30 03:18:18 EST 2005 James Bielman jamesjb@jamesjb.com * add scripts/ directory and release script
A ./scripts/ A ./scripts/release.sh
Fri Dec 30 02:43:03 EST 2005 Luis Oliveira loliveira@common-lisp.net * Fix the struct.names test and update some CLISP comments.
M ./src/cffi-clisp.lisp -6 +3 M ./tests/struct.lisp -1 +2
Wed Dec 28 18:54:27 EST 2005 Luis Oliveira loliveira@common-lisp.net * Document FOREIGN-SLOT-NAMES and FOREIGN-SLOT-OFFSET.
M ./TODO -1 +1 M ./doc/cffi-manual.texinfo -2 +95 M ./src/types.lisp -1 +1
Wed Dec 28 14:58:43 EST 2005 Luis Oliveira loliveira@common-lisp.net * FOREIGN-SLOT-NAMES and FOREIGN-SLOT-OFFSET
- New functions: FOREIGN-SLOT-NAMES and FOREIGN-SLOT-OFFSET. - Test FOREIGN-SLOT-NAMES: STRUCT.NAMES - Removed respective TODO item and added a new one: document these.
M ./TODO -1 +1 M ./src/early-types.lisp +9 M ./src/package.lisp +2 M ./src/types.lisp -5 +10 M ./tests/struct.lisp +4
Wed Dec 28 10:15:36 EST 2005 Luis Oliveira loliveira@common-lisp.net * Add some links to the TODO file.
M ./TODO -1 +4
Wed Dec 28 10:04:24 EST 2005 Luis Oliveira loliveira@common-lisp.net * New TODO list and updated README.
- New file: TODO. 46 items! - Removed the outdated paragraph about implementation support from the README file.
M ./README -4 A ./TODO
Tue Dec 27 10:47:53 EST 2005 Luis Oliveira loliveira@common-lisp.net * Fix compiler macros on foreign-slot-value/set
- foreign-struct-slot-value-form and foreign-struct-slot-set-form were not quoting the type in the resulting mem-ref form. - struct.5, regression test.
M ./src/types.lisp -2 +2 M ./tests/struct.lisp +13
Mon Dec 26 08:58:06 EST 2005 Luis Oliveira loliveira@common-lisp.net * cffi-uffi-compat:allocate-foreign-object optimization
Convert TYPE to the equivalent UFFI type at macro-expansion time when constant.
M ./uffi-compat/uffi-compat.lisp -1 +4
Mon Dec 26 08:53:22 EST 2005 Luis Oliveira loliveira@common-lisp.net * Don't save (anonymous) parsed types in *foreign-types*
Don't save parsed types in the *foreign-types* hashtable. This way they can be garbage collected and the hashtable won't grow indefinitely.
Issue reported by Novikov Leonid <ln (at) bk.ru>
M ./src/early-types.lisp -3 +1
Fri Dec 23 10:35:00 EST 2005 James Bielman jamesjb@jamesjb.com * remove bogus extra right parenthesis
M ./examples/gettimeofday.lisp -2 +2
Fri Dec 23 09:47:49 EST 2005 James Bielman jamesjb@jamesjb.com * pull out and improve some cffi examples
M ./cffi-examples.asd -1 +3 M ./examples/examples.lisp -70 +1 A ./examples/gethostname.lisp A ./examples/gettimeofday.lisp
Fri Dec 23 09:47:01 EST 2005 James Bielman jamesjb@jamesjb.com * define type translators at compile time
M ./src/types.lisp -1 +1
Fri Dec 23 08:53:21 EST 2005 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * clisp %mem-set use unexported ffi::stuff to enforce left-to-right evaluation
M ./src/cffi-clisp.lisp -5 +3
Fri Dec 23 08:14:08 EST 2005 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * more tests: verify left to right evaluation rule
M ./tests/memory.lisp +18
Fri Dec 23 08:13:05 EST 2005 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * precision of wording (offset in bytes) & typo
M ./doc/cffi-manual.texinfo -1 +1 M ./doc/cffi-sys-spec.texinfo -1 +1 M ./src/types.lisp -2 +2
Fri Dec 23 07:37:12 EST 2005 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * clisp: (setf %mem-ref) is gone, optimize %mem-set
M ./src/cffi-clisp.lisp +10
Fri Dec 23 07:35:49 EST 2005 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * with-foreign-object: optimize constant type case + use eval
M ./src/types.lisp -6 +7
Fri Dec 23 06:33:30 EST 2005 James Bielman jamesjb@jamesjb.com * inform rt of expected test failures under openmcl
M ./tests/callbacks.lisp +3 M ./tests/foreign-globals.lisp +2
Fri Dec 23 06:35:23 EST 2005 James Bielman jamesjb@jamesjb.com * macrology to OAOO definition of %MEM-REF and %MEM-SET
M ./src/cffi-cmucl.lisp -74 +42 M ./src/cffi-openmcl.lisp -94 +44 M ./src/cffi-sbcl.lisp -75 +42
Fri Dec 23 06:08:05 EST 2005 James Bielman jamesjb@jamesjb.com * export %MEM-SET from cffi-sys and use instead of (SETF %MEM-REF)
M ./src/cffi-allegro.lisp -1 +3 M ./src/cffi-clisp.lisp -1 +2 M ./src/cffi-cmucl.lisp -25 +2 M ./src/cffi-corman.lisp -1 +3 M ./src/cffi-ecl.lisp -1 +2 M ./src/cffi-gcl.lisp -1 +3 M ./src/cffi-lispworks.lisp -1 +2 M ./src/cffi-openmcl.lisp -25 +2 M ./src/cffi-sbcl.lisp -25 +2 M ./src/strings.lisp -2 +3 M ./src/types.lisp -3 +3
Fri Dec 23 04:12:03 EST 2005 Luis Oliveira loliveira@common-lisp.net * uffi-compat optimization on deref-array
Determine the element type at macro-expansion time when the array type is constant.
M ./uffi-compat/uffi-compat.lisp -3 +6
Fri Dec 23 04:11:39 EST 2005 Luis Oliveira loliveira@common-lisp.net * Free old callbacks on clisp.
M ./src/cffi-clisp.lisp +3
Fri Dec 23 05:21:06 EST 2005 Luis Oliveira loliveira@common-lisp.net * Revert brainfart. What missing value?
M ./src/types.lisp -1 +1
Fri Dec 23 05:17:48 EST 2005 Luis Oliveira loliveira@common-lisp.net * Fix conflict and missing "value". Oops.
M ./src/types.lisp -4 +4
Thu Dec 22 10:13:02 EST 2005 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * fix foreign-struct-set-form & enable foreign-slot-set optimization
M! ./src/types.lisp -8 +6
Thu Dec 22 09:19:31 EST 2005 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * clisp: inline %mem-ref when given constant type
M ./src/cffi-clisp.lisp +6
Thu Dec 22 09:15:06 EST 2005 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * fix foreign-struct-*-form thus enable foreign-slot-value optimization
M ./src/types.lisp -5 +3
Thu Dec 22 20:43:50 EST 2005 James Bielman jamesjb@jamesjb.com * fix bugs in example implementation of mem-vector functions
M ./doc/mem-vector.txt -3 +4
Thu Dec 22 14:39:04 EST 2005 Luis Oliveira loliveira@common-lisp.net * Push :cffi to *features*
M ./src/package.lisp +3
Thu Dec 22 12:01:47 EST 2005 Luis Oliveira loliveira@common-lisp.net * Make defcfun accept a docstring
M ./src/functions.lisp +1
Thu Dec 22 11:20:55 EST 2005 Luis Oliveira loliveira@common-lisp.net * Fix indentation.
M ./src/cffi-clisp.lisp -1 +1 M ./src/types.lisp -6 +6
Tue Dec 20 06:16:27 EST 2005 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * Add background info on free'ing callbacks
M ./src/cffi-clisp.lisp -1 +5
Thu Dec 15 03:56:49 EST 2005 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * cffi-clisp:%defcallback: simplify it
M ./src/cffi-clisp.lisp -9 +10
Wed Dec 14 08:39:08 EST 2005 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * foreign-slot-value|set compiler-macro update
M ./src/types.lisp -10 +9
Wed Dec 14 08:37:25 EST 2005 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * use ffi:foreign-variable in foreign-symbol-pointer
M ./src/cffi-clisp.lisp -10 +9
Fri Dec 9 12:22:37 EST 2005 Joerg-Cyril Hoehle hoehle@users.sourceforge.net * ffi:memory-as is a perfect match for %mem-ref
M ./src/cffi-clisp.lisp -8 +3
Wed Dec 21 12:02:35 EST 2005 Luis Oliveira loliveira@common-lisp.net * Make typedefs for structs work.
- Make get-slot-info (and thus foreign-slot-value) work on typedefs to a struct type. - Regression test: STRUCT.4
M ./src/types.lisp -7 +10 M ./tests/struct.lisp +11
Wed Dec 21 05:54:27 EST 2005 Luis Oliveira loliveira@common-lisp.net * Use fli:make-pointer instead of fli:*null-pointer*
Use FLI:MAKE-POINTER here instead of FLI:*NULL-POINTER* for implementing CFFI-SYS:NULL-POINTER since old versions of Lispworks don't seem to have the latter.
Patch courtesy of: Vebjorn Ljosa <vebjorn(@)ljosa.com>
M ./src/cffi-lispworks.lisp -1 +3
Mon Dec 19 23:38:49 EST 2005 Luis Oliveira loliveira@common-lisp.net * CFFI-SYS-SPEC manual updates & Texinfo idioms
Patch from: Stephen Compall s11@member.fsf.org
- Use @var for arguments, rather than @code. - Use @deftpx for a chain of type defns, rather than repeated @deftp blocks. - Use @result{} instead of explicit =>. - Use @r with appropriate formatting for comments in @examples/@lisps. [didn't apply these changes since they didn't play well with the colorize script in the HTML output --luis] - Introduction: Convert naming convention to a list of general conventions, and define "foreign type". - Rename the pointer functions. - Document new functions. - Use new @impnote macro to add notes, so they can be conditionally removed from the manual.
M ./doc/cffi-sys-spec.texinfo -101 +118
Mon Dec 19 22:58:58 EST 2005 Luis Oliveira loliveira@common-lisp.net * Forgot to export %close-foreign-library from cffi-lispworks.lisp
M ./src/cffi-lispworks.lisp +1
Thu Dec 15 10:45:26 EST 2005 Luis Oliveira loliveira@common-lisp.net * Untabify cffi-ecl.lisp
M ./src/cffi-ecl.lisp -9 +9
Thu Dec 15 04:58:34 EST 2005 Luis Oliveira loliveira@common-lisp.net * Preliminary support for close-foreign-library
Unimplemented for ECL and Corman. Lously implemented in CMUCL (and possibly in the other ports too). Not exported.
M ./src/cffi-allegro.lisp -1 +6 M ./src/cffi-clisp.lisp -1 +6 M ./src/cffi-cmucl.lisp -1 +10 M ./src/cffi-corman.lisp +4 M ./src/cffi-lispworks.lisp +4 M ./src/cffi-openmcl.lisp +5 M ./src/cffi-sbcl.lisp -1 +9 M ./src/libraries.lisp -4 +11 M ./src/package.lisp -1 +2
Wed Dec 14 06:08:39 EST 2005 Luis Oliveira loliveira@common-lisp.net * Fix parsing of types to match UFFI's behaviour
Basically, extra quoting is supposed to be ignored. Thus 'foo, ''foo, '''foo, are all valid types.
M ./uffi-compat/uffi-compat.lisp +2
Mon Dec 12 00:37:39 EST 2005 Luis Oliveira loliveira@common-lisp.net * Bug fixes
- WITH-FOREIGN-OBJECT should eval the type parameter. Fixed this as well as the examples and tests that assumed it wasn't evaluated. - document WITH-FOREIGN-OBJECT in the manual. - removed the pseudo ability to specialize arguments on define-type-translator. That didn't quite work, doh. - removed dead code from cffi-uffi-compat::foreign-type-size specialized on the uffi-array-type. - uffi-compat: parse (:array <type>) as (:array <type> 1) - uffi-compat: reflect the fact that CFFI:WITH-FOREIGN-OBJECT now evaluates the type parameter.
M ./doc/cffi-manual.texinfo -8 +30 M ./examples/examples.lisp -3 +3 M ./src/types.lisp -10 +6 M ./tests/memory.lisp -2 +2 M ./tests/struct.lisp -5 +5 M ./tests/union.lisp -1 +1 M ./uffi-compat/uffi-compat.lisp -12 +11
Sun Dec 11 05:01:02 EST 2005 Luis Oliveira loliveira@common-lisp.net * Fix uffi-compat wrt to the ptr->pointer changes
M ./uffi-compat/uffi-compat.lisp -7 +7
Sun Dec 11 01:45:57 EST 2005 Luis Oliveira loliveira@common-lisp.net * Added GETENV to uffi-compat
M ./uffi-compat/uffi-compat.lisp +16
Sun Dec 11 00:31:18 EST 2005 Luis Oliveira loliveira@common-lisp.net * Oops
- Missing comma in define-type-translator. - Also, it almost but not quite accepted the method specifiers. Fixed.
M ./src/types.lisp -1 +3
Sun Dec 11 00:22:01 EST 2005 Luis Oliveira loliveira@common-lisp.net * Type translation refactoring
- Refactoring of the type translation mechanism, now based on generic functions. The only user-visible changes is that you can now specialize the on the argument of the translator, and there's no type argument now (which was useless too for user-defined types). - Don't export define-type-spec-parser since it's useless on its own. - The anonymous :enum type is gone. - Updated manual.
M ./cffi.asd -1 M ./doc/cffi-manual.texinfo -26 +26 M ./src/early-types.lisp -30 +15 M ./src/enum.lisp -53 +29 R ./src/late-types.lisp M ./src/package.lisp -1 +2 M ./src/strings.lisp -6 +6 M ./src/types.lisp -356 +190 M ./tests/enum.lisp -8 M ./uffi-compat/uffi-compat.lisp -3 +3
Fri Dec 9 00:30:51 EST 2005 Luis Oliveira loliveira@common-lisp.net * Update manual: CMUCL passes all tests.
M ./doc/cffi-manual.texinfo -13 +3
Thu Dec 8 21:28:21 EST 2005 Luis Oliveira loliveira@common-lisp.net * Lots of renaming and 2 new functions
- Renamed: null-ptr -> null-pointer, null-ptr-p -> null-pointer, inc-ptr -> inc-pointer, with-foreign-ptr -> with-foreign-pointer, with-foreign-ptr-as-string -> with-foreign-pointer-as-string, foreign-slot-address -> foreign-slot-pointer, get-var-ptr -> get-var-pointer and foreign-symbol-ptr -> foreign-symbol-pointer. - Updated various references to the old names in the cffi code itself, examples, tests and the manual. - New functions: cffi(-sys):pointer-address and cffi(-sys):make-pointer. - Use these in uffi-compat. - Documented them in the manual. - New tests: POINTER.1 and POINTER.2
M ./doc/cffi-manual.texinfo -162 +259 M ./examples/examples.lisp -3 +3 M ./src/cffi-allegro.lisp -14 +24 M ./src/cffi-clisp.lisp -12 +22 M ./src/cffi-cmucl.lisp -15 +27 M ./src/cffi-corman.lisp -12 +22 M ./src/cffi-ecl.lisp -10 +20 M ./src/cffi-lispworks.lisp -12 +22 M ./src/cffi-openmcl.lisp -19 +29 M ./src/cffi-sbcl.lisp -12 +22 M ./src/foreign-vars.lisp -7 +7 M ./src/functions.lisp -2 +2 M ./src/package.lisp -9 +11 M ./src/strings.lisp -4 +4 M ./src/types.lisp -18 +22 M ./tests/callbacks.lisp -1 +1 M ./tests/defcfun.lisp -1 +1 M ./tests/foreign-globals.lisp -6 +6 M ./tests/funcall.lisp -7 +7 M ./tests/memory.lisp -8 +19 M ./uffi-compat/uffi-compat.lisp -10 +2
Thu Dec 8 01:58:07 EST 2005 Luis Oliveira loliveira@common-lisp.net * Remove objects.lisp (new file: late-types.lisp)
M ./cffi.asd -2 +2 A ./src/late-types.lisp R ./src/objects.lisp M ./src/types.lisp -2
Thu Dec 8 01:34:12 EST 2005 Luis Oliveira loliveira@common-lisp.net * defcunion :count option for slots
- Make the defcunion slots' count option be a keyword like defcstruct. Fix the related docs and tests.
M ./doc/cffi-manual.texinfo -4 +3 M ./src/types.lisp -1 +1 M ./tests/union.lisp -1 +1
Sun Dec 4 20:46:28 EST 2005 Luis Oliveira loliveira@common-lisp.net * Apply translations for simple slots.
- Make the foreign-slot-value method on simple-struct-slot apply the adequate type translator. Same thing for the setter. - Test this in STRUCT.STRING.1 and STRUCT.STRING.2
M ./src/types.lisp -2 +8 M ./tests/struct.lisp +18
Fri Dec 2 22:48:26 EST 2005 Luis Oliveira loliveira@common-lisp.net * Missing changes in last patch...
M ./doc/cffi-manual.texinfo -4 +29 M ./src/types.lisp -1 +1
Fri Dec 2 20:12:23 EST 2005 Luis Oliveira loliveira@common-lisp.net * Documention changes
- commented out some example structures that use unimplemented features. - documented the recent DEFCSTRUCT changes; added related example. - mention that lisps that don't support FOREIGN-FUNCALL support DEFCFUN anyway. - new example with FOREIGN-FUNCALL - fix the comments in types.lisp about ABIs. - (non doc related) make cffi-tests :use REGRESSION-TEST instead of RT.
M ./doc/cffi-manual.texinfo -35 +52 M ./src/types.lisp -3 +4 M ./tests/package.lisp -1 +1
Fri Dec 2 02:56:37 EST 2005 Luis Oliveira loliveira@common-lisp.net * makefiles, defcstruct, foreign-string-alloc/with-foreign-string
- Use variables for the lisps' paths so that one can easily pick different versions to run the tests with. eg: CMUCL=/path/to/lisp make test-cmucl - FOREIGN-STRING-ALLOC and WITH-FOREIGN-STRING: check if what we're passing as a string is actually a string. This avoids (foreign-string-alloc nil) => <pointer to empty C string> - DEFCSTRUCT now takes an optional :size option and each slot takes an optional :offset parameter that overrides the normal offset. This enables partial definitions of C structs. - The previous change forces to make the COUNT option for the slots to be a keyword option. Update the examples accordingly. - tests/Makefile: support for SunOS.
M ./Makefile -6 +14 M ./examples/examples.lisp -2 +2 M ./src/strings.lisp -3 +4 M ./src/types.lisp -24 +28 M ./tests/Makefile +7
Mon Nov 14 21:27:28 EST 2005 James Bielman jamesjb@jamesjb.com * add and export WITH-FOREIGN-STRINGS to uffi-compat
M ./uffi-compat/uffi-compat.lisp +8
Mon Nov 14 14:41:20 EST 2005 Luis Oliveira loliveira@common-lisp.net * darwin/ppc32 ABI structure alignment
- Normalize the different implementation features (:powerpc, :macos, :macosx32) into :ppc32 and :darwin. - Force Allegro, CLISP, Lispworks, SBCLto return 8 as :double's alignment on darwin/ppc32 - Correctly calculate alignments for darwin/ppc32's strange ABI. - New tests: STRUCT.ALIGNMENT.[567].
M ./src/cffi-allegro.lisp -2 +10 M ./src/cffi-clisp.lisp -3 +11 M ./src/cffi-cmucl.lisp +5 M ./src/cffi-ecl.lisp -2 +4 M ./src/cffi-lispworks.lisp -2 +8 M ./src/cffi-openmcl.lisp -8 +9 M ./src/cffi-sbcl.lisp +9 M ./src/types.lisp -12 +38 M ./tests/libtest.c -1 +80 M ./tests/struct.lisp +69
Fri Nov 4 18:21:43 EST 2005 Luis Oliveira loliveira@common-lisp.net * Manual: OpenMCL fails FOREIGN-GLOBALS.SET.LONG-LONG
M ./doc/cffi-manual.texinfo -1 +2
Fri Nov 4 18:03:05 EST 2005 Luis Oliveira loliveira@common-lisp.net * New test foreign-globals.set.long-long
M ./tests/foreign-globals.lisp -9 +20
Fri Nov 4 15:28:43 EST 2005 Luis Oliveira loliveira@common-lisp.net * Add missing information about SBCL on linux/ppc
M ./doc/cffi-manual.texinfo -2 +6
Fri Nov 4 15:05:31 EST 2005 Luis Oliveira loliveira@common-lisp.net * Add information about linux/ppc to the manual.
M ./doc/cffi-manual.texinfo -6 +12
Fri Nov 4 07:16:05 EST 2005 Luis Oliveira loliveira@common-lisp.net * pointer-address was exported twice from cffi-uffi-compatt
M ./uffi-compat/uffi-compat.lisp -1
Fri Nov 4 05:13:58 EST 2005 Luis Oliveira loliveira@common-lisp.net * uffi-compat fixes
- Implement uffi:make-pointer and export uffi:pointer-address.
M ./uffi-compat/uffi-compat.lisp -8 +29
Thu Nov 3 08:32:45 EST 2005 Luis Oliveira loliveira@common-lisp.net * Export foreign-library-types from cffi-uffi-compat
M ./uffi-compat/uffi-compat.lisp +1
Wed Nov 2 15:36:13 EST 2005 Luis Oliveira loliveira@common-lisp.net * Support for the (unsigned) long long type.
- New CFFI primitive types :unsigned-long-long and :long-long. - Implemented in the following backends: OpenMCL, SBCL and CMUCL. - Implementations that don't support long long push :cffi/no-long-long into *features*: Allegro, CLISP, Corman, ECL and Lispworks. - New tests: FOREIGN-GLOBALS.REF.LONG-LONG, FOREIGN-GLOBALS.REF.UNSIGNED-LONG-LONG, FUNCALL.LONG-LONG, CALLBACKS.LONG-LONG, CALLBACKS.UNSIGNED-LONG-LONG and DEFCFUN.LONG-LONG. - libtest.c is now compiled with -std=c99 instead of -ansi. - Add information about the new type in the manual and Mention known issues in the various implementations.
M ./doc/cffi-manual.texinfo -8 +41 M ./src/cffi-allegro.lisp +4 M ./src/cffi-clisp.lisp -1 +7 M ./src/cffi-cmucl.lisp -12 +22 M ./src/cffi-corman.lisp -1 +2 M ./src/cffi-ecl.lisp +4 M ./src/cffi-lispworks.lisp -1 +2 M ./src/cffi-openmcl.lisp -12 +23 M ./src/cffi-sbcl.lisp -12 +23 M ./src/types.lisp +5 M ./tests/Makefile -3 +3 M ./tests/callbacks.lisp +25 M ./tests/defcfun.lisp +10 M ./tests/foreign-globals.lisp +15 M ./tests/funcall.lisp +5 M ./tests/libtest.c -15 +31
Wed Nov 2 10:34:16 EST 2005 Luis Oliveira loliveira@common-lisp.net * Light reformating of the ECL changes to fit 80 columns.
M ./src/cffi-ecl.lisp -4 +9
Wed Nov 2 10:32:20 EST 2005 Luis Oliveira loliveira@common-lisp.net * New chapter: Implementation support and known issues.
M ./doc/cffi-manual.texinfo -15 +147
Thu Oct 27 10:39:48 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Updated ECL support
- Updated cffi-ecl.lisp, courtesy of Michael Goffioul. (Includes some ECL specific workarounds in the portable bits of CFFI.)
M ./cffi-tests.asd +3 M ./src/cffi-ecl.lisp -10 +50 M ./src/types.lisp -5 +11 M ./tests/bindings.lisp +4 M ./tests/callbacks.lisp -1 M ./tests/run-tests.lisp -1 +1
Thu Oct 27 10:28:55 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Fix memory leak in test FOREIGN-GLOBALS.REF.STRING
M ./tests/foreign-globals.lisp -1 +3
Tue Oct 11 08:33:57 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Makefile tweak for 64-bit platforms
- x86-64 support courtesy Juho Snellman. - G5 support courtesy Bryan O'Connor.
M ./tests/Makefile +11
Thu Oct 6 20:32:51 EDT 2005 Luis Oliveira loliveira@common-lisp.net * cffi-openmcl 64-bit patches
- Port to openmcl darwin/ppc64, courtesy Gary Byers.
M ./src/cffi-openmcl.lisp -10 +32
Wed Oct 5 20:13:47 EDT 2005 Luis Oliveira loliveira@common-lisp.net * 64-bit enhancements for OpenMCL
- Use the :int instead of :signed-fullword, etc..
M ./src/cffi-openmcl.lisp -8 +6
Mon Oct 3 10:20:16 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Fixed bug in uffi-compat, added new type.
- make the uffi-array-type be aggregate. (hopefully this didn't break uses of this type in other situations) - add uffi's :struct-pointer type. (not well tested, but passes all tests from uffi's regression suite)
M ./uffi-compat/uffi-compat.lisp -5 +16
Sun Oct 2 08:24:16 EDT 2005 Luis Oliveira loliveira@common-lisp.net * pointer-eq and bug fixes
- New CFFI-SYS primitive: POINTER-EQ. Implemented for all Lisps except ECL and GCL. Exported it from the CFFI package. - Added POINTER-EQ to the user manual. - Bug fix: dereferencing an aggregate type should return a pointer to it, not dereference it as a :pointer. - Bug fix: mem-aref setf expander was returning a bogus getter (mem-ref instead of mem-aref). - Two regressions tests for the bugs above: DEREF.AGGREGATE and DEREF.ARRAY-OF-AGGREGATES.
M ./doc/cffi-manual.texinfo +48 M ./src/cffi-allegro.lisp +5 M ./src/cffi-clisp.lisp +6 M ./src/cffi-cmucl.lisp +6 M ./src/cffi-corman.lisp +5 M ./src/cffi-lispworks.lisp +5 M ./src/cffi-openmcl.lisp +5 M ./src/cffi-sbcl.lisp +5 M ./src/package.lisp +1 M ./src/types.lisp -9 +16 M ./tests/memory.lisp +25
Mon Sep 26 19:41:41 EDT 2005 Luis Oliveira loliveira@common-lisp.net * New test: void callback
M ./tests/callbacks.lisp +15 M ./tests/libtest.c +7
Sun Sep 25 15:36:02 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Fixed bogus getters in setf expanders.
Bug report and initial bugfixes courtesy of Marco Gidde.
- fixed setf expanders for mem-ref, mem-aref, and foreign-slot-value. (also mem-aref was evaluating the type argument twice) - likewise fixed cmucl's, openmcl's and sbcl's setf expanders for %mem-ref. - regression tests: mem-aref.eval-type-x2, mem-ref.nested, mem-aref.nested and struct.nested-setf.
M ./src/cffi-cmucl.lisp -8 +16 M ./src/cffi-openmcl.lisp -8 +16 M ./src/cffi-sbcl.lisp -8 +16 M ./src/types.lisp -32 +71 M ./tests/memory.lisp -1 +30 M ./tests/struct.lisp +18
Sun Sep 25 00:42:42 EDT 2005 Luis Oliveira loliveira@common-lisp.net * load-foreign-library
- extend load-foreign-library to accept a pathname as an argument. - change tests/bindings.lisp to pass a pathname.
M ./src/libraries.lisp -1 +4 M ./tests/bindings.lisp -1 +1
Sat Sep 24 16:13:05 EDT 2005 Luis Oliveira loliveira@common-lisp.net * foreign-symbol-ptr and defcvar, etc..
- defcvar's expansion will now lookup the foreign symbol at runtime. get-var-ptr too. - Changed a few implementations to return NIL when foreign symbol doesn't exist (instead of, say, raising an error): clisp, cmucl, lispworks and sbcl. - Exported foreign-symbol-ptr from the CFFI package and added it to the user manual. - Also added missing word to foreign-free's description. - Fixed typo in cffi-corman-lisp.
M ./doc/cffi-manual.texinfo -3 +59 M ./src/cffi-allegro.lisp -1 +1 M ./src/cffi-clisp.lisp -9 +14 M ./src/cffi-cmucl.lisp -1 +1 M ./src/cffi-corman.lisp -1 +1 M ./src/cffi-lispworks.lisp -1 +1 M ./src/cffi-sbcl.lisp -2 +5 M ./src/foreign-vars.lisp -6 +19 M ./src/package.lisp -1 +3
Sat Sep 24 16:01:46 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Support for my asdf setup.
Well, support for asdf setups that don't put fasl files next to the source files. The Makefile will delete the .fasls directories on make clean (that's where my setup puts the fasls) and bindings.lisp will save the shared library's location at compile-time.
M ./Makefile +1 M ./tests/bindings.lisp -1 +4
Tue Sep 20 13:35:32 EDT 2005 Luis Oliveira loliveira@common-lisp.net * foreign-symbol-ptr
- new cffi-sys primitive: foreign-symbol-ptr (still needs semantics to be defined when dealing with undefined foreign symbols) - defcvar now uses this /at load-time/.
M ./src/cffi-allegro.lisp -15 +6 M ./src/cffi-clisp.lisp -9 +14 M ./src/cffi-cmucl.lisp -4 +5 M ./src/cffi-corman.lisp -12 +14 M ./src/cffi-lispworks.lisp -4 +6 M ./src/cffi-openmcl.lisp -4 +6 M ./src/cffi-sbcl.lisp -5 +6 M ./src/foreign-vars.lisp -3 +5
Thu Sep 15 20:47:00 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Don't free lisp allocated memory on the C side.
M ./tests/libtest.c -1 +3
Thu Sep 15 10:22:38 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Fix bug with arrays in uffi-compat.
M ./uffi-compat/uffi-compat.lisp -2 +2
Thu Sep 15 00:34:23 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Corman Lisp update and note added to the manual.
- Added note to the User Manual that it reflects what's in cffi-luis, not the main branch. - Updated cffi-corman.lisp and fixed a critical bug. Now only 7 tests fail.
M ./doc/cffi-manual.texinfo +3 M ./src/cffi-corman.lisp -27 +33
Wed Sep 14 21:30:27 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Removed test, tweaked tests/Makefile
- Commented out the test STRUCT.ALIGNMENT.5 because an empty struct is not valid standard C and some compilers, namely VC++, won't compile it. - Add -ansi -pedantic to the compiler flags to catch things like this sooner next time.
M ./tests/Makefile -3 +3 M ./tests/libtest.c -1 +7 M ./tests/struct.lisp -5 +10
Wed Sep 14 20:14:14 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Missing DLLEXPORTs in libtest.c
M ./tests/libtest.c +2
Wed Sep 14 16:32:04 EDT 2005 Luis Oliveira loliveira@common-lisp.net * make clean -> rm *.fsl too.
M ./Makefile -1 +1
Tue Sep 13 20:25:07 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Documentation and new test
- Added detailed node listing to the User Manual. - New regression test: WITH-FOREIGN-PTR.EVALX2 (checks if the size argument is not evaluated twice by mistake) - Also removed an old comment-out test function from cffi-lispworks.lisp
M ./doc/cffi-manual.texinfo -1 +80 M ./src/cffi-lispworks.lisp -5 M ./tests/memory.lisp +9
Tue Sep 13 01:40:15 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Changes to callbacks.
- Renamed make-callback to %defcallback and shifted the responsability of storing the address in the callback-ptr property to the cffi-sys backend. Previously in allegro and lispworks the host ffi's callback definitions were non toplevel, which is probably not right. - Use gensyms instead of callback-symbol-name (removed that function from utils.lisp)
M ./src/cffi-allegro.lisp -5 +6 M ./src/cffi-clisp.lisp -15 +15 M ./src/cffi-cmucl.lisp -7 +8 M ./src/cffi-lispworks.lisp -5 +6 M ./src/cffi-openmcl.lisp -9 +10 M ./src/cffi-sbcl.lisp -1 +11 M ./src/functions.lisp -15 +14 M ./src/utils.lisp -12 +1
Mon Sep 12 02:52:52 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Stack allocation in cffi-lispworks and tweak to run-tests
- Lispworks's with-foreign-ptr stack allocates again. - run-tests now asks if we want to run the tests several times.
M ./src/cffi-lispworks.lisp -10 +4 M ./tests/run-tests.lisp -5 +10
Sun Sep 11 23:10:53 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Fixed bug in cffi-lispworks
- foreign-alloc now uses type :byte. - make-callback specifies more options to define-foreign-callable.
M ./src/cffi-lispworks.lisp -13 +10
Thu Sep 8 21:00:22 EDT 2005 Luis Oliveira loliveira@common-lisp.net * foreign-alloc and uffi-compat
- removed foreign-object-alloc, added cffi:foreign-alloc with new options (including the functionality foreign-object-alloc provided). - renamed the cffi-sys:foreign-alloc's to cffi-sys:%foreign-alloc. - updated respective documentation. - improved mem-aref's documentation including new examples. - fixed with buf with lisp-string-to-foreign not handling empty strings correctly. added regression test. - fixed translate-to-c and translate-from-c (not exported yet) - fixed uffi-compat bugs, implemented all operators (including a bunch that aren't documented in UFFI's manual) except a foreign-string-length which is weird and not used anywhere. - added "UFFI" as a nickname for the cffi-uffi-compat package.
M ./doc/cffi-manual.texinfo -15 +84 M ./src/cffi-allegro.lisp -2 +2 M ./src/cffi-clisp.lisp -2 +2 M ./src/cffi-cmucl.lisp -3 +3 M ./src/cffi-corman.lisp -2 +2 M ./src/cffi-gcl.lisp -2 +2 M ./src/cffi-lispworks.lisp -3 +3 M ./src/cffi-openmcl.lisp -2 +2 M ./src/cffi-sbcl.lisp -3 +3 M ./src/package.lisp -2 M ./src/strings.lisp -5 +6 M ./src/types.lisp -11 +47 M ./tests/memory.lisp +9 M ./uffi-compat/uffi-compat.lisp -46 +336
Thu Sep 8 02:12:53 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Fixed Allegro warning, removed #-sbcl from callback test
- Don't use call-direct on functions with 0 arguments. - Added a regression test for this and a test to see what void functions return. (the latter will probably fail on some ports) - SBCL has fixed the callback bug in version 0.9.4.11, removed the #-sbcl before the test that was triggering the bug.
M ./src/cffi-allegro.lisp -1 +2 M ./tests/callbacks.lisp -1 M ./tests/defcfun.lisp +17 M ./tests/libtest.c +14
Wed Sep 7 01:31:19 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Handle empty structures gracefully
- Fixed notice-foreign-structure-definition to handle empty struct definitions correctly. - Added new test for this: STRUCT.ALIGNMENT.5
M ./src/types.lisp -2 +1 M ./tests/libtest.c +11 M ./tests/struct.lisp +14
Fri Sep 2 03:57:50 EDT 2005 Luis Oliveira loliveira@common-lisp.net * CFFI User Manual update.
M ./doc/cffi-manual.texinfo -49 +275
Fri Sep 2 00:40:50 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Fix struct bug, defcvar bug and tweaked bindings.lisp
- defcvar now works (more) correctly with aggregate types. - struct types now carry alignment information which is now correctly calculated (for unions too) according to the x86 ABI (tested on darwin/ppc too, but should study other ABI docs at some point). - also tail padding is now correctly added to structs, when necessary. (also according to the x86 ABI). - 4 new tests for this struct bug (reported by Wilco Greven). - tweaked tests/bindings.lisp to correctly load the library on Lispworks and to make it more portable across win/nix/etc..
M ./src/early-types.lisp -1 +8 M ./src/foreign-vars.lisp -4 +10 M ./src/types.lisp -10 +37 M ./tests/bindings.lisp -3 +5 M ./tests/libtest.c +79 M ./tests/struct.lisp +86
Thu Sep 1 03:36:04 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Slight change to defcenum to make Corman Lisp happier.
M ./src/enum.lisp -3 +4
Wed Aug 31 02:46:45 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Well, lets support MINGW too. Tweaked the Makefile a bit to support MINGW too.
M ./tests/Makefile +6
Wed Aug 31 02:30:13 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Win32 tweaks to the test library...
... in order to work with the MSVC++ free toolkit.
- correctly load the test library. - and __declspec(dllexport) to the test library functions - implement a strdup, used in 2 tests - added a compile.bat, the free toolkit doesn't seem to have nmake. Also, I don't know how to make ASDF automatically compile the lib under win32 like I did for *nix.
M ./tests/Makefile -1 +1 M ./tests/bindings.lisp -2 +5 A ./tests/compile.bat M ./tests/libtest.c -13 +48 M ./tests/misc-types.lisp -2 +3
Tue Aug 30 22:23:58 EDT 2005 Luis Oliveira loliveira@common-lisp.net * %foreign-funcall-ptr and small fixes
- New CFFI-SYS operator: %foreign-funcall-ptr. Implemented for Allegro, CLISP, CMUCL, SBCL and OpenMCL. - foreign-funcall can now take either a string or a pointer as its first argument. It'll decide at macroexpansion time whether to call %foreign-funcall or %foreign-funcall-ptr. - Updated foreign-funcall's documentation. - Allegro tweaks: fix the lisp-type specification of (* :void) pointers and :unsigned-char's. In the future, it might be better to simply not specify anything were not necessary, though. - Fixed silly bug in foreign-vars.lisp.
M ./doc/cffi-manual.texinfo -3 +3 M ./src/cffi-allegro.lisp -2 +19 M ./src/cffi-clisp.lisp +13 M ./src/cffi-cmucl.lisp +9 M ./src/cffi-openmcl.lisp +4 M ./src/cffi-sbcl.lisp -1 +10 M ./src/foreign-vars.lisp -1 +1 M ./src/functions.lisp -4 +7
Mon Aug 29 22:59:06 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Documentation, bug fixes and tweaks
Bug fixes / tweaks: - fixed typo in foreign-enum-value. - defcenum: renamed argument, allow a docstring. - defcvar and defcfun: also accept symbols as names. - defcvar: added (declare (ignore value)) when read-only is true. - foreign-funcall: fixed bug; premature canonicalization of the return-type. added regression test for this. - defcfun and defcallback: use the make-gensym-list utility - defcallback: return the callback name; - strings.lisp: fixed the docstrings for the :string translators; - mem-aref: fixed bug/typo in its setf-expander; added regression test for this. - defcstruct and defcunion: allow a docstring. - new tests: callbacks.qsort and funcall.string.3
Documentation: - New file doc/Makefile for generating docs and uploading them to c-l.net. - Added every cffi function/macro that is currently exported. documented half of them or so. - colorize-lisp-examples.lisp: little script to colorize the examples in the texinfo-generated html docs. - gendocs.sh: generate the docs in various formats as well as an index page from gendocs_template. - further tweaks to doc/style.css.
./doc/manual.texinfo -> ./doc/cffi-manual.texinfo ./doc/spec.texinfo -> ./doc/cffi-sys-spec.texinfo A ./doc/Makefile M ./doc/cffi-manual.texinfo -179 +1804 A ./doc/colorize-lisp-examples.lisp A ./doc/gendocs.sh A ./doc/gendocs_template M ./doc/style.css +34 M ./src/enum.lisp -3 +4 M ./src/foreign-vars.lisp -3 +9 M ./src/functions.lisp -15 +19 M ./src/strings.lisp -3 +3 M ./src/types.lisp -1 +3 M ./tests/callbacks.lisp +25 M ./tests/funcall.lisp +7
Sat Aug 27 04:09:00 EDT 2005 Luis Oliveira loliveira@common-lisp.net * More oops.
- clisp: foreign-address-null is deprecated. - types: fixed bug, regarding expanders + anonymous types. - added documentation to the :boolean type
M ./src/cffi-clisp.lisp -1 +1 M ./src/early-types.lisp -1 +3 M ./src/objects.lisp +1 M ./src/types.lisp -1 +1
Fri Aug 26 23:01:27 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Oops
- Forgot to add new file objects.lisp in last patch. - Bogus type got sent by mistake in early-types.lisp - Make DEFINE-FOREIGN-TYPE return the type name.
M ./src/early-types.lisp -19 A ./src/objects.lisp M ./src/types.lisp -1 +2
Fri Aug 26 10:47:08 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Type system improvements and more.
- New tests: tests/enums.lisp (4 tests) and tests/misc-types.lisp (3 tests). - New file: objects.lisp, skeleton of the safe typed pointer interface. I also added a :boolean type here, it's looking for a better home still. - (early-types.lisp): type parsers, DEFINE-TYPE-SPEC-PARSER and PARSE-TYPE. Added abbility to have anonymous types (ie. a name is no longer required for FOREIGN-TYPE). Moved DEFCTYPE to types.lisp. - (enum.lisp): improved DEFCENUM, the values for each keyword are now optional, like in C. Added the anonymous type (:enum ...) - (types.lisp): - Renamed :TO-C-ARG to :TO-C-DYNAMIC. - Renamed FOREIGN-AREF to MEM-AREF and implemented compiler macros for it. - New exported macro: DEFINE-FOREIGN-TYPE for parameterized types. - Change DEFINE-TYPE-TRANSLATOR back to the previous interface, translators take a type argument now and we have translators available at runtime now too. - FOREIGN-TYPEDEF's now inherit their parent type's translators. - New :wrapper type, for anonymous typedefs with translators. - (strings.lisp): Renamed string to :string. Added new type, :string+ptr. - (utils.lisp): renamed let-if to bif. - (tests/callbacks.lisp): two tests were not being run for SBCL because I thought it triggered a bug but it's actually only one that triggers the bug. Fixed that. - Updated examples and tests to use :string instead of string.
M ./cffi-tests.asd -1 +3 M ./cffi.asd -1 +2 M ./examples/examples.lisp -3 +3 M ./src/early-types.lisp -30 +111 M ./src/enum.lisp -40 +87 M ./src/functions.lisp -18 +3 M ./src/package.lisp -1 +3 M ./src/strings.lisp -9 +45 M ./src/types.lisp -63 +401 M ./src/utils.lisp -3 +4 M ./tests/callbacks.lisp -5 +2 M ./tests/defcfun.lisp -4 +4 A ./tests/enum.lisp M ./tests/foreign-globals.lisp -1 +1 M ./tests/funcall.lisp -9 +9 M ./tests/libtest.c +52 A ./tests/misc-types.lisp M ./tests/union.lisp -1 +1
Sun Aug 21 09:35:13 EDT 2005 Luis Oliveira loliveira@common-lisp.net * A couple of minor changes.
- Move #-cffi/no-foreign-funcall from cffi-tests.asd to tests/funcall.lisp and have the lisps that don't support this push the feature in cffi-<lisp>.lisp instead of defpackage. - New file: utils.lisp - Make Allegro, CMUCL, Corman and OpenMCL use callback-symbol-name (from cffi-utils) to safely intern callback symbol names (James) - Clisp: consider (pointerp NIL) => T
M ./cffi-tests.asd -1 +1 M ./cffi.asd -1 +2 M ./src/cffi-allegro.lisp -2 +2 M ./src/cffi-clisp.lisp -1 +1 M ./src/cffi-cmucl.lisp -2 +2 M ./src/cffi-corman.lisp -2 +6 M ./src/cffi-gcl.lisp -2 +4 M ./src/cffi-lispworks.lisp +4 M ./src/cffi-openmcl.lisp -2 +2 M ./src/package.lisp -8 +1 A ./src/utils.lisp M ./tests/funcall.lisp +6
Thu Aug 11 00:43:53 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Clisp: use FOREIGN-ADDRESS-NULL in NULL-PTR-P
M ./src/cffi-clisp.lisp -5 +2
Tue Aug 9 21:00:07 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Lispworks: use :byte for cffi's :char types
M ./src/cffi-lispworks.lisp -4 +2
Sat Aug 6 00:11:19 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Broken "support" for GCL.
- Basic pointer operations and memory access is working. - Calling foreign functions too, probably, untested.
A ./src/cffi-gcl.lisp
Sat Aug 6 00:00:43 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Initial support for Corman Lisp.
- A few bugs and issues left, fails 5 tests. (the tests won't run automatically because Corman Lisp binds *load-truename* to NIL, so the code in tests/bindings.lisp doesn't find the C test library).
M ./cffi.asd -9 +9 A ./src/cffi-corman.lisp
Fri Aug 5 15:38:44 EDT 2005 Luis Oliveira loliveira@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.
M ./src/functions.lisp -2 +3 M ./tests/Makefile -2 +2 M ./tests/defcfun.lisp -2 +2 M ./tests/funcall.lisp -1 +1
Fri Aug 5 15:36:58 EDT 2005 Luis Oliveira loliveira@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.
M ./src/cffi-sbcl.lisp -1 +8
Fri Aug 5 15:34:17 EDT 2005 Luis Oliveira loliveira@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.
M ./src/cffi-allegro.lisp -3 +2 M ./src/cffi-lispworks.lisp -8 +2 M ./src/functions.lisp -2 +3
Fri Aug 5 15:26:31 EDT 2005 Luis Oliveira loliveira@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.
M ./src/foreign-vars.lisp -9 +22 M ./tests/foreign-globals.lisp -5 +83
Fri Aug 5 15:19:02 EDT 2005 Luis Oliveira loliveira@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.
M ./src/cffi-lispworks.lisp -16 +28
Fri Aug 5 15:14:54 EDT 2005 Luis Oliveira loliveira@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.
M ./src/cffi-allegro.lisp -6 +3
Fri Aug 5 14:59:15 EDT 2005 Luis Oliveira loliveira@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.
M ./cffi-tests.asd +1 M ./src/cffi-allegro.lisp -1 +18 M ./src/cffi-clisp.lisp -1 +21 M ./src/cffi-cmucl.lisp -1 +14 M ./src/cffi-lispworks.lisp -2 +17 M ./src/cffi-openmcl.lisp -1 +13 M ./src/cffi-sbcl.lisp -1 +12 M ./src/functions.lisp -1 +34 M ./src/package.lisp +5 A ./tests/callbacks.lisp M ./tests/libtest.c -1 +98
Fri Aug 5 14:45:09 EDT 2005 Luis Oliveira loliveira@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.
M ./src/functions.lisp -2 +2 M ./src/strings.lisp -13 +9 M ./src/types.lisp -27 +29
Fri Aug 5 14:36:31 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Minor simplification to test-op in cffi-tests.asd
M ./cffi-tests.asd -2 +1
Thu Aug 4 00:38:27 EDT 2005 Luis Oliveira loliveira@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. * Don't run the funcall tests when #+cffi/no-foreign-funcall * Unexport foreign-var-ptr, it's meant to be used by defcvar only.
M ./cffi-tests.asd -1 +1 M ./src/package.lisp -2 +9
Tue Aug 2 20:29:35 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Use fboundp instead of find-symbol to define default defcfun helper.
M ./src/functions.lisp -1 +3
Mon Aug 1 22:16:38 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Bugfix: clisp converts NULL to NIL
Added workaround in the pointer operations because of this. Also added test: deref.pointer.null
M ./src/cffi-clisp.lisp -2 +7 M ./tests/memory.lisp -1 +6
Sat Jul 30 12:03:28 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Convert docs to Texinfo format.
R ./doc/cffi-sys-specification.html R ./doc/manual.html A ./doc/manual.texinfo A ./doc/spec.texinfo A ./doc/style.css
Wed Jul 13 18:42:59 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Rename DEFCFUN-HELPER to DEFCFUN-HELPER-FORMS.
M ./src/cffi-allegro.lisp -3 +3 M ./src/cffi-lispworks.lisp -2 +3 M ./src/functions.lisp -6 +5
Mon Jul 11 02:16:11 EDT 2005 Luis Oliveira loliveira@common-lisp.net * parse-c-type on load-time
M ./src/cffi-clisp.lisp -1 +1
Mon Jul 11 01:29:29 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Bug fix. Forgot to canonicalize the return type (and added test)
M ./src/functions.lisp -2 +4 M ./tests/defcfun.lisp -1 +7
Mon Jul 11 00:57:38 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Add in-package :cl-user to tests/package.lisp
M ./tests/package.lisp +2
Mon Jul 11 00:53:25 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Implement DEFCFUN-HELPER idea.
- cffi-sys implementations can now define a defcfun-helper function that returns two forms, a prelude and a caller. (todo: explain this better in the code/doc) - changed foreign-funcall-1 to translate-objects (also todo: document translate-objects)
M ./src/functions.lisp -37 +70
Mon Jul 11 00:51:36 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Implement FOREIGN-VAR-PTR and DEFCFUN-HELPER (thus DEFCFUN) for Lispworks.
M ./src/cffi-lispworks.lisp -1 +38
Mon Jul 11 00:49:34 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Make foreign-var-ptr a macro, make DEFCVAR type a normal arg
M ./src/cffi-clisp.lisp -8 +6 M ./src/cffi-cmucl.lisp -3 +3 M ./src/cffi-openmcl.lisp -3 +3 M ./src/cffi-sbcl.lisp -3 +3 M ./src/foreign-vars.lisp -1 +1 M ./tests/foreign-globals.lisp -3 +1
Mon Jul 11 00:47:13 EDT 2005 Luis Oliveira loliveira@common-lisp.net * New DEFCFUN tests based on the FUNCALL tests.
M ./cffi-tests.asd +1 A ./tests/defcfun.lisp
Mon Jul 11 00:38:51 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Update port for Allegro.
- cleaned up the code/comments - doh, use ff:with-stack-object in with-foreign-ptr - convert-foreign-type takes a context argument because system::ff-funcall (and ff:def-foreign-call) want :foreign-address instead of '(* :void) - better way of geting the alignment - defcfun-helper, using ff:def-foreign-call - changed foreign-var-ptr to be a macro
This still needs some more cleaning up :-) Ah and this patch probably depends on the patches to DEFCFUN and DEFCVAR.
M ./src/cffi-allegro.lisp -61 +97
Mon Jul 11 00:37:29 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Make test depend on test-clisp and not on test-allegro
M ./Makefile -1 +1
Mon Jul 11 00:36:43 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Pass -q switch to clisp in Makefile
M ./Makefile -1 +1
Sun Jul 10 22:20:20 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Some notes about Allegro's internals.
A ./doc/allegro-internals.txt
Wed Jul 6 20:51:06 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Add (in-package #:cl-user) to package.lisp
M ./src/package.lisp +2
Tue Jul 5 18:34:18 EDT 2005 James Bielman jamesjb@jamesjb.com * use WITH-PINNED-OBJECTS instead of WITHOUT-GCING on SBCL
M ./src/cffi-sbcl.lisp -3 +5
Tue Jul 5 15:38:28 EDT 2005 James Bielman jamesjb@jamesjb.com * use SYSTEM-AREA-POINTER for :pointer like CMU CL
M ./src/cffi-sbcl.lisp -4 +2
Tue Jul 5 12:43:50 EDT 2005 James Bielman jamesjb@jamesjb.com * use low-level interface for memory access on ecl
M ./src/cffi-ecl.lisp -12 +6
Tue Jul 5 09:50:52 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Fix conflict?
M ./cffi.asd -1 +3
Tue Jul 5 07:01:00 EDT 2005 James Bielman jamesjb@jamesjb.com * life is officially grand
M ./src/cffi-ecl.lisp -1
Tue Jul 5 04:38:00 EDT 2005 James Bielman jamesjb@jamesjb.com * fix misplaced comment in ecl backend
M ./src/cffi-ecl.lisp -2 +1
Tue Jul 5 03:53:24 EDT 2005 James Bielman jamesjb@jamesjb.com * implement ecl backend
M! ./cffi.asd -2 +1 A! ./src/cffi-ecl.lisp
Mon Jul 4 22:52:45 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Add convert-external-name to cffi-allegro.lisp
M ./src/cffi-allegro.lisp -3 +7
Mon Jul 4 20:29:35 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Preliminary port to Allegro CL
M ./Makefile -1 +4 M ./cffi.asd -1 +2 A ./src/cffi-allegro.lisp M ./tests/run-tests.lisp +4
Sun Jul 3 23:16:09 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Preliminary foreign variables for cmucl/sbcl/openmcl/clisp
M ./cffi-tests.asd -1 +26 M ./cffi.asd -1 +2 M ./src/cffi-clisp.lisp -1 +13 M ./src/cffi-cmucl.lisp -1 +7 M ./src/cffi-openmcl.lisp -3 +9 M ./src/cffi-sbcl.lisp -1 +7 A ./src/foreign-vars.lisp M ./src/package.lisp -1 +6 M ./tests/Makefile -1 +4 A ./tests/bindings.lisp A ./tests/foreign-globals.lisp A ./tests/libtest.c
Sat Jul 2 21:38:32 EDT 2005 Luis Oliveira loliveira@common-lisp.net * Export pointerp from cffi-sys (openmcl)
M ./src/cffi-openmcl.lisp +1
Mon Jun 27 14:49:29 EDT 2005 jbielman * Change &KEYWORD back to &OPTIONAL in MEM-VECTOR interface.
M ./doc/mem-vector.txt -5 +5
Thu Jun 23 01:51:50 EDT 2005 jbielman * Fix comment typo.
M ./src/types.lisp -1 +1
Thu Jun 23 01:44:22 EDT 2005 jbielman * Add some commentary about the how to implement UFFI Add some commentary about the how to implement UFFI array types and unions correctly.
M ./uffi-compat/uffi-compat.lisp -3 +18
Wed Jun 22 20:13:11 EDT 2005 jbielman * Add basic tests for foreign structures.
M ./cffi-tests.asd +1 M ./tests/union.lisp -2
Mon Jun 13 23:35:43 EDT 2005 jbielman * Add a simple test for foreign unions.
M ./tests/union.lisp +11
Mon Jun 13 23:31:13 EDT 2005 jbielman * Add support for foreign unions and a file for their unit tests.
M ./cffi-tests.asd -1 +2 M ./src/package.lisp +1 M ./src/types.lisp +24 M ./tests/union.lisp -9
Mon Jun 13 22:23:18 EDT 2005 jbielman * Add more unit tests for dereferencing unsigned integers and floats.
M ./tests/memory.lisp -7 +68
Mon Jun 13 10:17:01 EDT 2005 jbielman * Update supported implementations in README.
M ./README -5 +3
Mon Jun 13 09:27:18 EDT 2005 jbielman * Reorder the documentation for MAKE-SHAREABLE-BYTE-VECTOR to make sense.
M ./doc/shareable-vectors.txt -3 +3
Mon Jun 13 09:18:34 EDT 2005 jbielman * Describe MAKE-SHAREABLE-BYTE-VECTOR a little.
M ./doc/shareable-vectors.txt +3
Mon Jun 13 06:56:29 EDT 2005 jbielman * Add proposed shareable byte vector interface.
M ./doc/shareable-vectors.txt -3
Mon Jun 13 05:56:58 EDT 2005 jbielman * Add initial specification of proposed block memory operations.
M ./doc/mem-vector.txt -5 +5
Mon Jun 13 05:56:32 EDT 2005 jbielman * Add a (not-yet-working) example of complex aggregate struct slot access.
M ./examples/examples.lisp +15
Mon Jun 13 05:46:08 EDT 2005 jbielman * Fresh-line before printing the header when running tests.
M ./tests/run-tests.lisp -1 +2
Mon Jun 13 05:45:03 EDT 2005 jbielman * Define and export FOREIGN-SLOT-ADDRESS.
M ./src/package.lisp +1 M ./src/types.lisp +4
Sun Jun 12 05:13:27 EDT 2005 jbielman * First implementation of embedded structures and arrays, still needs tests.
M ./examples/examples.lisp +7 M ./src/types.lisp -44 +99
Sun Jun 12 04:36:15 EDT 2005 jbielman * Remove obsolete file.
R ./doc/outline.txt
Sun Jun 12 04:33:48 EDT 2005 jbielman * Don't bother trying to define FFI:FOREIGN-VARIABLE in CLISP 2.33.2 and Don't bother trying to define FFI:FOREIGN-VARIABLE in CLISP 2.33.2 and earlier as there is no hope of supporting it anyway.
M ./src/cffi-clisp.lisp -19 +2
Sun Jun 12 04:28:25 EDT 2005 jbielman * Fix typo in method definitions of AGGREGATEP.
M ./src/early-types.lisp -2 +2
Sun Jun 12 04:27:08 EDT 2005 jbielman * Very preliminary Lispworks support. Very preliminary Lispworks support. Calling foreign functions is not implemented, and will probably require vendor support as a necessary primitive does not seem to be exported.
M ./cffi.asd -5 +6 M ./tests/package.lisp -1 +1
Sun Jun 12 04:25:16 EDT 2005 jbielman * Initialize foreign strings to empty in case the foreign function Initialize foreign strings to empty in case the foreign function calling mechanism doesn't work. Prevents the Lisp from running off trying to convert MOST-POSITIVE-FIXNUM bytes into a string.
M ./tests/funcall.lisp +6
Sun Jun 12 04:23:51 EDT 2005 jbielman * Fairly major cleanup to the foreign type system: Fairly major cleanup to the foreign type system: * All foreign types at the CFFI user level are now represented by CLOS instances. In particular, there is a FOREIGN-BUILT-IN-TYPE class that represents a built-in type keyword understood by CFFI-SYS. * Canonicalization, size, and alignment of foreign types is now handled via generic functions defined on each type class. * FOREIGN-ENUM is now a subclass of FOREIGN-TYPEDEF.
M ./src/early-types.lisp -26 +116 M ./src/enum.lisp -3 +2 M ./src/types.lisp -5 +18
Sun Jun 12 04:21:19 EDT 2005 jbielman * Clean up the way tests are run a bit.
M ./Makefile -6 +14 M ./tests/run-tests.lisp +2
Sat Jun 11 04:06:28 EDT 2005 jbielman * Some progress on better CLISP support, requires CVS CLISP.
M ./Makefile -1 +1 M ./src/cffi-clisp.lisp -2 +2 M ./tests/run-tests.lisp -4
Sat Jun 11 03:18:11 EDT 2005 jbielman * Ignore errors when Lisp implementations aren't found while testing.
M ./Makefile -4 +4
Sat Jun 11 03:16:24 EDT 2005 jbielman * Remove obsolete shlibs and tests.
M ./tests/Makefile -3 +2 R ./tests/struct-tests.c R ./tests/struct-tests.lisp
Sat Jun 11 01:26:54 EDT 2005 jbielman * Add unit testing framework using RT. Add unit testing framework using RT. Lots of manual and CFFI-SYS updates. Add passing a double float to sprintf in examples.lisp. Update the syntax of the nested structure example. Add the INC-PTR function to the CFFI-SYS backends. Add the shareable byte vector interface to the CFFI-SYS backends. Started writing support for aggregate structure slots. Not used yet.
M ./Makefile -5 +5 M ./cffi-tests.asd -3 +1 M ./doc/cffi-sys-specification.html -106 +122 M ./doc/manual.html -94 +145 M ./examples/examples.lisp -5 +6 M ./src/cffi-clisp.lisp -5 +6 M ./src/cffi-cmucl.lisp -1 +26 M ./src/cffi-openmcl.lisp -1 +24 M ./src/cffi-sbcl.lisp -1 +24 M ./src/early-types.lisp -1 +2 M ./src/package.lisp +8 M ./src/types.lisp -25 +77 M ./tests/funcall.lisp -6 M ./tests/memory.lisp -68 +7 M ./tests/package.lisp -1 +1 M ./tests/run-tests.lisp -3 +4 M ./tests/struct-tests.lisp -3 +7
Fri Jun 10 09:00:47 EDT 2005 jbielman * Remove this file, we have the spec instead.
R ./PORTING
Wed Jun 8 03:28:18 EDT 2005 jbielman * Fix typo in comment. Fix typo in comment. Apparently I don't know what year it is...
M ./src/cffi-clisp.lisp -1 +1
Wed Jun 8 03:01:32 EDT 2005 jbielman * Add foreign enumerated types that automatically convert from keywords Add foreign enumerated types that automatically convert from keywords to integers when passed or returned to/from foreign functions.
M ./cffi.asd +1 M ./examples/examples.lisp -5 +16 M ./src/cffi-clisp.lisp -1 M ./src/enum.lisp -2 +3 M ./src/package.lisp +1
Wed Jun 8 02:59:52 EDT 2005 jbielman * Call malloc and free directly when allocating foreign memory instead Call malloc and free directly when allocating foreign memory instead of using aliens to prevent compiler notes in CMU CL.
Convert :POINTER to SYSTEM-AREA-POINTER instead of (ALIEN (* T)) .
M ./src/cffi-cmucl.lisp -20 +30
Tue Jun 7 18:08:58 EDT 2005 jbielman * Update the comments about the status of our CLISP support.
M ./src/cffi-clisp.lisp -17 +4
Tue Jun 7 18:07:00 EDT 2005 jbielman * Remove this bogus file.
R ./src/cffi-clisp.c
Tue Jun 7 18:05:08 EDT 2005 jbielman * Clean up CLISP support some, will need CVS version of CLISP to properly Clean up CLISP support some, will need CVS version of CLISP to properly handle looking up symbols in all loaded foreign libraries.
Add preliminary support for CMU CL (tested in 19b-pre on OS X).
M ./Makefile -1 +3 M ./cffi.asd -2 +4 M ./examples/examples.lisp -1 +8 M ./examples/run-examples.lisp -4 +7 M ./src/cffi-clisp.lisp -12 +15 M ./src/cffi-cmucl.lisp -55 +20 M ./src/early-types.lisp -5 +4
Tue Jun 7 16:29:29 EDT 2005 jbielman * Initial revision
A ./COPYRIGHT A ./HEADER A ./Makefile A ./PORTING A ./README A ./cffi-examples.asd A ./cffi-tests.asd A ./cffi-uffi-compat.asd A ./cffi.asd A ./doc/ A ./doc/cffi-sys-specification.html A ./doc/manual.html A ./doc/mem-vector.txt A ./doc/outline.txt A ./doc/shareable-vectors.txt A ./examples/ A ./examples/examples.lisp A ./examples/run-examples.lisp A ./src/ A ./src/cffi-clisp.c A ./src/cffi-clisp.lisp A ./src/cffi-cmucl.lisp A ./src/cffi-lispworks.lisp A ./src/cffi-openmcl.lisp A ./src/cffi-sbcl.lisp A ./src/early-types.lisp A ./src/enum.lisp A ./src/functions.lisp A ./src/libraries.lisp A ./src/package.lisp A ./src/strings.lisp A ./src/types.lisp A ./tests/ A ./tests/Makefile A ./tests/funcall.lisp A ./tests/memory.lisp A ./tests/package.lisp A ./tests/run-tests.lisp A ./tests/struct-tests.c A ./tests/struct-tests.lisp A ./tests/struct.lisp A ./tests/union.lisp A ./uffi-compat/ A ./uffi-compat/uffi-compat.lisp
An updated tarball of CFFI's source can be downloaded here: http://common-lisp.net/project/cffi/tarballs/cffi-090807.tar.gz
Darcsweb URL: http://common-lisp.net/cgi-bin/darcsweb/darcsweb.cgi?r=cffi-cffi;a=summary