forked from skypher/cl-store
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
405 lines (345 loc) · 17.7 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
2009-02-24 Sean Ross <sross@common-lisp.net>
0.8.9
* default-backend.lisp, circularities.lisp: Updated the serialization of lists to fix the bug reported by gugamilare@gmail.com.
OPTIMIZATION: T and NIL are no longer stored as symbols but have custom serializers (which only writes out the type code)
FEATURE: Correct List Serialization. A new symbol *precise-list-storage* is now exported from CL-STORE. When bound to true
all lists will be serialized in as correct a manner as possible ensuring that shared list structure is correctly tracked.
The unfortunate downside to this is that, due to the recursive nature of the method, storing large lists will blow the stack.
This provides a workaround for a bug reported in November 2007 by szergling.
2009-01-05 Sean Ross <sross@common-lisp.net>
0.8.6
* default-backend.lisp: Use find-symbol to lookup sb-c::&optional-dispatch. Reported by .Andrea Chiumenti
and other small changes.
2007-11-23 Sean Ross <sross@common-lisp.net>
0.8.3
* abcl/mop.lisp: MOP support for ABCL. Thanks to szergling.
* clisp/custom.lisp: Custom Closure serialization for CLISP. Thanks to szergling.
Functions are no longer reliably serializable between implementations.
* tests.lisp: New function tests for CLISP.
2007-10-30 Sean Ross <sross@common-lisp.net>
* cl-store.asd: Release 0.8
2007-09-09 Sean Ross <sross@common-lisp.net>
* sbcl/custom.lisp: be lenient when parsing parts of sbcls version string. Thanks to Gustavo.
2007-01-26 Sean Ross <sross@common-lisp.net>
* default-backend.lisp : Checked in a fix for non sb32 integers, certain
large number numbers where incorrectly serialize.
Reported by Cyrus Harmon.
* plumbing.lisp: Added a new function alias-backend and alias the backend
'cl-store:cl-store as :cl-store
2007-01-23 Sean Ross <sross@common-lisp.net>
* circularities.lisp: Renamed with-grouped-serialization to with-serialization-unit
and added two keyword args to allow removal of *grouped-restore-hash* and
*grouped-store-hash* special vars as exported symbols.
* default-backend.lisp: Changed defvars of register-types to defparameters.
2007-01-22 Sean Ross <sross@common-lisp.net>
* utils.lisp, circularities.lisp, tests.lisp
* stop store-32-bit from creating an intermediary object
which reduces the consing (on at least Lispworks 5.0 and SBCL 'Kitten of Death').
* export 4 new symbols which allows more efficient serialization of values.
create-serialize-hash, with-grouped-serialization, *grouped-store-hash*
and *grouped-restore-hash*.
* conditionalize some forms which were preventing ABCL from running the tests.
2006-12-16 Sean Ross <sross@common-lisp.net>
* circularities.lisp: Bug fix from Alex Mizrahi. Change *restored-values*
to use eql as the hash test.
2006-12-16 Sean Ross <sross@common-lisp.net>
* cl-store.asd, utils.lisp : Added preliminary support for ABCL (tested on
version 0.0.9).
2006-12-13 Sean Ross <sross@common-lisp.net>
* utils.lisp, acl/custom.lisp, cmucl/custom.lisp, lispworks/custom.lisp
sbcl/custom/lisp, default-backend.lisp, cl-store.asd:
Committed handling for serialization of float types short, single, double and
long and handling of positive infinity, negative infinity and NaN for all
float types (this is still only for sbcl, cmucl, acl, and lispworks).
2006-12-11 Sean Ross <sross@common-lisp.net>
* lispworks/custom.lisp: Began work on new special float creation.
* .cvsignore : Update ignorable files
2006-10-01 Sean Ross <sross@common-lisp.net>
* utils.lisp: Fix mkstr to upcase args.
2006-08-03 Sean Ross <sross@common-lisp.net>
* lispworks/custom.lisp: Fix float handling for Lispworks 5.0 .
* utils.lisp: changed references to compute-slots to class-slots.
* package.lisp: Removed symbols from export list that are no
longer used.
2006-03-13 Sean Ross <sross@common-lisp.net>
* sbcl/custom.lisp: Fixed sbcl structure definition
storing for versions >= 0.9.6.25 .
2006-03-13 Sean Ross <sross@common-lisp.net>
* utils.lisp, tests.lisp, openmcl/custom.lisp: Added
support for structure object storing for OpenMCL.
Thanks to Kilian Sprotte for the code.
* default-backend.lisp, utils.lisp: Changed creation
of class initargs to use loop instead of mappend.
Removed mappend.
2005-11-30 Sean Ross <sross@common-lisp.net>
* package.lisp: Added imports for MCL (from Gary King)
* backends.lisp: Changed definition of the defstore-? and
defrestore-? macros to work with lispworks dspecs.
* default-backend.lisp: Fixed the *sbcl-readtable* to copy
the default readtable.
* plumbing.lisp: Changed cl-store-error to extend directly from error
and removed error from restore-error and store-error's precedence list.
2005-10-06 Sean Ross <sross@common-lisp.net>
* backends.lisp: Fixed type definition for
compatible-magic-numbers from integer to list.
Reported by Bryan O'Connor.
2005-10-04 Sean Ross <sross@common-lisp.net>
* sbcl/custom.lisp: sb-kernel:instance is no
longer a class (since 0.9.5.3 or so). Fixed
definition of *sbcl-struct-inherits* to work
with or without this class.
Reported by Rafał Strzaliński.
2005-09-20 Sean Ross <sross@common-lisp.net>
* default-backend.lisp: Changed storing and restoring
of standard-object to not create unnecessary garbage.
2005-09-09 Sean Ross <sross@common-lisp.net>
* default-backend.lisp: Altered list serialization to store
all types of lists (proper, dotted and circular) in N time,
thanks to Alain Picard for parts of the code.
2005-09-01 Sean Ross <sross@common-lisp.net>
Version 0.6 Release.
* cl-store.asd, package.lisp: Added support for the new release
of CLISP with a MOP.
* default-backend.lisp: Fixed storing of long lists.
(Reported by and help by Alain Picard)
* default-backend.lisp: New magic number, due to the
change in approach of storing lists, although previous
files can still be restored.
2005-05-18 Sean Ross <sross@common-lisp.net>
* utils.lisp: Removed awhen
* backends.lisp: Added a compatible-magic-numbers slot.
* default-backend.lisp: misc cleanups.
New magic number (can still restore previous versions files).
2005-05-06 Sean Ross <sross@common-lisp.net>
* backends.lisp: Added optional errorp argument
to find-backend (default false).
* default-backend.lisp: Changed simple-string storing
to keep the upgraded-array-element-type of the
restored string the same as the string which was stored.
This seems to give a performance boost (more in memory usage)
with SBCL and Lispworks.
* circularities.lisp: Stopped binding *stored-values*
and *restored-values* when circularity checking is inhibited.
* doc/cl-store.texi: Miscellaneous fixes.
2005-05-05 Sean Ross <sross@common-lisp.net>
* all: After much experimentation with Lispworks I
discovered that globally declaiming unsafe code is
not a good idea. Changed to per function declarations.
* default-backend.lisp: Removed lispworks unicode string
test as it was incorrect.
2005-03-24 Sean Ross <sross@common-lisp.net>
* backends.lisp, circularities.lisp, tests.lisp:
Added test gensym.2 which crashed in previous
versions (pre 0.5.7). Symbols are now tested
for eq-ality when storing.
int-sym-or-char-p renamed to int-or-char-p.
* plumbing.lisp: Added error to the superclasses
of restore-error and store-error.
2005-03-23 Sean Ross <sross@common-lisp.net>
* backends.lisp: Fix up for type specifications
for the old-magic-numbers and stream-type slots
for class backend, reported by Kilian Sprotte.
* circularities.lisp: Changed *store-hash-size* and
*restore-hash-size* to more reasonable values (50).
2005-03-17 Sean Ross <sross@common-lisp.net>
* doc/cl-store.texi: Fixed up to work properly with makeinfo.
2005-03-15 Sean Ross <sross@common-lisp.net>
* default-backend.lisp, utils.lisp: Changed reference
to array-dimension-limit in array storing to
array-total-size limit.
* default-backend.lisp: Added an implementation specific
test to determine whether or not a string contains unicode
characters.
2005-02-26 Sean Ross <sross@common-lisp.net>
* default-backend.lisp: Fixed internal-store-object
for the hash-table class (argument order was messed).
2005-02-18 Sean Ross <sross@common-lisp.net>
Version 0.5 Release.
* utils.lisp, package.lisp: Took a lesson from the MOP
and changed serializable-slots to call the new GF
serializable-slots-using-class.
2005-02-17 Sean Ross <sross@common-lisp.net>
* package.lisp, utils.lisp, default-backend.lisp: Patch
from Thomas Stenhaug which changed get-slot-details to
a generic-function so that it can be customized.
Added serializable-slots (returns a list of slot-definitions)
which can be overridden to customize which slots are
serialized when storing clos instances.
2005-02-16 Sean Ross <sross@common-lisp.net>
* default-backend.lisp, package.lisp, plumbing.lisp: Patch
from Thomas Stenhaug which adds more comprehensive package
storing.
2005-02-14 Sean Ross <sross@common-lisp.net>
* default-backend.lisp: Applied patch from Thomas Stenhaug
to default null superclasses of a restored class to
standard-object as this caused errors in Lispworks.
2005-02-11 Sean Ross <sross@common-lisp.net>
New Magic Number for cl-store-backend.
* default-backend.lisp, acl/custom.lisp, lispworks/custom.lisp
* sbcl/custom.lisp, cmucl/custom.lisp:
Changed storing of floats to be compatible between implementations
while ensuring that NaN floats and friends are still serializable.
* backends.lisp, plumbing.lisp:
Added concept of backend designators which can be a
symbol (the backend name) or the backend itself. These are
acceptable replacements for a backend object
to store, restore and with-backend.
Completely changed argument order for generic functions
to ensure that backends are the first argument.
* ecl/mop.lisp: Added support for ecl.
* plumbing.lisp: Removed multiple-value-store (I don't really
see the point of it).
* backends.lisp: Changed the working of object restoration
from functions in a hash-table (restorer-funs of a backend)
to generic functions specialized on backend and a symbol,
removed find-function-for-type.
* plumbing.lisp: Changed the handling of the stream-type
of backends to be any legal type designator since it's
only used when opening files.
* backends.lisp: Both defstore-? and defrestore-?
can take an optional qualifer argument.
2005-02-03 Sean Ross <sross@common-lisp.net>
* default-backend.lisp: Fixed hash-table restoration,
it no longer assumes that the result of hash-table-test
is a symbol but treats it as a function designator.
* default-backend.lisp: Added various declarations
to help improve speed.
2005-02-01 Sean Ross <sross@common-lisp.net>
* various: Large patch which has removed pointless
argument-precedence-order from various gf's, added the
start of support for ecl, renamed fix-clisp.lisp file to
mop.lisp, and changed resolving-object and setting
to use delays allowing get-setf-place and *postfix-setters*
to be removed.
2004-12-02 Sean Ross <sross@common-lisp.net>
* sbcl/custom.lisp, cmucl/custom.lisp: Changed the evals when restoring
structure definitions to (funcall (compile nil ...))
* cl-store-xml.asd: Removed
* cl-store-xml.noasd: Added (xml-backend is officially nuked).
2004-11-26 Sean Ross <sross@common-lisp.net>
* cmucl/custom.lisp: Custom structure definition storing for CMUCL.
* plumbing.lisp: Bind *read-eval* to nil inside store and restore.
2004-11-24 Sean Ross <sross@common-lisp.net>
* default-backend.lisp: New Magic Number (Breaks backwards compatibility)
* cl-store.asd New Version 0.4
* default-backend.lisp: Changed symbol storing to be smarter
with symbols with no home package.
* sbcl/custom.lisp: Support for structure definitions from defstruct.
* tests.lisp: Tests for structure definitions.
* circularities.lisp: Optimization for referrers and values-object's.
Added *store-hash-size* and *restore-hash-size* which can be bound
to reduce the calls to rehash which conses like crazy.
Added *check-for-circs* which can be bound to nil to stop
checking for circularities which reduces consing drastically but objects
will not be eq and will hang on circular objects (see README).
* default-backend.lisp: New Magic Number ,again.
Cater for SB! package names for built-in function names
in SBCL.
2004-11-10 Sean Ross <sross@common-lisp.net>
New Version: 0.3.6 New Magic Number (Breaks backwards compatibility)
* default-backend.lisp: Storing for functions and generic functions.
* tests.lisp: Tests for functions and GF's.
* plumbing.lisp, circularities.lisp, default-backend.lisp:
Optimized int-sym-or-char-p.
* clisp/fix-clisp.lisp: Added generic-function-name.
* package.lisp: Import generic-function-name.
* default-backend.lisp: More optimizations for strings and ints.
2004-11-03 Sean Ross <sross@common-lisp.net>
* tests.lisp: Added tests for unicode strings and symbols.
* default-backend.lisp: We definitely support unicode now.
Added small optimization to stop the size of files from
ballooning.
2004-11-01 Sean Ross <sross@common-lisp.net>
* default-backend.lisp: Changed storing of sizes of integers
and strings from store-32-bit to store-object. Changed all
instances of store-32-byte to store-32-bit.
Added a simple function storing method.
New Magic Number
* docs/cl-store.texi: New documentation.
* lispworks/custom.lisp: Custom storing for conditions
to ignore class allocated slots.
2004-10-21 Sean Ross <sross@common-lisp.net>
* package.lisp, acl/custom.lisp: Added support for Allegro CL.
2004-10-13 Sean Ross <sross@common-lisp.net>
* cl-store.asd: New Version (0.3)
* circularities.lisp, default-backend.lisp, xml-backend.lisp:
Changed referrer representation to a structure.
Removed cl-store-referrer package.
2004-10-12 Sean Ross <sross@common-lisp.net>
* lispworks/custom.lisp, lispworks/custom-xml.lisp, default-backend.lisp:
Added support for NaN floats.
* tests.lisp: Test NaN floats, Test multiple values.
* default-backend.lisp: fix typo which broke clisp support.
2004-10-11 Sean Ross <sross@common-lisp.net>
* default-backend: Added multiple-value-store.
* xml-backend: Added support for multiple return values.
2004-10-07 Sean Ross <sross@common-lisp.net>
* circularities.lisp: Added support for multiple return values from
functions defined with defrestore-?.
2004-10-06 Sean Ross <sross@common-lisp.net>
* cl-store-xml.asd, xml-package.lisp, xml-tests.lisp: Moved the xml backend
into it's own package files.
* xml-backend.lisp, sbcl/custom-xml.lisp, cmucl/custom-xml.lisp, lispworks/custom-xml.lisp:
Added support for infinite floats to sbcl, cmucl and lispworks.
* xml-backend.lisp, default-backend.lisp:
Fixed floating point contagion warning signalled by clisp.
* plumbing.lisp: Changed error handing to signal a store-error or restore-error
inside a handler-bind and leave the original error unhandled.
* docs/: Rudimentary Documentation.
2004-10-05 Sean Ross <sross@common-lisp.net>
* default-backend.lisp: New Magic number.
* backends.lisp: Changed with-backend to take a variable instead of a backend name.
* backends.lisp, plumbing.lisp: Added previous magic number field to backends and
an appropriate error if an incompatible magic number is read.
* circularities.lisp, plumbing.lisp: Removed check-stream-element-type.
* default-backend.lisp: Added a small optimization for 32 byte integers and
support for symbols with unicode strings as names.
2004-10-04 Sean Ross <sross@common-lisp.net>
* sbcl/custom.lisp: Custom float storing (supports inifinities).
* cmucl/custom.lisp: Custom float storing (supports inifinities).
* xml-backend.lisp, tests.xml: Deprecated xml-backend.
2004-10-01 Sean Ross <sross@common-lisp.net>
* lispworks/custom.lisp: Lispworks support for inifinite floats from Alain Picard.
* tests.lisp: Infinite float tests for lispworks.
2004-09-27 Sean Ross <sross@common-lisp.net>
* plumbing.lisp: Slightly nicer error handling (I think).
All conditions caught in store and restore are resignalled
and rethrown as a store or restore error respectively.
2004-09-01 Sean Ross <sross@common-lisp.net>
* sbcl/custom.lisp, sbcl/custom-xml.lisp: Custom structure storing.
* cmucl/custom.lisp, cmucl/custom-xml.lisp: Custom structure storing.
* lispworks/custom.lisp, lispworks/custom-xml.lisp: Custom structure storing
for Lispworks from Alain Picard.
* test.lisp: Enabled structure tests for Lispworks.
2004-07-29 Sean Ross <sross@common-lisp.net>
* cl-store.asd: New version (0.2)
* sbcl/sockets.lisp: Removed.
* store.lisp: Removed.
* backends.lisp: New file for creating backends (Idea from Robert Sedgewick).
* circularities.lisp: Much changes, now works properly.
* default-backend.lisp: New file contains storing definitions
from store.lisp. Changes to simple-string storing, magic-number changed.
* plumbing.lisp: New file, framework stuff.
* xml-backend.lisp: New file. New backend for writing out Common-Lisp
objects in xml format.
* tests.lisp : More and more tests.
2004-06-04 Sean Ross <sross@common-lisp.net>
* circularities.lisp: spelling fix.
* cl-store.asd: Specialized operation-done-p to stop some errors in asdf.
* package.lisp: Imports for openmcl from Robert Sedgewick,
Along with extra imports for cmucl.
2004-05-21 Sean Ross <sross@common-lisp.net>
* store.lisp, fix-clisp.lisp, circularities.lisp, package.lisp,
* tests.lisp, utils.lisp, cl-store.asd:
Added ability to specify the type code of an object
when using defstore. Added code to autogenerate the
accessor methods for CLISP when restoring classes.
EQ floats are now restored correctly.
2004-05-18 Sean Ross <sross@common-lisp.net>
* store.lisp, fix-clisp.lisp, sbcl/sockets.lisp:
Added fix for sbcl to use non-blocking IO when working with sockets.
Created directory structure and moved fix-clisp
2004-05-17 Sean Ross <sross@common-lisp.net>
* store.lisp, fast-io.lisp, circularities.lisp, package.lisp,
fix-clisp.lisp, utils.lisp, cl-store.asd, tests.lisp:
Initial import