[Initial revision
jbielman**20050607202929] 
[Clean up CLISP support some, will need CVS version of CLISP to properly
jbielman**20050607220508
 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).
 
] 
[Remove this bogus file.
jbielman**20050607220700] 
[Update the comments about the status of our CLISP support.
jbielman**20050607220858] 
[Call malloc and free directly when allocating foreign memory instead
jbielman**20050608065952
 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)) .
 
] 
[Add foreign enumerated types that automatically convert from keywords
jbielman**20050608070132
 Add foreign enumerated types that automatically convert from keywords
 to integers when passed or returned to/from foreign functions.
 
] 
[Fix typo in comment.
jbielman**20050608072818
 Fix typo in comment.
 Apparently I don't know what year it is...
 
] 
[Remove this file, we have the spec instead.
jbielman**20050610130047] 
[Add unit testing framework using RT.
jbielman**20050611052654
 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.
 
] 
[Remove obsolete shlibs and tests.
jbielman**20050611071624] 
[Ignore errors when Lisp implementations aren't found while testing.
jbielman**20050611071811] 
[Some progress on better CLISP support, requires CVS CLISP.
jbielman**20050611080628] 
[Clean up the way tests are run a bit.
jbielman**20050612082119] 
[Fairly major cleanup to the foreign type system:
jbielman**20050612082351
 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.
 
] 
[Initialize foreign strings to empty in case the foreign function
jbielman**20050612082516
 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.
 
] 
[Very preliminary Lispworks support.
jbielman**20050612082708
 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.
 
] 
[Fix typo in method definitions of AGGREGATEP.
jbielman**20050612082825] 
[Don't bother trying to define FFI:FOREIGN-VARIABLE in CLISP 2.33.2 and
jbielman**20050612083348
 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.
 
] 
[Remove obsolete file.
jbielman**20050612083615] 
[First implementation of embedded structures and arrays, still needs tests.
jbielman**20050612091327] 
[Define and export FOREIGN-SLOT-ADDRESS.
jbielman**20050613094503] 
[Fresh-line before printing the header when running tests.
jbielman**20050613094608] 
[Add a (not-yet-working) example of complex aggregate struct slot access.
jbielman**20050613095632] 
[Add initial specification of proposed block memory operations.
jbielman**20050613095658] 
[Add proposed shareable byte vector interface.
jbielman**20050613105629] 
[Describe MAKE-SHAREABLE-BYTE-VECTOR a little.
jbielman**20050613131834] 
[Reorder the documentation for MAKE-SHAREABLE-BYTE-VECTOR to make sense.
jbielman**20050613132718] 
[Update supported implementations in README.
jbielman**20050613141701] 
[Add more unit tests for dereferencing unsigned integers and floats.
jbielman**20050614022318] 
[Add support for foreign unions and a file for their unit tests.
jbielman**20050614033113] 
[Add a simple test for foreign unions.
jbielman**20050614033543] 
[Add basic tests for foreign structures.
jbielman**20050623001311] 
[Add some commentary about the how to implement UFFI
jbielman**20050623054422
 Add some commentary about the how to implement UFFI
 array types and unions correctly.
 
] 
[Fix comment typo.
jbielman**20050623055150] 
[Change &KEYWORD back to &OPTIONAL in MEM-VECTOR interface.
jbielman**20050627184929] 
[Export pointerp from cffi-sys (openmcl)
Luis Oliveira <loliveira@common-lisp.net>**20050703013832] 
[Preliminary foreign variables for cmucl/sbcl/openmcl/clisp
Luis Oliveira <loliveira@common-lisp.net>**20050704031609] 
[Preliminary port to Allegro CL
Luis Oliveira <loliveira@common-lisp.net>**20050705002935] 
[Add convert-external-name to cffi-allegro.lisp
Luis Oliveira <loliveira@common-lisp.net>**20050705025245] 
[implement ecl backend
James Bielman  <jamesjb@jamesjb.com>**20050705075324] 
[fix misplaced comment in ecl backend
James Bielman  <jamesjb@jamesjb.com>**20050705083800] 
[life is officially grand
James Bielman  <jamesjb@jamesjb.com>**20050705110100] 
[Fix conflict?
Luis Oliveira <loliveira@common-lisp.net>**20050705135052] 
[use low-level interface for memory access on ecl
James Bielman  <jamesjb@jamesjb.com>**20050705164350] 
[use SYSTEM-AREA-POINTER for :pointer like CMU CL
James Bielman  <jamesjb@jamesjb.com>**20050705193828] 
[use WITH-PINNED-OBJECTS instead of WITHOUT-GCING on SBCL
James Bielman  <jamesjb@jamesjb.com>**20050705223418] 
[Add (in-package #:cl-user) to package.lisp
Luis Oliveira <loliveira@common-lisp.net>**20050707005106] 
[Some notes about Allegro's internals.
Luis Oliveira <loliveira@common-lisp.net>**20050711022020] 
[Pass -q switch to clisp in Makefile
Luis Oliveira <loliveira@common-lisp.net>**20050711043643] 
[Make test depend on test-clisp and not on test-allegro
Luis Oliveira <loliveira@common-lisp.net>**20050711043729] 
[Update port for Allegro.
Luis Oliveira <loliveira@common-lisp.net>**20050711043851
 
  - 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.
] 
[New DEFCFUN tests based on the FUNCALL tests.
Luis Oliveira <loliveira@common-lisp.net>**20050711044713] 
[Make foreign-var-ptr a macro, make DEFCVAR type a normal arg
Luis Oliveira <loliveira@common-lisp.net>**20050711044934] 
[Implement FOREIGN-VAR-PTR and DEFCFUN-HELPER (thus DEFCFUN) for Lispworks.
Luis Oliveira <loliveira@common-lisp.net>**20050711045136] 
[Implement DEFCFUN-HELPER idea.
Luis Oliveira <loliveira@common-lisp.net>**20050711045325
 
  - 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)
] 
[Add in-package :cl-user to tests/package.lisp
Luis Oliveira <loliveira@common-lisp.net>**20050711045738] 
[Bug fix. Forgot to canonicalize the return type (and added test)
Luis Oliveira <loliveira@common-lisp.net>**20050711052929] 
[parse-c-type on load-time
Luis Oliveira <loliveira@common-lisp.net>**20050711061611] 
[Rename DEFCFUN-HELPER to DEFCFUN-HELPER-FORMS.
Luis Oliveira <loliveira@common-lisp.net>**20050713224259] 
[Convert docs to Texinfo format.
Luis Oliveira <loliveira@common-lisp.net>**20050730160328] 
[Bugfix: clisp converts NULL to NIL
Luis Oliveira <loliveira@common-lisp.net>**20050802021638
 
 Added workaround in the pointer operations because of this.
 Also added test: deref.pointer.null
] 
[Use fboundp instead of find-symbol to define default defcfun helper.
Luis Oliveira <loliveira@common-lisp.net>**20050803002935] 
[:cffi/no-foreign-funcall and unexport foreign-var-ptr
Luis Oliveira <loliveira@common-lisp.net>**20050804043827
 
 * 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.
] 
[Minor simplification to test-op in cffi-tests.asd
Luis Oliveira <loliveira@common-lisp.net>**20050805183631] 
[New type translation interface.
Luis Oliveira <loliveira@common-lisp.net>**20050805184509
 
 - 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.
] 
[New callback interface.
Luis Oliveira <loliveira@common-lisp.net>**20050805185915
 
 - 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.
] 
[Allegro port update, bug fixes.
Luis Oliveira <loliveira@common-lisp.net>**20050805191454
 
 - 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.
] 
[Lispworks bug fixes.
Luis Oliveira <loliveira@common-lisp.net>**20050805191902
 
 - 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.
] 
[Make DEFCVAR use the type translation mechanism.
Luis Oliveira <loliveira@common-lisp.net>**20050805192631
 
 - 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.
] 
[Small change to DEFCFUN-HELPER-FORMS.
Luis Oliveira <loliveira@common-lisp.net>**20050805193417
 
 - Make it take an extra argument "lisp-name". Hopefully I got
   this stuff right this time, I'm not sure yet.
] 
[SBCL: use SB-SYS:FOREIGN-SYMBOL-SAP
Luis Oliveira <loliveira@common-lisp.net>**20050805193658
 
 - SBCL 0.9.3 renamed SB-SYS:FOREIGN-SYMBOL-ADDRESS to
   SB-SYS:FOREIGN-SYMBOL-SAP. Use this instead.
] 
[Minor edits and changed SQRTF test.
Luis Oliveira <loliveira@common-lisp.net>**20050805193844
 
 - Commented out some unused forms in src/functions.lisp.
 - Defined our own SQRTF in libtest.c since it's not available
   on win32.
] 
[Initial support for Corman Lisp.
Luis Oliveira <loliveira@common-lisp.net>**20050806040043
 
 - 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).
] 
[Broken "support" for GCL.
Luis Oliveira <loliveira@common-lisp.net>**20050806041119
 
 - Basic pointer operations and memory access is working.
 - Calling foreign functions too, probably, untested.
] 
[Lispworks: use :byte for cffi's :char types
Luis Oliveira <loliveira@common-lisp.net>**20050810010007] 
[Clisp: use FOREIGN-ADDRESS-NULL in NULL-PTR-P
Luis Oliveira <loliveira@common-lisp.net>**20050811044353] 
[A couple of minor changes.
Luis Oliveira <loliveira@common-lisp.net>**20050821133513
 
 - 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
] 
[Type system improvements and more.
Luis Oliveira <loliveira@common-lisp.net>**20050826144708
 
 - 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.
] 
[Oops
Luis Oliveira <loliveira@common-lisp.net>**20050827030127
 
 - 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.
] 
[More oops.
Luis Oliveira <loliveira@common-lisp.net>**20050827080900
 
 - clisp: foreign-address-null is deprecated.
 - types: fixed bug, regarding expanders + anonymous types.
 - added documentation to the :boolean type
] 
[Documentation, bug fixes and tweaks
Luis Oliveira <loliveira@common-lisp.net>**20050830025906
 
 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.
] 
[%foreign-funcall-ptr and small fixes
Luis Oliveira <loliveira@common-lisp.net>**20050831022358
 
 - 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.
] 
[Win32 tweaks to the test library...
Luis Oliveira <loliveira@common-lisp.net>**20050831063013
 
 ... 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.
] 
[Well, lets support MINGW too.
Luis Oliveira <loliveira@common-lisp.net>**20050831064645
 Tweaked the Makefile a bit to support MINGW too.
] 
[Slight change to defcenum to make Corman Lisp happier.
Luis Oliveira <loliveira@common-lisp.net>**20050901073604] 
[Fix struct bug, defcvar bug and tweaked bindings.lisp
Luis Oliveira <loliveira@common-lisp.net>**20050902044050
 
 - 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..
] 
[CFFI User Manual update.
Luis Oliveira <loliveira@common-lisp.net>**20050902075750] 
[Handle empty structures gracefully
Luis Oliveira <loliveira@common-lisp.net>**20050907053119
 
 - Fixed notice-foreign-structure-definition to handle empty
   struct definitions correctly.
 - Added new test for this: STRUCT.ALIGNMENT.5
] 
[Fixed Allegro warning, removed #-sbcl from callback test
Luis Oliveira <loliveira@common-lisp.net>**20050908061253
 
 - 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.
] 
[foreign-alloc and uffi-compat
Luis Oliveira <loliveira@common-lisp.net>**20050909010022
 
 - 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.
] 
[Fixed bug in cffi-lispworks
Luis Oliveira <loliveira@common-lisp.net>**20050912031053
 
 - foreign-alloc now uses type :byte.
 - make-callback specifies more options to define-foreign-callable.
] 
[Stack allocation in cffi-lispworks and tweak to run-tests
Luis Oliveira <loliveira@common-lisp.net>**20050912065252
 
 - Lispworks's with-foreign-ptr stack allocates again.
 - run-tests now asks if we want to run the tests several times.
] 
[Changes to callbacks.
Luis Oliveira <loliveira@common-lisp.net>**20050913054015
 
 - 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)
] 
[Documentation and new test
Luis Oliveira <loliveira@common-lisp.net>**20050914002507
 
 - 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
] 
[make clean -> rm *.fsl too.
Luis Oliveira <loliveira@common-lisp.net>**20050914203204] 
[Missing DLLEXPORTs in libtest.c
Luis Oliveira <loliveira@common-lisp.net>**20050915001414] 
[Removed test, tweaked tests/Makefile
Luis Oliveira <loliveira@common-lisp.net>**20050915013027
 
 - 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.
] 
[Corman Lisp update and note added to the manual.
Luis Oliveira <loliveira@common-lisp.net>**20050915043423
 
 - 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.
] 
[Fix bug with arrays in uffi-compat.
Luis Oliveira <loliveira@common-lisp.net>**20050915142238] 
[Don't free lisp allocated memory on the C side.
Luis Oliveira <loliveira@common-lisp.net>**20050916004700] 
[foreign-symbol-ptr
Luis Oliveira <loliveira@common-lisp.net>**20050920173532
 
 - 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/.
] 
[Support for my asdf setup.
Luis Oliveira <loliveira@common-lisp.net>**20050924200146
 
 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.
] 
[foreign-symbol-ptr and defcvar, etc..
Luis Oliveira <loliveira@common-lisp.net>**20050924201305
 
 - 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.
] 
[load-foreign-library
Luis Oliveira <loliveira@common-lisp.net>**20050925044242
 
 - extend load-foreign-library to accept a pathname as an argument.
 - change tests/bindings.lisp to pass a pathname.
] 
[Fixed bogus getters in setf expanders.
Luis Oliveira <loliveira@common-lisp.net>**20050925193602
 
 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.  
] 
[New test: void callback
Luis Oliveira <loliveira@common-lisp.net>**20050926234141] 
[pointer-eq and bug fixes
Luis Oliveira <loliveira@common-lisp.net>**20051002122416
 
 - 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.
] 
[Fixed bug in uffi-compat, added new type.
Luis Oliveira <loliveira@common-lisp.net>**20051003142016
 
 - 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) 
] 
[64-bit enhancements for OpenMCL
Luis Oliveira <loliveira@common-lisp.net>**20051006001347
 
 - Use the :int instead of :signed-fullword, etc..
] 
[cffi-openmcl 64-bit patches
Luis Oliveira <loliveira@common-lisp.net>**20051007003251
 
 - Port to openmcl darwin/ppc64, courtesy Gary Byers.
] 
[Makefile tweak for 64-bit platforms
Luis Oliveira <loliveira@common-lisp.net>**20051011123357
 
 - x86-64 support courtesy Juho Snellman.
 - G5 support courtesy Bryan O'Connor.
] 
[Fix memory leak in test FOREIGN-GLOBALS.REF.STRING
Luis Oliveira <loliveira@common-lisp.net>**20051027142855] 
[Updated ECL support
Luis Oliveira <loliveira@common-lisp.net>**20051027143948
 
 - Updated cffi-ecl.lisp, courtesy of Michael Goffioul.
   (Includes some ECL specific workarounds in the portable
    bits of CFFI.)
] 