r10571: avoid multiple evaluation for strings input to macros
[uffi.git] / ChangeLog
1 2005-06-09 Kevin Rosenberg (kevin@rosenberg.net)
2         * src/libraries.lisp: Commit patch from Edi Weitz to
3         allow plain filename library names to allow underlying
4         lisp implementation to find foreign libraries in the
5         locations known to the operating system.
6         * tests/cast.lisp: Add :module keyword as noted by
7         Joerg Hoehle.
8         * src/strings.lisp: Avoid multiple evaluation of input
9         parameters for macros as noted by Joerg Hoele.
10         
11 2005-04-12 Kevin Rosenberg (kevin@rosenberg.net)
12         * Version 1.4.37
13         * src/strings.lisp: Fix variable name
14         
15 2005-04-04 Kevin Rosenberg (kevin@rosenberg.net)
16         * src/strings.lisp, src/aggregates.lisp: Support change in SBCL copy
17         function [Thanks for Nathan Froyd and Zach Beane]
18         
19 2005-04-03 Kevin Rosenberg (kevin@rosenberg.net)
20         * src/objects.lisp: Commit patch from James Bielman to add
21         def-foreign-var support for OpenMCL
22         
23 2005-03-03 Kevin Rosenberg (kevin@rosenberg.net)
24         * src/primitives.lisp: Add support for :union types
25         [patch from Cyrus Harmon]
26         * tests/union.lisp, tests/structs.lisp: Tests for
27         union and structure types [from Cyrus Harmon]
28         
29 2005-02-22 Kevin Rosenberg (kevin@rosenberg.net)
30         * src/primitives.lisp, src/strings.lisp: Better support 
31         for sb-unicode [from Yoshinori Tahara and R. Mattes]
32
33 2005-01-22 Kevin Rosenberg (kevin@rosenberg.net)
34         * src/primitives.lisp: Better support SBCL-AMD64
35         
36 2004-11-08 Kevin Rosenberg (kevin@rosenberg.net)
37         * src/strings.lisp: Better support sb-unicode
38         * tests/compress.lisp: Support sb-unicode
39         
40 2004-10-07 Kevin Rosenberg (kevin@rosenberg.net)
41         * src/objects.lisp: Add new function:
42         convert-from-foreign-usb8
43         
44 2004-04-15 Kevin Rosenberg (kevin@rosenberg.net)
45         * src/objects.lisp: Add new functions:
46         MAKE-POINTER and POINTER-ADDRESS
47
48 2004-04-13 Kevin Rosenberg (kevin@rosenberg.net)
49         * src/string.lisp: Add new FOREIGN-STRING-LENGTH
50
51 2003-08-15 Kevin Rosenberg (kevin@rosenberg.net)
52         * Added with-cast-pointer and def-foreign-var (patches submitted
53         by Edi Weitz). 
54         * Added many new tests
55         
56 2002-10-16 Kevin Rosenberg (kevin@rosenberg.net)
57         * Added support for SBCL and SCL
58         
59 2002-09-29 Kevin Rosenberg (kevin@rosenberg.net)
60         * Numerous changes in openmcl support (uffi now supports
61         clsql on openmcl)
62         
63 2002-09-19 Kevin Rosenberg (kevin@rosenberg.net)
64         - Integrate John Desoi's OpenMCL support into src-mcl
65         * examples/Makefile: add section for building on MacOS X (John Desoi)
66         * examples/test-examples: changed from mk: to asdf: package loading (KMR)
67         * examples/run-examples: changed from mk: to asdf: package loading (KMR), 
68         add conditional loading if UFFI not loaded (John Desoi)
69         * examples/compress.cl: Add dylib to library types for MacOSX (John Desoi),
70         converted compressed output to hexidecimal display (KMR)
71         * examples/union.cl: Rework the tests (KMR)
72         * src-main/libraries.cl: add dylib as default library type on MacOSX (John Desoi)
73         * src-main/aggregates.cl: convert from uffi type in deref-array (John Desoi)
74         
75 2002-09-16 Kevin Rosenberg (kevin@rosenberg.net)
76         - Restructure directories to move to a asdf definition file
77         without pathnames.
78         
79 2002-08-25 Kevin Rosenberg (kevin@rosenberg.net)
80        - Restructure directories to attempt to properly handle both
81         Common Lisp Controller and non-CLC systems
82         
83 2002-08-17 Kevin Rosenberg (kevin@rosenberg.net)
84
85         - add uffi.asd for ASDF users
86
87 2002-08-01 Kevin Rosenberg (kevin@rosenberg.net)
88         - Restructure directories to improve Common Lisp Controller v3
89         compatibility
90         
91 2002-07-25 Kevin Rosenberg (kevin@rosenberg.net)
92
93         - Rework handling of logical pathnames.
94         - Move run-examples.cl to examples directory.
95         
96 2002-06-28 Kevin Rosenberg (kevin@rosenberg.net)
97
98         - Added size-of-foreign-type function.
99         
100 2002-06-26 Kevin Rosenberg (kevin@rosenberg.net)
101
102         - Fix bug in Lispworks allocate-foreign-object
103         - Added new :unsigned-byte type. Made :byte signed. 
104         
105 2002-04-27 Kevin Rosenberg (kevin@rosenberg.net)
106         - misc files
107         First debian version
108         
109 2002-04-23 Kevin Rosenberg (kevin@rosenberg.net)
110         - doc/*
111         Updated to debian docbook catalog
112         
113 2002-04-23 John DeSoi (desoi@mac.com)
114         * src/mcl/*
115         Improved MCL support
116
117 2002-04-06 Kevin Rosenberg (kevin@rosenberg.net)
118         * src/mcl/libraries.cl:
119         Removed unnecessary function and added find-foreign-library
120         * src/mcl/*.cl:
121         Added authorship for John DeSoi
122         * doc/ref.sgml:
123         Added documentation for find-foreign-library
124         * uffi.system:
125         Simplied logical pathnames and MCL loading
126         
127 2002-04-04 John DeSoi (desoi@mac.com)
128         * src/mcl/*.cl
129         Added initial support for MCL
130
131 2002-04-02 Kevin Rosenberg (kevin@rosenberg.net)
132         * src/libraries.cl:
133         Added test for .so libraries on CMUCL and use sys::load-object-file instead
134         of alien:load-library-file
135         * examples/Makefile:
136         Updated defaults so library is created correctly on Linux, FreeBSD, and Solaris
137
138 2002-04-02 Kevin Rosenberg (kevin@rosenberg.net)
139         * examples/compress.cl:
140         Fixed missing '/'
141         * examples/union.cl:
142         Added support for SPARC big-endian
143         * test-examples.cl:
144         Automated testing suite
145         
146 2002-04-01 Kevin Rosenberg (kevin@rosenberg.net)
147         * src/libraries.cl:
148         * examples/Makefile:
149         Changed default type for FreeBSD and updated Makefile for
150         FreeBSD and Solaris. Enhanced find-foreign-library to
151         take a list of types to search.
152         * examples/compress.cl:
153         Add support to use find-foreign-library
154
155 2002-03-31  Kevin Rosenberg (kevin@rosenberg.net)
156         * src/strings.cl:
157         Fixed bug in with-foreign-string (Thanks Harald Hanche-Olsen)
158         * examples/Makefile:
159         Create a .a library file for FreeBSD
160         * src/libraries.cl:
161         Added default type and find-foreign-library functions
162         
163 2002-03-29  Kevin Rosenberg (kevin@rosenberg.net)
164         * src/objects.cl: 
165         Fixed bug in deref-pointer (Thanks John Desoi!)
166
167 2002-03-22  Kevin Rosenberg (kevin@rosenberg.net)
168         * src/aggregates.cl: 
169         Changed name and implementation of def-array to more appropriate
170         def-array-pointer
171         * src/ref.sgml:
172         Updated def-array-pointer documentation
173         * src/primitives.cl:
174         Made results of def-constant equal those of cl:defconstant
175         * src/objects.cl:
176         Made type be evaluated for with-foreign-object and allocate-foreign-object
177         * VERSION:
178         Increase to 0.3.0 to coincide with the release of CLSQL.
179         
180 21 Mar 2002
181         * Fixed problem with NULL foreign-strings with CMUCL
182         * Added c-test-fns to examples for allow more specific testing
183         of UFFI. Builds on UNIX and Win32 platforms.
184         * Added def-union function, added union.cl example
185         * Fixed error with ensure-char-[character|integer]
186         * Added 2-d array example to examples/arrays.cl 
187         * Fixed documentation error on gethostname
188         * Added ensure-char-* and def-union to documentation
189         * Added double-float vector example to c-test-fns
190         * Reworked cstring on Lispworks to have LW handle string conversion
191         * First pass at with-foreign-object -- unoptimized
192         * Added gethostname2 example which uses with-foreign-object
193         * Added char-array-to-pointer function to encapsulate
194         converting a char array to a char pointer
195         * Converted with-foreign-object to use stack allocation on CMUCL and LW
196         * Added benchmark code, first file is for allocation
197         
198 20 Mar 2002
199         * Updated strings.cl so that foreign-strings are always unsigned.
200         Fixes a problem with strtol example.
201         * Added ensure-char-character and ensure-char-integer to handle
202         differences in implementations dereferencing of (* :char).
203         * Added section on design priorities for UFFI
204         * Added section in TODO on splitting implementation-dependent code
205         
206 19 Mar 2002
207         * Added size parameter to allocate-foreign-object. Creates an array
208         of dimensions size.
209         * Got array-2d example working with a 1-d array.
210         * Cleaned strtol example
211         * Added TODO file
212         
213 18 Mar 2002
214         * Documentation fixes (Erik Winkels)
215         * Fixed missing '.' in CMUCL type declarations (Erik Winkels)
216         
217 17 Mar 2002
218         * Changed deref-pointer so it always returns a character when
219         called with a :char or :unsigned-char type
220         * Removed function ensure-char as no longer needed
221         * Added missing :byte specifier to Lispworks
222         * Changed default string type in Lispworks to :unsigned-char
223         which is the native type for Lispworks foreign-strings.
224         * Reworked strtol to handle new character pointing method
225         
226 16 Mar 2002
227         * Fixed return value in load-foreign-library (Thanks Erik Winkels),
228         modified routine to accept pathnames as well as strings.
229         * Fix documention with :pointer-void (Again, Erik Winkels)
230         * Added missing type specifiers for CMUCL (Thanks a bunch, Erik!)
231         
232 15 Mar 2002
233         * Finished basic skeleton of documentation.
234         
235 14 Mar 2002
236         * Changed license to more liberal Lisp Lessor GNU Public License
237         * Fixed problem with uffi.system absent from in distribution 
238         (Thanks John DeSoi)
239         * Fixed compiler warnings
240         
241
242 11 Mar 2002
243         * Changed def-type to def-foreign-type
244         * Created new macro def-type to generate cl:deftype forms. Removed
245         uffi-declare and uffi-slot-type as they are no longer necessary.
246          
247 10 Mar 2002
248         * Modified input parameters to load-foreign-library
249         * Added to documention
250         * Changed parameter order in get-slot-value and deref-array 
251         
252 9 Mar 2002
253         * Added to documentation
254         * Made Allegro CL array access more efficient
255         * Changed def-routine name to def-function
256         * Fixed bug in def-function for Lispworks]
257         * Fixed error in +null-c-string-pointer+ name
258         * Fixed error in (make-null-pointer) for Lispworks
259         * Reworked Lispwork c-strings to be (* :char) rather than the
260         implementation default of (* (:unsigned :char)) to be consistent
261         with CMUCL. Bumped version to 0.2.0 because of change this change.
262         * Renamed c-string to cstring to emphasize it as a basic type
263         * Modified getenv.cl example to avoid name collison with LW
264         * Modified compress.cl to setup output buffer as :unsigned*char
265         * Added test-all-examples function. All routines tested okay with
266         ACL, LW, and CMUCL
267         
268 8 Mar 2002
269         * Added ZIP file output with LF->CRLF translations to distribution
270         * Modified def-enum to use uffi:def-constant rather than
271         cl:defconstant
272