Stephen Compall <s...@member.fsf.org> writes: > John Fremlin <j...@msi.co.jp> writes: >>> > I'm asking these questions because I suspect both changes break with >>> > older versions of Allegro but I can't test it since the express >>> > edition 7.0 is no longer available. It's probably not a big deal but >>> > I'd like to at least try to maintain compatibility. >>> >>> There is no :foreign-address type in Allegro 8.1? >>> >>> It is a very strange idea that there ever would be such a type. . . >>> >>> http://www.franz.com/support/documentation/current/doc/ftype.htm >> >> Why are you ignoring this patch? > > A delay of 3 days is hardly an abrupt dismissal. Furthermore, I do not > believe your response that I have quoted addresses Luís's concerns about > backward compatibility.
Thanks for your response. As I explained I don't believe there ever was a :foreign-address type. (defun foreign-allegro-type (type) (if (eq type :foreign-address) nil .... explicitly made it irrelevant. Why does Luís think there was a :foreign-address type? Since when has any lisp had a type which is a :keyword? This is not a foreign-type but a lisp type. To reiterate, my patch solves two problems: use :unsigned-nat for pointers from C store it in an Lisp 'integer Before CFFI use to try nil for pointers from C (meaning :int) store it in a Lisp :foreign-address -- a non-existent type -- (actually fortunately ignored because the first part was nil) I'm not sure when :unsigned-nat was introduced . . . it is indeed very likely that my patch will not work with old versions, in which case :unsigned-long should be used. According to franz.com: :nat and :unsigned-nat: these were added in release 7.0. _______________________________________________ cffi-devel mailing list cffi-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel