-
+ 038EC4FD302239A956B99C57D8481FD5A5942BE9776174845CED951D584E16D4330A01C410321225FC601BA2CD96F37A4BAAFC9C6A32E305BCE41DB63314C08B
bitcoin/src/shiva/CHANGES
(0 . 0)(1 . 326)
154 Change Log
155 ----------
156
157 Version 1.41
158 Bugs fixed:
159 #3020389 - Added makefile section for Mac OS X (SL)
160 #3286135 - Fixed num_mod routine which caused errors in use of modulo
161 #3290232 - Corrected version number shown on startup (GM)
162 #3394882 - Added missing #if in opdefines.h around get and put (DC)
163 #3395547 - Fix for the modulo procedure (DC)
164 #3400290 - Optimized append to make it an O(n) operation (DC)
165 #3493926 - Corrected flag used when building shared files on OSX (J)
166
167 R5RS related changes:
168 #2866196 - Parser does not handle delimiters correctly
169 #3395548 - Add a decimal point to inexact numbers in atom2str (DC)
170 #3399331 - Make min/max return inexact when any argument is inexact
171 #3399332 - Compatability fix for expt.
172 #3399335 - Optional radix for string->number and number->string (DC)
173 #3400202 - Append with one argument should not return a list (DC)
174 #3400284 - Compatability fix for integer?
175
176 Other changes:
177 - Added flags to makefile for MinGW/MSYS (TC)
178 - Moved variable declarations to avoid warnings with some compilers
179 - Don't print space after initial #( when printing vectors.
180 - Minor optimization for is_nonneg().
181 - No need to round integers in OP_ROUND (#3400284)
182 - Fixes to code that reports line number with error (RC)
183
184 Contributors:
185 Kevin Cozens, Gordon McNutt, Doug Currie, Sean Long, Tim Cas, Joey,
186 Richard Copley, and CMarinier.
187
188 Version 1.40
189 Bugs fixed:
190 #1964950 - Stop core dumps due to bad syntax in LET (and variants)
191 #2826594 - allow reverse to work on empty list (Tony Garnock-Jones)
192 Potential problem of arglist to foreign calls being wrongly GC'ed.
193 Fixed bug that read could loop forever (tehom).
194
195 API changes:
196 Exposed is_list and list_length.
197 Added scheme_register_foreign_func_list and declarations for it (tehom)
198 Defined *compile-hook* (tehom)
199
200 Other changes:
201 Updated is_list and list_length to handle circular lists.
202 Nested calling thru C has been made now safer (tehom)
203 Peter Michaux cleaned up port_rep_from_file
204 Added unwind-protect (tehom)
205 Some cleanups to in/outport and Eval_Cycle by Peter Michaux
206 Report error line number (Mostly by Sanel Zukan, back-compatibility by Tehom)
207
208 Contributors:
209 Kevin Cozens, Dimitrios Souflis, Tom Breton, Peter Michaux, Sanel Zukan,
210 and Tony Garnock-Jones.
211
212 Version 1.39
213 Bugs fixed:
214 Fix for the load bug
215 Fixed parsing of octal coded characters. Fixes bug #1818018.
216 Added tests for when mk_vector is out of memory. Can't rely on sc->sink.
217 Fix for bug #1794369
218 Finished feature-request 1599947: scheme_apply0 etc return values.
219 Partly provided feature-request 1599947: Expose list_length, eqv, etc
220 Provided feature-request 1599945, Scheme->C->Scheme calling.
221 Fix for bug 1593861 (behavior of is_integer)
222 Fix for bug 1589711
223 Error checking of binding spec syntax in LET and LETREC. The bad syntax
224 was causing a segmentation fault in Linux. Complete fixes for bug #1817986.
225 Error checking of binding spec syntax in LET*
226 Bad syntax was causing core dump in Linux.
227 Fix for nasty gc bug
228
229 R5RS changes:
230 R5RS requires numbers to be of equal value AND of the same type (ie. both
231 exact or inexact) in order to return #t from eqv?. R5RS compliance fix.
232 String output ports now conform to SRFI-6
233
234 Other changes:
235 Drew Yao fixed buffer overflow problems in mk_sharp_const.
236 put OP_T0LVL in charge of reacting to EOF
237 file_push checks array bounds (patch from Ray Lehtiniemi)
238 Changed to always use snprintf (Patch due to Ramiro bsd1628)
239 Updated usage information using text from the Manual.txt file.
240
241 Version 1.38
242 Interim release until the rewrite, mostly incorporating modifications
243 from Kevin Cozens. Small addition for Cygwin in the makefile, and
244 modifications by Andrew Guenther for Apple platforms.
245
246 Version 1.37
247 Joe Buehler submitted reserve_cells.
248
249 Version 1.36
250 Joe Buehler fixed a patch in the allocator.
251 Alexander Shendi moved the comment handling in the scanner, which
252 fixed an obscure bug for which Mike E had provided a patch as well.
253 Kevin Cozens has submitted some fixes and modifications which have
254 not been incorporated yet in their entirety.
255
256 Version 1.35
257 Todd Showalter discovered that the number of free cells reported
258 after GC was incorrect, which could also cause unnecessary allocations.
259
260 Version 1.34
261 Long missing version. Lots of bugfixes have accumulated in my email, so
262 I had to start using them. In this version, Keenan Pepper has submitted
263 a bugfix for the string comparison library procedure, Wouter Boeke
264 modified some code that was casting to the wrong type and crashed on
265 some machines, "SheppardCo" submitted a replacement "modulo" code and
266 Scott Fenton submitted lots of corrections that shut up some compiler
267 warnings. Brian Maher submitted instructions on how to build on OS-X.
268 I have to dig deeper into my mailbox and find earlier emails, too.
269
270 Version 1.33
271 Charles Hayden fixed a nasty GC bug of the new stack frame, while in
272 the process of porting TinyScheme to C++. He also submitted other
273 changes, and other people also had comments or requests, but the GC
274 bug was so important that this version is put through the door to
275 correct it.
276
277 Version 1.32
278 Stephen Gildea put some quality time on TinyScheme again, and made
279 a whole lot of changes to the interpreter that made it noticeably
280 faster.
281
282 Version 1.31
283 Patches to the hastily-done version 1.30. Stephen Gildea fixed
284 some things done wrongly, and Richard Russo fixed the makefile
285 for building on Windows. Property lists (heritage from MiniScheme)
286 are now optional and have dissappeared from the interface. They
287 should be considered as deprecated.
288
289 Version 1.30
290 After many months, I followed Preston Bannister's advice of
291 using macros and a single source text to keep the enums and the
292 dispatch table in sync, and I used his contributed "opdefines.h".
293 Timothy Downs contributed a helpful function, "scheme_call".
294 Stephen Gildea contributed new versions of the makefile and
295 practically all other sources. He created a built-in STRING-APPEND,
296 and fixed a lot of other bugs.
297 Ruhi Bloodworth reported fixes necessary for OS X and a small
298 bug in dynload.c.
299
300 Version 1.29
301 The previous version contained a lot of corrections, but there
302 were a lot more that still wait on a sheet of paper lost in a
303 carton someplace after my house move... Manuel Heras-Gilsanz
304 noticed this and resent his own contribution, which relies on
305 another bugfix that v.1.28 was missing: a problem with string
306 output, that this version fixes. I hope other people will take
307 the time to resend their contributions, if they didn't make it
308 to v.1.28.
309
310 Version 1.28
311 Many people have contacted me with bugfixes or remarks in
312 the three months I was inactive. A lot of them spotted that
313 scheme_deinit crashed while reporting gc results. They suggested
314 that sc->outport be set to NIL in scheme_deinit, which I did.
315 Dennis Taylor remarked that OP_VALUEPRINT reset sc->value instead
316 of preserving it. He submitted a modification which I adopted
317 partially. David Hovemeyer sent me many little changes, that you
318 will find in version 1.28, and Partice Stoessel modified the
319 float reader to conform to R5RS.
320
321 Version 1.27
322 Version 1.27 is the successor of 1.25. Bug fixes only, but I had to
323 release them so that everybody can profit. 'Backchar' tried to write
324 back to the string, which obviously didn't work for const strings.
325 'Substring' didn't check for crossed start and end indices. Defines
326 changed to restore the ability to compile under MSVC.
327
328 Version 1.26
329 Version 1.26 was never released. I changed a lot of things, in fact
330 too much, even the garbage collector, and hell broke loose. I'll
331 try a more gradual approach next time.
332
333 Version 1.25
334 Types have been homogenized to be able to accommodate a different
335 representation. Plus, promises are no longer closures. Unfortunately,
336 I discovered that continuations and force/delay do not pass the SCM
337 test (and never did)... However, on the bright side, what little
338 modifications I did had a large impact on the footprint:
339 USE_NO_FEATURES now produces an object file of 63960 bytes on Linux!
340
341 Version 1.24
342 SCM tests now pass again after change in atom2str.
343
344 Version 1.23
345 Finally I managed to mess it up with my version control. Version
346 1.22 actually lacked some of the things I have been fixing in the
347 meantime. This should be considered as a complete replacement for
348 1.22.
349
350 Version 1.22
351 The new ports had a bug in LOAD. MK_CLOSURE is introduced.
352 Shawn Wagner inquired about string->number and number->string.
353 I added string->atom and atom->string and defined the number
354 functions from them. Doing that, I fixed WRITE applied to symbols
355 (it didn't quote them). Unfortunately, minimum build is now
356 slightly larger than 64k... I postpone action because Jason's idea
357 might solve it elegantly.
358
359 Version 1.21
360 Jason Felice submitted a radically different datatype representation
361 which he had implemented. While discussing its pros and cons, it
362 became apparent that the current implementation of ports suffered
363 from a grave fault: ports were not garbage-collected. I changed the
364 ports to be heap-allocated, which enabled the use of string ports
365 for loading. Jason also fixed errors in the garbage collection of
366 vectors. USE_VERBATIM is gone. "ssp_compiler.c" has a better solution
367 on HTML generation. A bug involving backslash notation in strings
368 has been fixed. '-c' flag now executes next argument as a stream of
369 Scheme commands. Foreign functions are now also heap allocated,
370 and scheme_define is used to define everything.
371
372 Version 1.20
373 Tracing has been added. The toplevel loop has been slightly
374 rearranged. Backquote reading for vector templates has been
375 sanitized. Symbol interning is now correct. Arithmetic functions
376 have been corrected. APPLY, MAP, FOR-EACH, numeric comparison
377 functions fixed. String reader/writer understands \xAA notation.
378
379 Version 1.19
380 Carriage Return now delimits identifiers. DOS-formatted Scheme files
381 can be used by Unix. Random number generator added to library.
382 Fixed some glitches of the new type-checking scheme. Fixed erroneous
383 (append '() 'a) behavior. Will continue with r4rstest.scm to
384 fix errors.
385
386 Version 1.18
387 The FFI has been extended. USE_VERBOSE_GC has gone. Anyone wanting
388 the same functionality can put (gcverbose #t) in init.scm.
389 print-width was removed, along with three corresponding op-codes.
390 Extended character constants with ASCII names were added.
391 mk_counted_string paves the way for full support of binary strings.
392 As much as possible of the type-checking chores were delegated
393 to the inner loop, thus reducing the code size to less than 4200 loc!
394
395 Version 1.17
396 Dynamically-loaded extensions are more fully integrated.
397 TinyScheme is now distributed under the BSD open-source license.
398
399 Version 1.16
400 Dynamically-loaded extensions introduced (USE_DL).
401 Santeri Paavolainen found a race condition: When a cons is executed,
402 and each of the two arguments is a constructing function, GC could
403 happen before all arguments are evaluated and cons() is called, and
404 the evaluated arguments would all be reclaimed!
405 Fortunately, such a case was rare in the code, although it is
406 a pitfall in new code and code in foreign functions. Currently, only
407 one such case remains, when COLON_HOOK is defined.
408
409 Version 1.15
410 David Gould also contributed some changes that speed up operation.
411 Kirk Zurell fixed HASPROP.
412 The Garbage Collection didn't collect all the garbage...fixed.
413
414 Version 1.14
415 Unfortunately, after Andre fixed the GC it became obvious that the
416 algorithm was too slow... Fortunately, David Gould found a way to
417 speed it up.
418
419 Version 1.13
420 Silly bug involving division by zero resolved by Roland Kaufman.
421 Macintoch support from Shmulik Regev.
422 Float parser bug fixed by Alexander Shendi.
423 GC bug from Andru Luvisi.
424
425 Version 1.12
426 Cis* incorrectly called isalpha() instead of isascii()
427 Added USE_CHAR_CLASSIFIERS, USE_STRING_PORTS.
428
429 Version 1.11
430 BSDI defines isnumber... changed all similar functions to is_*
431 EXPT now has correct definition. Added FLOOR,CEILING,TRUNCATE
432 and ROUND, courtesy of Bengt Kleberg. Preprocessor symbols now
433 have values 1 or 0, and can be set as compiler defines (proposed
434 by Andy Ganor *months* ago). 'prompt' and 'InitFile' can now be
435 defined during compilation, too.
436
437 Version 1.10
438 Another bug when file ends with comment!
439 Added DEFINE-MACRO in init.scm, courtesy of Andy Gaynor.
440
441 Version 1.09
442 Removed bug when READ met EOF. lcm.
443
444 Version 1.08
445 quotient,remainder and modulo. gcd.
446
447 Version 1.07
448 '=>' in cond now exists
449 list? now checks for circularity
450 some reader bugs removed
451 Reader is more consistent wrt vectors
452 Quote and Quasiquote work with vectors
453
454 Version 1.06
455 #! is now skipped
456 generic-assoc bug removed
457 strings are now managed differently, hack.txt is removed
458 various delicate points fixed
459
460 Version 1.05
461 Support for scripts, *args*, "-1" option.
462 Various R5RS procedures.
463 *sharp-hook*
464 Handles unmatched parentheses.
465 New architecture for procedures.
466
467 Version 1.04
468 Added missing T_ATOM bits...
469 Added vectors
470 Free-list is sorted by address, since vectors need consecutive cells.
471 (quit <exitcode>) for use with scripts
472
473 Version 1.03 (26 Aug 1998):
474 Extended .h with useful functions for FFI
475 Library: with-input-* etc.
476 Finished R5RS I/O, added string ports.
477
478 Version 1.02 (25 Aug 1998):
479 First part of R5RS I/O.