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