asciilifeform_shi...    1 Change Log
asciilifeform_shi...    2 ----------
asciilifeform_shi...    3 
asciilifeform_shi...    4 Version 1.41
asciilifeform_shi...    5     Bugs fixed:
asciilifeform_shi...    6         #3020389 - Added makefile section for Mac OS X  (SL)
asciilifeform_shi...    7         #3286135 - Fixed num_mod routine which caused errors in use of modulo
asciilifeform_shi...    8         #3290232 - Corrected version number shown on startup  (GM)
asciilifeform_shi...    9         #3394882 - Added missing #if in opdefines.h around get and put  (DC)
asciilifeform_shi...   10         #3395547 - Fix for the modulo procedure  (DC)
asciilifeform_shi...   11         #3400290 - Optimized append to make it an O(n) operation  (DC)
asciilifeform_shi...   12         #3493926 - Corrected flag used when building shared files on OSX (J)
asciilifeform_shi...   13 
asciilifeform_shi...   14     R5RS related changes:
asciilifeform_shi...   15         #2866196 - Parser does not handle delimiters correctly
asciilifeform_shi...   16         #3395548 - Add a decimal point to inexact numbers in atom2str  (DC)
asciilifeform_shi...   17         #3399331 - Make min/max return inexact when any argument is inexact
asciilifeform_shi...   18         #3399332 - Compatability fix for expt.
asciilifeform_shi...   19         #3399335 - Optional radix for string->number and number->string  (DC)
asciilifeform_shi...   20         #3400202 - Append with one argument should not return a list  (DC)
asciilifeform_shi...   21         #3400284 - Compatability fix for integer?
asciilifeform_shi...   22 
asciilifeform_shi...   23     Other changes:
asciilifeform_shi...   24         - Added flags to makefile for MinGW/MSYS (TC)
asciilifeform_shi...   25         - Moved variable declarations to avoid warnings with some compilers
asciilifeform_shi...   26         - Don't print space after initial #( when printing vectors.
asciilifeform_shi...   27         - Minor optimization for is_nonneg().
asciilifeform_shi...   28         - No need to round integers in OP_ROUND (#3400284)
asciilifeform_shi...   29         - Fixes to code that reports line number with error  (RC)
asciilifeform_shi...   30 
asciilifeform_shi...   31     Contributors:
asciilifeform_shi...   32         Kevin Cozens, Gordon McNutt, Doug Currie, Sean Long, Tim Cas, Joey,
asciilifeform_shi...   33         Richard Copley, and CMarinier.
asciilifeform_shi...   34 
asciilifeform_shi...   35 Version 1.40
asciilifeform_shi...   36     Bugs fixed:
asciilifeform_shi...   37         #1964950 - Stop core dumps due to bad syntax in LET (and variants)
asciilifeform_shi...   38         #2826594 - allow reverse to work on empty list (Tony Garnock-Jones)
asciilifeform_shi...   39         Potential problem of arglist to foreign calls being wrongly GC'ed.
asciilifeform_shi...   40         Fixed bug that read could loop forever (tehom).
asciilifeform_shi...   41 
asciilifeform_shi...   42     API changes:
asciilifeform_shi...   43         Exposed is_list and list_length.
asciilifeform_shi...   44         Added scheme_register_foreign_func_list and declarations for it (tehom)
asciilifeform_shi...   45         Defined *compile-hook* (tehom)
asciilifeform_shi...   46 
asciilifeform_shi...   47     Other changes:
asciilifeform_shi...   48         Updated is_list and list_length to handle circular lists.
asciilifeform_shi...   49         Nested calling thru C has been made now safer (tehom)
asciilifeform_shi...   50         Peter Michaux cleaned up port_rep_from_file
asciilifeform_shi...   51         Added unwind-protect (tehom)
asciilifeform_shi...   52         Some cleanups to in/outport and Eval_Cycle by Peter Michaux
asciilifeform_shi...   53         Report error line number (Mostly by Sanel Zukan, back-compatibility by Tehom)
asciilifeform_shi...   54 
asciilifeform_shi...   55     Contributors:
asciilifeform_shi...   56         Kevin Cozens, Dimitrios Souflis, Tom Breton, Peter Michaux, Sanel Zukan,
asciilifeform_shi...   57         and Tony Garnock-Jones.
asciilifeform_shi...   58 
asciilifeform_shi...   59 Version 1.39
asciilifeform_shi...   60     Bugs fixed:
asciilifeform_shi...   61         Fix for the load bug
asciilifeform_shi...   62         Fixed parsing of octal coded characters. Fixes bug #1818018.
asciilifeform_shi...   63         Added tests for when mk_vector is out of memory. Can't rely on sc->sink.
asciilifeform_shi...   64         Fix for bug #1794369
asciilifeform_shi...   65         Finished feature-request 1599947: scheme_apply0 etc return values.
asciilifeform_shi...   66         Partly provided feature-request 1599947: Expose list_length, eqv, etc
asciilifeform_shi...   67         Provided feature-request 1599945, Scheme->C->Scheme calling.
asciilifeform_shi...   68         Fix for bug 1593861 (behavior of is_integer)
asciilifeform_shi...   69         Fix for bug 1589711
asciilifeform_shi...   70         Error checking of binding spec syntax in LET and LETREC. The bad syntax
asciilifeform_shi...   71         was causing a segmentation fault in Linux. Complete fixes for bug #1817986.
asciilifeform_shi...   72         Error checking of binding spec syntax in LET*
asciilifeform_shi...   73         Bad syntax was causing core dump in Linux.
asciilifeform_shi...   74         Fix for nasty gc bug
asciilifeform_shi...   75 
asciilifeform_shi...   76     R5RS changes:
asciilifeform_shi...   77         R5RS requires numbers to be of equal value AND of the same type (ie. both
asciilifeform_shi...   78         exact or inexact) in order to return #t from eqv?. R5RS compliance fix.
asciilifeform_shi...   79         String output ports now conform to SRFI-6
asciilifeform_shi...   80 
asciilifeform_shi...   81     Other changes:
asciilifeform_shi...   82         Drew Yao fixed buffer overflow problems in mk_sharp_const.
asciilifeform_shi...   83         put OP_T0LVL in charge of reacting to EOF
asciilifeform_shi...   84         file_push checks array bounds (patch from Ray Lehtiniemi)
asciilifeform_shi...   85         Changed to always use snprintf (Patch due to Ramiro bsd1628)
asciilifeform_shi...   86         Updated usage information using text from the Manual.txt file.
asciilifeform_shi...   87 
asciilifeform_shi...   88 Version 1.38
asciilifeform_shi...   89     Interim release until the rewrite, mostly incorporating modifications
asciilifeform_shi...   90     from Kevin Cozens. Small addition for Cygwin in the makefile, and
asciilifeform_shi...   91     modifications by Andrew Guenther for Apple platforms.
asciilifeform_shi...   92 
asciilifeform_shi...   93 Version 1.37
asciilifeform_shi...   94     Joe Buehler submitted reserve_cells.
asciilifeform_shi...   95 
asciilifeform_shi...   96 Version 1.36
asciilifeform_shi...   97     Joe Buehler fixed a patch in the allocator.
asciilifeform_shi...   98     Alexander Shendi moved the comment handling in the scanner, which
asciilifeform_shi...   99     fixed an obscure bug for which Mike E had provided a patch as well.
asciilifeform_shi...  100     Kevin Cozens has submitted some fixes and modifications which have
asciilifeform_shi...  101     not been incorporated yet in their entirety.
asciilifeform_shi...  102 
asciilifeform_shi...  103 Version 1.35
asciilifeform_shi...  104     Todd Showalter discovered that the number of free cells reported
asciilifeform_shi...  105     after GC was incorrect, which could also cause unnecessary allocations.
asciilifeform_shi...  106 
asciilifeform_shi...  107 Version 1.34
asciilifeform_shi...  108     Long missing version. Lots of bugfixes have accumulated in my email, so
asciilifeform_shi...  109     I had to start using them. In this version, Keenan Pepper has submitted
asciilifeform_shi...  110     a bugfix for the string comparison library procedure, Wouter Boeke
asciilifeform_shi...  111     modified some code that was casting to the wrong type and crashed on
asciilifeform_shi...  112     some machines, "SheppardCo" submitted a replacement "modulo" code and
asciilifeform_shi...  113     Scott Fenton submitted lots of corrections that shut up some compiler
asciilifeform_shi...  114     warnings. Brian Maher submitted instructions on how to build on OS-X.
asciilifeform_shi...  115     I have to dig deeper into my mailbox and find earlier emails, too.
asciilifeform_shi...  116 
asciilifeform_shi...  117 Version 1.33
asciilifeform_shi...  118     Charles Hayden fixed a nasty GC bug of the new stack frame, while in
asciilifeform_shi...  119     the process of porting TinyScheme to C++. He also submitted other
asciilifeform_shi...  120     changes, and other people also had comments or requests, but the GC
asciilifeform_shi...  121     bug was so important that this version is put through the door to
asciilifeform_shi...  122     correct it.
asciilifeform_shi...  123 
asciilifeform_shi...  124 Version 1.32
asciilifeform_shi...  125     Stephen Gildea put some quality time on TinyScheme again, and made
asciilifeform_shi...  126     a whole lot of changes to the interpreter that made it noticeably
asciilifeform_shi...  127     faster.
asciilifeform_shi...  128 
asciilifeform_shi...  129 Version 1.31
asciilifeform_shi...  130     Patches to the hastily-done version 1.30. Stephen Gildea fixed
asciilifeform_shi...  131     some things done wrongly, and Richard Russo fixed the makefile
asciilifeform_shi...  132     for building on Windows. Property lists (heritage from MiniScheme)
asciilifeform_shi...  133     are now optional and have dissappeared from the interface. They
asciilifeform_shi...  134     should be considered as deprecated.
asciilifeform_shi...  135 
asciilifeform_shi...  136 Version 1.30
asciilifeform_shi...  137     After many months, I followed Preston Bannister's advice of
asciilifeform_shi...  138     using macros and a single source text to keep the enums and the
asciilifeform_shi...  139     dispatch table in sync, and I used his contributed "opdefines.h".
asciilifeform_shi...  140     Timothy Downs contributed a helpful function, "scheme_call".
asciilifeform_shi...  141     Stephen Gildea contributed new versions of the makefile and
asciilifeform_shi...  142     practically all other sources. He created a built-in STRING-APPEND,
asciilifeform_shi...  143     and fixed a lot of other bugs.
asciilifeform_shi...  144     Ruhi Bloodworth reported fixes necessary for OS X and a small
asciilifeform_shi...  145     bug in dynload.c.
asciilifeform_shi...  146 
asciilifeform_shi...  147 Version 1.29
asciilifeform_shi...  148     The previous version contained a lot of corrections, but there
asciilifeform_shi...  149     were a lot more that still wait on a sheet of paper lost in a
asciilifeform_shi...  150     carton someplace after my house move... Manuel Heras-Gilsanz
asciilifeform_shi...  151     noticed this and resent his own contribution, which relies on
asciilifeform_shi...  152     another bugfix that v.1.28 was missing: a problem with string
asciilifeform_shi...  153     output, that this version fixes. I hope other people will take
asciilifeform_shi...  154     the time to resend their contributions, if they didn't make it
asciilifeform_shi...  155     to v.1.28.
asciilifeform_shi...  156 
asciilifeform_shi...  157 Version 1.28
asciilifeform_shi...  158     Many people have contacted me with bugfixes or remarks in
asciilifeform_shi...  159     the three months I was inactive. A lot of them spotted that
asciilifeform_shi...  160     scheme_deinit crashed while reporting gc results. They suggested
asciilifeform_shi...  161     that sc->outport be set to NIL in scheme_deinit, which I did.
asciilifeform_shi...  162     Dennis Taylor remarked that OP_VALUEPRINT reset sc->value instead
asciilifeform_shi...  163     of preserving it. He submitted a modification which I adopted
asciilifeform_shi...  164     partially. David Hovemeyer sent me many little changes, that you
asciilifeform_shi...  165     will find in version 1.28, and Partice Stoessel modified the
asciilifeform_shi...  166     float reader to conform to R5RS.
asciilifeform_shi...  167 
asciilifeform_shi...  168 Version 1.27
asciilifeform_shi...  169     Version 1.27 is the successor of 1.25. Bug fixes only, but I had to
asciilifeform_shi...  170     release them so that everybody can profit. 'Backchar' tried to write
asciilifeform_shi...  171     back to the string, which obviously didn't work for const strings.
asciilifeform_shi...  172     'Substring' didn't check for crossed start and end indices. Defines
asciilifeform_shi...  173     changed to restore the ability to compile under MSVC.
asciilifeform_shi...  174 
asciilifeform_shi...  175 Version 1.26
asciilifeform_shi...  176     Version 1.26 was never released. I changed a lot of things, in fact
asciilifeform_shi...  177     too much, even the garbage collector, and hell broke loose. I'll
asciilifeform_shi...  178     try a more gradual approach next time.
asciilifeform_shi...  179 
asciilifeform_shi...  180 Version 1.25
asciilifeform_shi...  181     Types have been homogenized to be able to accommodate a different
asciilifeform_shi...  182     representation. Plus, promises are no longer closures. Unfortunately,
asciilifeform_shi...  183     I discovered that continuations and force/delay do not pass the SCM
asciilifeform_shi...  184     test (and never did)... However, on the bright side, what little
asciilifeform_shi...  185     modifications I did had a large impact on the footprint:
asciilifeform_shi...  186     USE_NO_FEATURES now produces an object file of 63960 bytes on Linux!
asciilifeform_shi...  187 
asciilifeform_shi...  188 Version 1.24
asciilifeform_shi...  189     SCM tests now pass again after change in atom2str.
asciilifeform_shi...  190 
asciilifeform_shi...  191 Version 1.23
asciilifeform_shi...  192     Finally I managed to mess it up with my version control. Version
asciilifeform_shi...  193     1.22 actually lacked some of the things I have been fixing in the
asciilifeform_shi...  194     meantime. This should be considered as a complete replacement for
asciilifeform_shi...  195     1.22.
asciilifeform_shi...  196 
asciilifeform_shi...  197 Version 1.22
asciilifeform_shi...  198     The new ports had a bug in LOAD. MK_CLOSURE is introduced.
asciilifeform_shi...  199     Shawn Wagner inquired about string->number and number->string.
asciilifeform_shi...  200     I added string->atom and atom->string and defined the number
asciilifeform_shi...  201     functions from them. Doing that, I fixed WRITE applied to symbols
asciilifeform_shi...  202     (it didn't quote them). Unfortunately, minimum build is now
asciilifeform_shi...  203     slightly larger than 64k... I postpone action because Jason's idea
asciilifeform_shi...  204     might solve it elegantly.
asciilifeform_shi...  205 
asciilifeform_shi...  206 Version 1.21
asciilifeform_shi...  207     Jason Felice submitted a radically different datatype representation
asciilifeform_shi...  208     which he had implemented. While discussing its pros and cons, it
asciilifeform_shi...  209     became apparent that the current implementation of ports suffered
asciilifeform_shi...  210     from a grave fault: ports were not garbage-collected. I changed the
asciilifeform_shi...  211     ports to be heap-allocated, which enabled the use of string ports
asciilifeform_shi...  212     for loading. Jason also fixed errors in the garbage collection of
asciilifeform_shi...  213     vectors. USE_VERBATIM is gone. "ssp_compiler.c" has a better solution
asciilifeform_shi...  214     on HTML generation. A bug involving backslash notation in strings
asciilifeform_shi...  215     has been fixed. '-c' flag now executes next argument as a stream of
asciilifeform_shi...  216     Scheme commands. Foreign functions are now also heap allocated,
asciilifeform_shi...  217     and scheme_define is used to define everything.
asciilifeform_shi...  218 
asciilifeform_shi...  219 Version 1.20
asciilifeform_shi...  220     Tracing has been added. The toplevel loop has been slightly
asciilifeform_shi...  221     rearranged. Backquote reading for vector templates has been
asciilifeform_shi...  222     sanitized. Symbol interning is now correct. Arithmetic functions
asciilifeform_shi...  223     have been corrected. APPLY, MAP, FOR-EACH, numeric comparison
asciilifeform_shi...  224     functions fixed. String reader/writer understands \xAA notation.
asciilifeform_shi...  225 
asciilifeform_shi...  226 Version 1.19
asciilifeform_shi...  227     Carriage Return now delimits identifiers. DOS-formatted Scheme files
asciilifeform_shi...  228     can be used by Unix. Random number generator added to library.
asciilifeform_shi...  229     Fixed some glitches of the new type-checking scheme. Fixed erroneous
asciilifeform_shi...  230     (append '() 'a) behavior. Will continue with r4rstest.scm to
asciilifeform_shi...  231     fix errors.
asciilifeform_shi...  232 
asciilifeform_shi...  233 Version 1.18
asciilifeform_shi...  234     The FFI has been extended. USE_VERBOSE_GC has gone. Anyone wanting
asciilifeform_shi...  235     the same functionality can put (gcverbose #t) in init.scm.
asciilifeform_shi...  236     print-width was removed, along with three corresponding op-codes.
asciilifeform_shi...  237     Extended character constants with ASCII names were added.
asciilifeform_shi...  238     mk_counted_string paves the way for full support of binary strings.
asciilifeform_shi...  239     As much as possible of the type-checking chores were delegated
asciilifeform_shi...  240     to the inner loop, thus reducing the code size to less than 4200 loc!
asciilifeform_shi...  241 
asciilifeform_shi...  242 Version 1.17
asciilifeform_shi...  243     Dynamically-loaded extensions are more fully integrated.
asciilifeform_shi...  244     TinyScheme is now distributed under the BSD open-source license.
asciilifeform_shi...  245 
asciilifeform_shi...  246 Version 1.16
asciilifeform_shi...  247     Dynamically-loaded extensions introduced (USE_DL).
asciilifeform_shi...  248     Santeri Paavolainen found a race condition: When a cons is executed,
asciilifeform_shi...  249     and each of the two arguments is a constructing function,  GC could
asciilifeform_shi...  250     happen before all arguments are evaluated and cons() is called, and
asciilifeform_shi...  251     the evaluated arguments would all be reclaimed!
asciilifeform_shi...  252     Fortunately, such a case was rare in the code, although it is
asciilifeform_shi...  253     a pitfall in new code and code in foreign functions. Currently, only
asciilifeform_shi...  254     one such case remains, when COLON_HOOK is defined.
asciilifeform_shi...  255 
asciilifeform_shi...  256 Version 1.15
asciilifeform_shi...  257     David Gould also contributed some changes that speed up operation.
asciilifeform_shi...  258     Kirk Zurell fixed HASPROP.
asciilifeform_shi...  259     The Garbage Collection didn't collect all the garbage...fixed.
asciilifeform_shi...  260 
asciilifeform_shi...  261 Version 1.14
asciilifeform_shi...  262     Unfortunately, after Andre fixed the GC it became obvious that the
asciilifeform_shi...  263     algorithm was too slow... Fortunately, David Gould found a way to
asciilifeform_shi...  264     speed it up.
asciilifeform_shi...  265 
asciilifeform_shi...  266 Version 1.13
asciilifeform_shi...  267     Silly bug involving division by zero resolved by Roland Kaufman.
asciilifeform_shi...  268     Macintoch support from Shmulik Regev.
asciilifeform_shi...  269     Float parser bug fixed by Alexander Shendi.
asciilifeform_shi...  270     GC bug from Andru Luvisi.
asciilifeform_shi...  271 
asciilifeform_shi...  272 Version 1.12
asciilifeform_shi...  273     Cis* incorrectly called isalpha() instead of isascii()
asciilifeform_shi...  274     Added USE_CHAR_CLASSIFIERS, USE_STRING_PORTS.
asciilifeform_shi...  275 
asciilifeform_shi...  276 Version 1.11
asciilifeform_shi...  277     BSDI defines isnumber... changed all similar functions to is_*
asciilifeform_shi...  278     EXPT now has correct definition. Added FLOOR,CEILING,TRUNCATE
asciilifeform_shi...  279     and ROUND, courtesy of Bengt Kleberg. Preprocessor symbols now
asciilifeform_shi...  280     have values 1 or 0, and can be set as compiler defines (proposed
asciilifeform_shi...  281     by Andy Ganor *months* ago). 'prompt' and 'InitFile' can now be
asciilifeform_shi...  282     defined during compilation, too.
asciilifeform_shi...  283 
asciilifeform_shi...  284 Version 1.10
asciilifeform_shi...  285     Another bug when file ends with comment!
asciilifeform_shi...  286     Added DEFINE-MACRO in init.scm, courtesy of Andy Gaynor.
asciilifeform_shi...  287 
asciilifeform_shi...  288 Version 1.09
asciilifeform_shi...  289     Removed bug when READ met EOF. lcm.
asciilifeform_shi...  290 
asciilifeform_shi...  291 Version 1.08
asciilifeform_shi...  292     quotient,remainder and modulo. gcd.
asciilifeform_shi...  293 
asciilifeform_shi...  294 Version 1.07
asciilifeform_shi...  295     '=>' in cond now exists
asciilifeform_shi...  296     list? now checks for circularity
asciilifeform_shi...  297     some reader bugs removed
asciilifeform_shi...  298     Reader is more consistent wrt vectors
asciilifeform_shi...  299     Quote and Quasiquote work with vectors
asciilifeform_shi...  300 
asciilifeform_shi...  301 Version 1.06
asciilifeform_shi...  302     #! is now skipped
asciilifeform_shi...  303     generic-assoc bug removed
asciilifeform_shi...  304     strings are now managed differently, hack.txt is removed
asciilifeform_shi...  305     various delicate points fixed
asciilifeform_shi...  306 
asciilifeform_shi...  307 Version 1.05
asciilifeform_shi...  308     Support for scripts, *args*, "-1" option.
asciilifeform_shi...  309     Various R5RS procedures.
asciilifeform_shi...  310     *sharp-hook*
asciilifeform_shi...  311     Handles unmatched parentheses.
asciilifeform_shi...  312     New architecture for procedures.
asciilifeform_shi...  313 
asciilifeform_shi...  314 Version 1.04
asciilifeform_shi...  315     Added missing T_ATOM bits...
asciilifeform_shi...  316     Added vectors
asciilifeform_shi...  317     Free-list is sorted by address, since vectors need consecutive cells.
asciilifeform_shi...  318     (quit <exitcode>) for use with scripts
asciilifeform_shi...  319 
asciilifeform_shi...  320 Version 1.03 (26 Aug 1998):
asciilifeform_shi...  321     Extended .h with useful functions for FFI
asciilifeform_shi...  322     Library: with-input-* etc.
asciilifeform_shi...  323     Finished R5RS I/O, added string ports.
asciilifeform_shi...  324 
asciilifeform_shi...  325 Version 1.02 (25 Aug 1998):
asciilifeform_shi...  326     First part of R5RS I/O.