1 2010-02-05 Kevin Rosenberg <kevin@rosenberg.net>
3 * src/i18n.lisp: New file for supporting non-ASCII foreign strings.
5 2010-01-29 Kevin Rosenberg <kevin@rosenberg.net>
7 * src/primitives.lisp: Add :long-long and :unsigned-long-long
8 for lisp implementations that support it. Push uffi:no-long-long
9 on cl:*features* for lisp implementations that don't support it.
11 2010-01-28 Kevin Rosenberg <kevin@rosenberg.net>
13 * src/{functions.lisp,objects.lisp,strings.lisp}: Support Lispworks 6
15 2007-09-17 Kevin Rosenberg <kevin@rosenberg.net>
16 * doc/Makefile, doc/html.xsl: Change output encoding from
19 2007-07-22 Kevin Rosenberg <kevin@rosenberg.net>
20 * Version 1.6.0 (SPECIFICATION CHANGE)
21 * doc/ref_func_libr.xml: Change the specification of
22 load-foreign-library to better match the actual action of the
23 function. Rather than returning NIL for failure to load library,
25 * src/libraries.lisp: Rework load-foreign-library to ensure errors
26 are signaled on failure to load library. This was the case for
27 some implementations, change the other implementations to
28 match. (Inconsistency found due to Mark Wooding's remarks)
30 2007-04-12 Kevin Rosenberg <kevin@rosenberg.net>
32 * src/functions.lisp: Patch from Ian Eslick for Lispworks 5
34 2006-10-10 Kevin Rosenberg <kevin@rosenberg.net>
36 * src/functions.lisp: Patch from Edi Weitz for Lispworks 5/Linux
38 2006-09-02 Kevin Rosenberg <kevin@rosenberg.net>
40 * src/libraries.lisp: Add cygwin support
42 2006-08-13 Kevin Rosenberg <kevin@rosenberg.net>
44 * src/{objects,strings}.lisp: Add support for Lispworks 5
45 thanks to patches from Bill Atkins
47 2006-07-04 Kevin Rosenberg <kevin@rosenberg.net>
49 * src/{objects,strings}.lisp: Apply patch from Edi Weitz
51 2006-05-17 Kevin Rosenberg <kevin@rosenberg.net>
53 * src/libraries.lisp: Revert buggy patch from Yaroslav Kavenchuk.
55 2006-05-17 Kevin Rosenberg <kevin@rosenberg.net>
57 * src/libraries.lisp: Patch from Yaroslav Kavenchuk to set
58 default drive letters on MS Windows.
60 2006-05-11 Kevin Rosenberg <kevin@rosenberg.net>
61 * Version 1.5.11: Export new macro DEF-POINTER-VAR based on patch from
62 James Bielman to support defining variables on platforms which
63 support saving objects, such as openmcl
65 2006-04-17 Kevin Rosenberg <kevin@rosenberg.net>
66 * Version 1.5.10: Commit patch from Gary King for openmcl's
69 2005-11-14 Kevin Rosenberg <kevin@rosenberg.net>
71 * src/strings.lisp: Add with-foreign-strings by James Biel
73 2005-11-14 Kevin Rosenberg <kevin@rosenberg.net>
75 * src/os.lisp: Remove getenv setter
77 2005-11-07 Kevin Rosenberg <kevin@rosenberg.net>
79 * src/os.lisp: Add support for getenv getter and setter
81 2005-09-17 Kevin Rosenberg <kevin@rosenberg.net>
83 * src/objects.lisp: prepend _ character for entry
84 point on Allegro macosx, patch by Luis Oliveira
86 2005-07-05 Kevin Rosenberg <kevin@rosenberg.net>
88 * Remove vestigial LLGPL license notices as UFFI as been
89 BSD-licensed for several years.
91 2005-06-09 Kevin Rosenberg <kevin@rosenberg.net>
93 * tests/objects.lisp: Rename from pointers.lisp.
94 Fix test CHPTR.4 as noted by Jorg Hohle
95 * src/objects.lisp: Remove default from ensure-char-integer
97 2005-06-09 Kevin Rosenberg <kevin@rosenberg.net>
99 * src/libraries.lisp: Commit patch from Edi Weitz to
100 allow plain filename library names to allow underlying
101 lisp implementation to find foreign libraries in the
102 locations known to the operating system.
103 * tests/cast.lisp: Add :module keyword as noted by Jorg Hohle.
104 * src/strings.lisp: Avoid multiple evaluation of input
105 parameters for macros as noted by Jorg Hohle.
107 2005-04-12 Kevin Rosenberg <kevin@rosenberg.net>
109 * src/strings.lisp: Fix variable name
111 2005-04-04 Kevin Rosenberg <kevin@rosenberg.net>
112 * src/strings.lisp, src/aggregates.lisp: Support change in SBCL copy
113 function [Thanks for Nathan Froyd and Zach Beane]
115 2005-04-03 Kevin Rosenberg <kevin@rosenberg.net>
116 * src/objects.lisp: Commit patch from James Bielman to add
117 def-foreign-var support for OpenMCL
119 2005-03-03 Kevin Rosenberg <kevin@rosenberg.net>
120 * src/primitives.lisp: Add support for :union types
121 [patch from Cyrus Harmon]
122 * tests/union.lisp, tests/structs.lisp: Tests for
123 union and structure types [from Cyrus Harmon]
125 2005-02-22 Kevin Rosenberg <kevin@rosenberg.net>
126 * src/primitives.lisp, src/strings.lisp: Better support
127 for sb-unicode [from Yoshinori Tahara and R. Mattes]
129 2005-01-22 Kevin Rosenberg <kevin@rosenberg.net>
130 * src/primitives.lisp: Better support SBCL-AMD64
132 2004-11-08 Kevin Rosenberg <kevin@rosenberg.net>
133 * src/strings.lisp: Better support sb-unicode
134 * tests/compress.lisp: Support sb-unicode
136 2004-10-07 Kevin Rosenberg <kevin@rosenberg.net>
137 * src/objects.lisp: Add new function:
138 convert-from-foreign-usb8
140 2004-04-15 Kevin Rosenberg <kevin@rosenberg.net>
141 * src/objects.lisp: Add new functions:
142 MAKE-POINTER and POINTER-ADDRESS
144 2004-04-13 Kevin Rosenberg <kevin@rosenberg.net>
145 * src/string.lisp: Add new FOREIGN-STRING-LENGTH
147 2003-08-15 Kevin Rosenberg <kevin@rosenberg.net>
148 * Added with-cast-pointer and def-foreign-var (patches submitted
150 * Added many new tests
152 2002-10-16 Kevin Rosenberg <kevin@rosenberg.net>
153 * Added support for SBCL and SCL
155 2002-09-29 Kevin Rosenberg <kevin@rosenberg.net>
156 * Numerous changes in openmcl support (uffi now supports
159 2002-09-19 Kevin Rosenberg <kevin@rosenberg.net>
160 - Integrate John Desoi's OpenMCL support into src-mcl
161 * examples/Makefile: add section for building on MacOS X (John Desoi)
162 * examples/test-examples: changed from mk: to asdf: package loading (KMR)
163 * examples/run-examples: changed from mk: to asdf: package loading (KMR),
164 add conditional loading if UFFI not loaded (John Desoi)
165 * examples/compress.cl: Add dylib to library types for MacOSX (John Desoi),
166 converted compressed output to hexidecimal display (KMR)
167 * examples/union.cl: Rework the tests (KMR)
168 * src-main/libraries.cl: add dylib as default library type on MacOSX (John Desoi)
169 * src-main/aggregates.cl: convert from uffi type in deref-array (John Desoi)
171 2002-09-16 Kevin Rosenberg <kevin@rosenberg.net>
172 - Restructure directories to move to a asdf definition file
175 2002-08-25 Kevin Rosenberg <kevin@rosenberg.net>
176 - Restructure directories to attempt to properly handle both
177 Common Lisp Controller and non-CLC systems
179 2002-08-17 Kevin Rosenberg <kevin@rosenberg.net>
180 - add uffi.asd for ASDF users
182 2002-08-01 Kevin Rosenberg <kevin@rosenberg.net>
183 - Restructure directories to improve Common Lisp Controller v3
186 2002-07-25 Kevin Rosenberg <kevin@rosenberg.net>
187 - Rework handling of logical pathnames.
188 - Move run-examples.cl to examples directory.
190 2002-06-28 Kevin Rosenberg <kevin@rosenberg.net>
191 - Added size-of-foreign-type function.
193 2002-06-26 Kevin Rosenberg <kevin@rosenberg.net>
194 - Fix bug in Lispworks allocate-foreign-object
195 - Added new :unsigned-byte type. Made :byte signed.
197 2002-04-27 Kevin Rosenberg <kevin@rosenberg.net>
201 2002-04-23 Kevin Rosenberg <kevin@rosenberg.net>
203 Updated to debian docbook catalog
205 2002-04-23 John DeSoi (desoi@mac.com)
209 2002-04-06 Kevin Rosenberg <kevin@rosenberg.net>
210 * src/mcl/libraries.cl:
211 Removed unnecessary function and added find-foreign-library
213 Added authorship for John DeSoi
215 Added documentation for find-foreign-library
217 Simplied logical pathnames and MCL loading
219 2002-04-04 John DeSoi (desoi@mac.com)
221 Added initial support for MCL
223 2002-04-02 Kevin Rosenberg <kevin@rosenberg.net>
225 Added test for .so libraries on CMUCL and use sys::load-object-file instead
226 of alien:load-library-file
228 Updated defaults so library is created correctly on Linux, FreeBSD, and Solaris
230 2002-04-02 Kevin Rosenberg <kevin@rosenberg.net>
231 * examples/compress.cl:
234 Added support for SPARC big-endian
236 Automated testing suite
238 2002-04-01 Kevin Rosenberg <kevin@rosenberg.net>
241 Changed default type for FreeBSD and updated Makefile for
242 FreeBSD and Solaris. Enhanced find-foreign-library to
243 take a list of types to search.
244 * examples/compress.cl:
245 Add support to use find-foreign-library
247 2002-03-31 Kevin Rosenberg <kevin@rosenberg.net>
249 Fixed bug in with-foreign-string (Thanks Harald Hanche-Olsen)
251 Create a .a library file for FreeBSD
253 Added default type and find-foreign-library functions
255 2002-03-29 Kevin Rosenberg <kevin@rosenberg.net>
257 Fixed bug in deref-pointer (Thanks John Desoi!)
259 2002-03-22 Kevin Rosenberg <kevin@rosenberg.net>
261 Changed name and implementation of def-array to more appropriate
264 Updated def-array-pointer documentation
266 Made results of def-constant equal those of cl:defconstant
268 Made type be evaluated for with-foreign-object and allocate-foreign-object
270 Increase to 0.3.0 to coincide with the release of CLSQL.
273 * Fixed problem with NULL foreign-strings with CMUCL
274 * Added c-test-fns to examples for allow more specific testing
275 of UFFI. Builds on UNIX and Win32 platforms.
276 * Added def-union function, added union.cl example
277 * Fixed error with ensure-char-[character|integer]
278 * Added 2-d array example to examples/arrays.cl
279 * Fixed documentation error on gethostname
280 * Added ensure-char-* and def-union to documentation
281 * Added double-float vector example to c-test-fns
282 * Reworked cstring on Lispworks to have LW handle string conversion
283 * First pass at with-foreign-object -- unoptimized
284 * Added gethostname2 example which uses with-foreign-object
285 * Added char-array-to-pointer function to encapsulate
286 converting a char array to a char pointer
287 * Converted with-foreign-object to use stack allocation on CMUCL and LW
288 * Added benchmark code, first file is for allocation
291 * Updated strings.cl so that foreign-strings are always unsigned.
292 Fixes a problem with strtol example.
293 * Added ensure-char-character and ensure-char-integer to handle
294 differences in implementations dereferencing of (* :char).
295 * Added section on design priorities for UFFI
296 * Added section in TODO on splitting implementation-dependent code
299 * Added size parameter to allocate-foreign-object. Creates an array
301 * Got array-2d example working with a 1-d array.
302 * Cleaned strtol example
306 * Documentation fixes (Erik Winkels)
307 * Fixed missing '.' in CMUCL type declarations (Erik Winkels)
310 * Changed deref-pointer so it always returns a character when
311 called with a :char or :unsigned-char type
312 * Removed function ensure-char as no longer needed
313 * Added missing :byte specifier to Lispworks
314 * Changed default string type in Lispworks to :unsigned-char
315 which is the native type for Lispworks foreign-strings.
316 * Reworked strtol to handle new character pointing method
319 * Fixed return value in load-foreign-library (Thanks Erik Winkels),
320 modified routine to accept pathnames as well as strings.
321 * Fix documention with :pointer-void (Again, Erik Winkels)
322 * Added missing type specifiers for CMUCL (Thanks a bunch, Erik!)
325 * Finished basic skeleton of documentation.
328 * Changed license to more liberal Lisp Lessor GNU Public License
329 * Fixed problem with uffi.system absent from in distribution
331 * Fixed compiler warnings
334 * Changed def-type to def-foreign-type
335 * Created new macro def-type to generate cl:deftype forms. Removed
336 uffi-declare and uffi-slot-type as they are no longer necessary.
339 * Modified input parameters to load-foreign-library
340 * Added to documention
341 * Changed parameter order in get-slot-value and deref-array
344 * Added to documentation
345 * Made Allegro CL array access more efficient
346 * Changed def-routine name to def-function
347 * Fixed bug in def-function for Lispworks]
348 * Fixed error in +null-c-string-pointer+ name
349 * Fixed error in (make-null-pointer) for Lispworks
350 * Reworked Lispwork c-strings to be (* :char) rather than the
351 implementation default of (* (:unsigned :char)) to be consistent
352 with CMUCL. Bumped version to 0.2.0 because of change this change.
353 * Renamed c-string to cstring to emphasize it as a basic type
354 * Modified getenv.cl example to avoid name collison with LW
355 * Modified compress.cl to setup output buffer as :unsigned*char
356 * Added test-all-examples function. All routines tested okay with
360 * Added ZIP file output with LF->CRLF translations to distribution
361 * Modified def-enum to use uffi:def-constant rather than