James Bielman [Sat, 4 Feb 2006 08:28:14 +0000]
Update system definition version to 0.9.0.
James Bielman [Fri, 3 Feb 2006 16:36:36 +0000]
Use DEFINE-FOREIGN-LIBRARY to load the test shared library.
James Bielman [Fri, 3 Feb 2006 16:36:02 +0000]
Build an additional 32-bit libtest.so on x86-64 Linux.
James Bielman [Sat, 4 Feb 2006 05:02:40 +0000]
Don't add CFFI-FEATURES:UNIX to *FEATURES* on SBCL/Win32
James Bielman [Sat, 4 Feb 2006 02:28:35 +0000]
Disable test DEFCFUN.VARARGS.FLOAT for now.
James Bielman [Fri, 3 Feb 2006 19:57:05 +0000]
Add tests for keyword arguments to FOREIGN-ALLOC.
James Bielman [Fri, 3 Feb 2006 16:12:10 +0000]
Add two new tests for MAKE-POINTER and INC-POINTER.
James Bielman [Fri, 3 Feb 2006 08:29:54 +0000]
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.
Luis Oliveira [Fri, 3 Feb 2006 08:07:58 +0000]
New test: callbacks.funcall
Tests both declarations in a callback's body and foreign-funcalling
a cffi callback.
Luis Oliveira [Fri, 3 Feb 2006 08:07:34 +0000]
Remove outdated comment about foreign-slot-value
James Bielman [Fri, 3 Feb 2006 08:03:54 +0000]
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.
James Bielman [Fri, 3 Feb 2006 07:35:57 +0000]
Update documentation for DEFCTYPE.
James Bielman [Fri, 3 Feb 2006 07:25:47 +0000]
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.
James Bielman [Fri, 3 Feb 2006 07:24:38 +0000]
Fix INVERSE-TRANSLATE-OBJECTS to respect TRANSLATE-P.
James Bielman [Fri, 3 Feb 2006 06:52:49 +0000]
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.
James Bielman [Fri, 3 Feb 2006 07:10:13 +0000]
Add TODO entry to compile a 32-bit libtest on 64-bit Linux.
James Bielman [Fri, 3 Feb 2006 01:30:09 +0000]
Remove documentation string from test type.
James Bielman [Fri, 3 Feb 2006 01:12:13 +0000]
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.
James Bielman [Fri, 3 Feb 2006 00:41:28 +0000]
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.
Luis Oliveira [Thu, 2 Feb 2006 12:49:08 +0000]
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.
Luis Oliveira [Thu, 2 Feb 2006 12:47:53 +0000]
Implement defbitfield
- New macros and functions: DEFBITFIELD, FOREIGN-BITFIELD-VALUE,
FOREIGN-BITFIELD-SYMBOLS.
Luis Oliveira [Thu, 2 Feb 2006 03:57:29 +0000]
Fix allegro's %load-foreign-library
Versions prior to 7.0 don't have a :foreign keyword argument
for LOAD. Reported by Andrew Philpot.
Luis Oliveira [Wed, 1 Feb 2006 19:17:12 +0000]
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.
keriax [Wed, 1 Feb 2006 12:40:58 +0000]
Add check for FreeBSD and remove some redundant assignments.
Luis Oliveira [Mon, 30 Jan 2006 17:41:14 +0000]
Add option to defcenum
New option to defcenum in order to be able a base type different
from the default, :int.
Luis Oliveira [Thu, 26 Jan 2006 04:17:43 +0000]
Comment about why cffi-features:no-*
Luis Oliveira [Thu, 26 Jan 2006 04:16:52 +0000]
Use l-t-v in lispworks's %foreign-funcall
Luis Oliveira [Wed, 25 Jan 2006 00:42:15 +0000]
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.
Stephen Compall [Tue, 24 Jan 2006 16:55:02 +0000]
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
Luis Oliveira [Mon, 23 Jan 2006 16:55:41 +0000]
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
Stephen Compall [Mon, 23 Jan 2006 04:06:05 +0000]
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.
Stephen Compall [Thu, 19 Jan 2006 18:59:20 +0000]
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.
Luis Oliveira [Sat, 21 Jan 2006 03:47:20 +0000]
New TODO items.
- Underspecifed Semantics: doubles/floats
- Known Issues: cffi-tests.asd's bogus :c-test-lib
Luis Oliveira [Sat, 21 Jan 2006 03:38:19 +0000]
Fix foreign-funcall sprintf tests' return types.
Luis Oliveira [Sat, 21 Jan 2006 03:37:36 +0000]
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}.
Luis Oliveira [Sat, 21 Jan 2006 03:23:50 +0000]
Fix override in clisp's %foreign-type-alignment
Joerg-Cyril Hoehle [Sat, 21 Jan 2006 03:23:36 +0000]
%foreign-funcall-pointer/clisp: constant fold with load-time-value
Joerg-Cyril Hoehle [Sat, 21 Jan 2006 03:22:49 +0000]
register-callback clisp: use only ffi:exported functions
Joerg-Cyril Hoehle [Mon, 16 Jan 2006 14:38:20 +0000]
"added one declare ignore"
Luis Oliveira [Sat, 21 Jan 2006 03:07:13 +0000]
Signal an error when defcstruct/defcunion is passed a :void
Luis Oliveira [Sat, 21 Jan 2006 02:55:57 +0000]
Fix bug in Lispworks's %%foreign-funcall
Stephen Compall [Wed, 18 Jan 2006 19:25:01 +0000]
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.
Luis Oliveira [Tue, 17 Jan 2006 22:55:44 +0000]
New test: FUNCALL.INT.2
Luis Oliveira [Tue, 17 Jan 2006 01:31:13 +0000]
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>
Luis Oliveira [Tue, 17 Jan 2006 00:58:05 +0000]
Fix bug in default-library-suffix
Luis Oliveira [Mon, 16 Jan 2006 17:59:03 +0000]
tests: explicitly load msvcrt.dll on sbcl/win32
Luis Oliveira [Mon, 16 Jan 2006 17:57:53 +0000]
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.
Luis Oliveira [Sun, 15 Jan 2006 01:10:33 +0000]
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.
Luis Oliveira [Sun, 15 Jan 2006 01:06:47 +0000]
Lispworks: fix override in %foreign-type-alignment
Oversight when :ppc32 was renamed to cffi-features:ppc32.
James Bielman [Sat, 14 Jan 2006 09:33:47 +0000]
untabify a few files
Luis Oliveira [Thu, 12 Jan 2006 18:52:01 +0000]
Documentation changes
- Add some comments about define-foreign-library's new features. The
t clause and :default.
- Remove (setf get-callback) from the documentation.
Luis Oliveira [Wed, 11 Jan 2006 21:38:59 +0000]
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.
Stephen Compall [Wed, 11 Jan 2006 18:38:40 +0000]
Import the tutorial
- "An Introduction to Foreign Interfaces and CFFI" added to manual.
Luis Oliveira [Wed, 11 Jan 2006 16:29:18 +0000]
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.
James Bielman [Tue, 10 Jan 2006 13:57:50 +0000]
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.
James Bielman [Mon, 9 Jan 2006 07:40:53 +0000]
update uffi-compat to new translator interface
Patch courtesy of: Robert J. Macomber <xbxyh8 at rojoma.com>
James Bielman [Sat, 7 Jan 2006 06:15:26 +0000]
add :default expression to auto-append library suffixes
James Bielman [Sat, 7 Jan 2006 06:14:52 +0000]
allow t in library feature expression as default
James Bielman [Sat, 7 Jan 2006 11:05:58 +0000]
remove some finished items from the TODO list
James Bielman [Sat, 7 Jan 2006 05:34:55 +0000]
signal an error when trying to load undefined "logical" foreign libraries
James Bielman [Fri, 6 Jan 2006 05:03:25 +0000]
implement new callback interface for corman
James Bielman [Fri, 6 Jan 2006 05:01:25 +0000]
implement new callback interface for ecl
Untested: the ECL backend does not seem to build for me.
James Bielman [Fri, 6 Jan 2006 04:57:53 +0000]
implement new callback interface for cmucl
Unsolved problems still prevent CFFI from working in a saved image
on CMU CL.
James Bielman [Fri, 6 Jan 2006 03:42:17 +0000]
implement new callback interface for lispworks
James Bielman [Fri, 6 Jan 2006 03:08:39 +0000]
fix callbacks in saved images in clisp, sbcl, allegro, and openmcl
Luis Oliveira [Sat, 7 Jan 2006 03:17:09 +0000]
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.
Luis Oliveira [Sat, 7 Jan 2006 02:18:35 +0000]
Substitute missing ensure-string.
Luis Oliveira [Sat, 7 Jan 2006 02:13:48 +0000]
Remove the TODO item related to load-foreign-library
Luis Oliveira [Sat, 7 Jan 2006 02:11:26 +0000]
%foreign-funcall-pointer for ECL
Luis Oliveira [Sat, 7 Jan 2006 02:10:01 +0000]
Remove old comments in cffi-clisp and cffi-sbcl
Luis Oliveira [Sat, 7 Jan 2006 02:08:05 +0000]
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.
Luis Oliveira [Sat, 7 Jan 2006 01:56:44 +0000]
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.
Luis Oliveira [Sat, 7 Jan 2006 01:54:54 +0000]
New TODO item about CLISP fasl portability
James Bielman [Fri, 6 Jan 2006 08:29:57 +0000]
add :size option to defcunion as with defcstruct
James Bielman [Fri, 6 Jan 2006 07:47:08 +0000]
add todo list entry about setting union size
James Bielman [Thu, 5 Jan 2006 09:14:44 +0000]
add todo list entry about implementing :uint8 and friends
James Bielman [Tue, 3 Jan 2006 20:28:16 +0000]
gensym name and typo fixes
Joerg-Cyril Hoehle [Tue, 3 Jan 2006 15:35:51 +0000]
ffi:with-c-var's symbol-macrolet repeatedly applies foreign-value, avoid it
Joerg-Cyril Hoehle [Tue, 3 Jan 2006 15:35:27 +0000]
TODO: foreign-alloc needs testcases
Joerg-Cyril Hoehle [Mon, 2 Jan 2006 15:29:57 +0000]
with-foreign-pointer [cmucl,sbcl]: forgot one instance of EVAL (constantp case)
Joerg-Cyril Hoehle [Mon, 2 Jan 2006 15:22:02 +0000]
clisp defcallback: free unless invalid (possibly from old image)
James Bielman [Tue, 3 Jan 2006 09:24:48 +0000]
document new type translator interface in the manual
James Bielman [Sun, 1 Jan 2006 10:09:35 +0000]
ramble a bit in comments about the new interface
James Bielman [Sun, 1 Jan 2006 09:31:54 +0000]
ignore NAME in :wrapper UNPARSE method
James Bielman [Sun, 1 Jan 2006 09:30:28 +0000]
properly handle alloc param chain for typedef translators
James Bielman [Sun, 1 Jan 2006 09:17:27 +0000]
remove DEFINE-TYPE-TRANSLATOR from package exports
James Bielman [Sun, 1 Jan 2006 09:15:35 +0000]
new translator GF protocol, as discussed in IRC
James Bielman [Sun, 1 Jan 2006 04:39:15 +0000]
fix missing newline issues
James Bielman [Wed, 28 Dec 2005 17:41:02 +0000]
remove obsolete comment in MAKE-LOAD-FORM method
James Bielman [Wed, 28 Dec 2005 17:30:14 +0000]
new file, translator example
James Bielman [Wed, 28 Dec 2005 17:24:21 +0000]
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.
James Bielman [Fri, 23 Dec 2005 19:53:48 +0000]
fix unused variable warnings
James Bielman [Fri, 23 Dec 2005 19:51:27 +0000]
specify :argument-precedence-order for translator generics
James Bielman [Fri, 23 Dec 2005 19:41:15 +0000]
new type translator implementation
Luis Oliveira [Tue, 3 Jan 2006 00:45:25 +0000]
load-foreign-library changes
- Pass :foreign t to LOAD on Allegro.
- Use sys::load-object-file on CMUCL.
James Bielman [Fri, 30 Dec 2005 23:39:59 +0000]
support Allegro CL and CLISP modern modes
Luis Oliveira [Fri, 30 Dec 2005 21:52:18 +0000]
Fix more typos in cffi-manual.
Luis Oliveira [Fri, 30 Dec 2005 12:18:46 +0000]
Fix foreign-free example in the documentation.
James Bielman [Fri, 30 Dec 2005 08:18:18 +0000]
add scripts/ directory and release script
Luis Oliveira [Fri, 30 Dec 2005 07:43:03 +0000]
Fix the struct.names test and update some CLISP comments.