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