[cffi-devel] New patches: 31-Dec-2008
Luis Oliveira
loliveira at common-lisp.net
Thu Jan 1 00:42:02 UTC 2009
Wed Dec 31 01:57:14 UTC 2008 Luis Oliveira <loliveira at 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
Wed Dec 31 01:51:45 UTC 2008 Luis Oliveira <loliveira at 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
Wed Dec 31 01:48:50 UTC 2008 Luis Oliveira <loliveira at 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
Wed Dec 31 00:50:38 UTC 2008 Luis Oliveira <loliveira at common-lisp.net>
* Add note about FREE-TRANSLATED-OBJECT's PARAM argument.
M ./src/early-types.lisp +3
An updated tarball of CFFI's source can be downloaded here:
http://common-lisp.net/project/cffi/tarballs/cffi-081231.tar.gz
Darcsweb URL:
http://common-lisp.net/cgi-bin/darcsweb/darcsweb.cgi?r=cffi-cffi;a=summary
More information about the cffi-devel
mailing list