![](https://secure.gravatar.com/avatar/5243970803cb1967bdf6ea217d3ab211.jpg?s=120&d=mm&r=g)
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