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