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