OpenLisp ChangeLog



Version 10.1.0



2014/08/31: Final release 10.1.0 with build 5934.
2014/08/31: Qualified with MSVC++ 2013.
2014/08/30: Qualified port on Linux powerpc 32/64bit with gcc 4.7.2.
2014/08/30: Qualified port on Raspberry Pi (ARM6L Debian Linux gcc 4.8.2).
2014/08/30: Qualified port on FreeBSD 10.1.0 (x86_64) with clang 3.3.
2014/08/29: PGO is built by default on Linux x86_64/i686/sparc and Solaris.
2014/08/19: Add support for SQLite 3.8.6.0.
2014/08/17: Support PGO with MSVC (i386 only).
2014/08/17: Improve Pelles C port.
2014/07/26: Qualified port on MinGW / gcc 4.9.1 (x86_64/i686).
2014/07/26: Add configure option to support static lib compiled using PGO.
2014/07/24: On unix build binary with static lib (was with all .o).
2014/07/24: Add PGO support with gcc which can save 20% in speed.
2014/07/22: Use BzSeed (unsigned int) for BzRandom.
2014/07/22: Qualified port on Linux Debian / gcc 4.9.0 (x86_64).
2014/07/21: Rename deprecated configure.in to configure.ac.
2014/07/21: Fix wrong cast that makes random generator to hang on BIGENDIAN.
2014/07/20: Qualified port on Solaris 10 sparc with gcc 4.9.1 (-m64 & -m32).
2014/06/30: Qualified port on Linux Fedora 20 / gcc 4.8.3 (x86_64/i686).
2014/06/29: Java interface uses JDK 8.0 by default.
2014/06/28: Android NDK r9d port with support for KitKat 4.4.
2014/06/28: Fix two small bugs when BIGNUM feature is not used.
2014/06/22: Fix shared build with cygwin.
2014/06/22: Strip binary and shared libs with install-sh -s option.
2014/06/21: Improve shared lib compilation.
2014/06/20: Static lib is no more compiled with -fPIC with gcc.
2014/06/15: Fix warning when Clang is used to compile readline.
2014/06/15: Use "Clang" version instead of GCC when __clang__ is detected.
2014/04/27: Support new readline 6.3 function typedef.
2014/04/27: Qualified port on Solaris 10 sparc with gcc 4.9.0 (-m64 & -m32).
2014/04/26: Qualified port on MinGW / gcc 4.9.0 (x86_64/i686).
2014/04/25: Qualified port on Linux Debian / gcc 4.9.0 (x86_64/i686).
2014/04/25: Fix a spurious warning seen with gcc 4.9.0 on eval.
2014/03/29: Add support for SQLite 3.8.4.2.
2014/03/14: Add support for SQLite 3.8.4.1.
2014/03/08: TinyCC is now able to also use difftime on WIN64.
2014/03/08: Reworked BIGNUM random function using new BzRandom MT-Safe version.
2014/03/07: Add $ monetary format. Basically the same as '~,2f'.
2014/03/01: Bignum uses its own rand() MT-safe implementation (based on glibc).
2014/02/27: Bignum uses table to find printer constants for different bases.
2014/02/21: Use gcc 4.9.0 BETA for MinGW-64.
2014/02/04: Fix recursive label local function in interpreted mode.
2014/01/26: Qualified port on FreeBSD 10.0 (x86_64) with clang 3.3.
2013/12/06: Qualified port on NetBSD 6.1.2 (x86_64/i686) with gcc 4.5.3.
2013/12/21: Qualified port on Linux Fedora 20 / gcc 4.8.2 (x86_64/i686).
2013/12/06: Add support for SQLite 3.8.2.0.
2013/10/28: Add branch prediction support.
2013/10/26: Qualified port on Debian x86_64 with gcc 4.8.2 (-m64).
2013/10/18: Add support for SQLite 3.8.1.0.
2013/10/18: Qualified port on Solaris 10 sparc with gcc 4.8.2 (-m64 & -m32).
2013/08/30: Add support for SQLite 3.8.0.1.
2013/08/27: Add support for SQLite 3.8.0.0.
2013/08/18: Qualified port on Windows with Digital Mars C/C++ 8.57.
2013/06/30: Change version to 10.1.0 (beta).




Version 10.0.0



2013/06/30: Final release 10.0.0 with build 5868.
2013/06/30: Full qualified port on AIX 7.1 with gcc 4.8.1.
2013/06/15: Add tst/testflt.lsp to stress GC boxed float.
2013/06/14: Optimize GC for boxed floats. Always setmark (no more check before).
2013/06/06: Thanks to VS2012.2, MSVC can use -analyze for x64 version.
2013/06/03: Fix and improve 'clean' Makefile.in entry.
2013/06/02: Add LTO optimization configure option.
2013/06/02: Qualified port on Solaris 10 sparc with gcc 4.8.1 (-m64 & -m32).
2013/05/26: Add support for SQLite 3.7.17.0.
2013/06/11: Full qualified port on Linux sparc64 (Debian 7.0 wheeze).
2013/04/29: Switch to zlib 1.2.8 (optional).
2013/04/25: DO/DO* have optional init while FOR (ISLISP) requires it.
2013/04/21: Fix readline completion.
2013/04/21: No more apply y2k patch on systems with time().
2013/04/21: Allocate number of seconds between [1900-1970] on 32bits systems.
2013/04/20: Add GET-DECODE-TIME function in datetime.lsp.
2013/04/20: GET-UNIVERSAL-TIME returns seconds since 1900-01-01 (ISLISP).
2013/04/20: Qualified port on cygwin 1.7.18 x86_64/gcc 4.8 with autoconf build.
2013/04/20: Qualified port on cygwin 1.7.17 i686/gcc 4.5.3 with autoconf build.
2013/04/18: Add ENCODE-UNIVERSAL-TIME/DECODE-UNIVERSAL-TIME.
2013/04/14: Fix (totally broken) UNINTERN and add missing test for it.
2013/04/14: Move #n= and #n# internal variables to C kernel and improve logic.
2013/04/13: Fix REST compiler open-macro.
2013/04/13: Fix COND expansion for flet/labels.
2013/04/12: Add support for SQLite 3.7.16.2.
2013/04/07: Add lib/cirlist.lsp sharp reader (#n=obj #n#).
2013/04/01: Force rationals to require a positive denominator.
2013/03/31: Fix bigq memory leak when creating rational from string.
2013/03/30: Add support for SQLite 3.7.16.1.
2013/03/29: Qualified port on Windows 7 / gcc 4.8 (x86_64/i686).
2013/03/24: Windows GUI was not able to exit with "X" button.
2013/03/24: Qualified port on Solaris 10 sparc with gcc 4.8.0 (-m64 & -m32).
2013/03/23: Check pad in format for possible buffer overflow.
2013/03/23: Windows widgets symbol were initialized as internal.
2013/03/10: Use bignum 1.5.2.
2013/03/04: Build standard libraries for tcc.
2013/02/27: Qualified port on Windows 7 / gcc 4.7.2 (x86_64/i686).
2013/02/19: Fully support CC=clang with no warnings.
2013/02/17: Fix few minor warnings detected by clang compiler on C backend.
2013/02/15: Qualified port with TinyCC 0.9.26 (Windows 32/64 and Linux x64/ARM).
2013/02/10: Small optimization when _RATIONAL is not used.
2013/02/06: Qualified port on Raspberry Pi (ARM6L Debian Linux tcc 0.9.26 beta).
2013/02/03: Return to "user" package after an error occurs.
2013/02/02: Fix few -analyze warnings in bignum tests.
2013/01/31: Fix HTTGET odd test on POST request (Rev. 1.41).
2013/01/31: Fix LIBLOAD with a 2nd argument.
2013/01/26: Qualified port on Raspberry Pi (NetBSD 6.99.16 gcc 4.5.4).
2013/01/16: Qualified port on Linux Fedora 18 / gcc 4.7.2 (x86_64/i686).
2013/01/01: Use latest config.guess tool.
2012/11/20: Add support for SQLite (--sqlite) in update.sh.
2012/11/18: Qualified port on Raspberry Pi (ARM6L Debian Linux gcc 4.7.2).
2012/11/04: Add rpi/rpi.c module.
2012/10/20: Qualified port on Raspberry Pi (ARM6L Debian Linux gcc 4.6.3).
2012/10/19: Fix broken pipe on unix.
2012/09/23: Qualified port on Solaris 10 sparc with gcc 4.7.2 (-m64 & -m32).
2012/09/01: Switch to VC++ 2012.
2012/07/08: Switch to Pelles C 7.00 (32/64bits).
2012/06/16: Switch to Pelles C 7.00 RC4 (32/64bits).
2012/06/16: Qualified port on Solaris 10 sparc with gcc 4.7.1 (-m64 & -m32).
2012/06/11: Add support for SQLite 3.7.13.
2012/05/28: Switch to Pelles C 7.00 RC3 (32/64bits).
2012/05/27: Fix warning detecter by lint (solaris sparc).
2012/05/27: Add support for SunPRO C/C++ 12.3
2012/05/19: Change http standalone module name to olhttp to avoid ln conflic.
2012/05/19: Add missing flags for standalone compilation on unix.
2012/05/16: Add support for SQLite 3.7.12.
2012/05/13: Add tests for byte functions.
2012/05/06: Add LOGCOUNT.
2012/05/05: Add lib/byte.lsp as a standard OpenLisp library module.
2012/05/02: Fix Linux multi-lib build on mips.
2012/05/02: Change version to 10.0.0 (beta).




Version 9.9.0



2012/05/01: Final release 9.9.0 with build 5768.
2012/04/29: olshbin is passed as const char*.
2012/04/16: Improve float comparison accuracy.
2012/04/15: Switch to Pelles C 7.00 RC1 (32/64bits).
2012/04/10: Remove "floatsXX" feature, replace with float-precision.
2012/04/08: Add float-precision to sysinfo structure.
2012/04/07: Single implementation for 64bit and 31bit floats.
2012/03/24: Better manage compiler output files.
2012/03/23: Qualified port on Solaris 10 sparc with gcc 4.7.0 (-m64 & -m32).
2012/03/21: Autoconf shared lib support for gcc.
2012/03/20: Add support for SQLite 3.7.11.
2012/03/20: Better autoconf installation support.
2012/03/15: Add pkg-config file.
2012/03/14: Avoid infinite loop when trying to allocate a lot of VM.
2012/03/09: Install script uses conf/install-sh on systems using ./configure.
2012/03/09: Fix lib name generated by ./configure.
2012/03/05: Qualified port on Linux mips (-mabi=32/-mabi=64) with gcc 4.4.6.
2012/03/04: IN-PACKAGE was not exported in startup.lsp (remove as SUBR1).
2012/03/04: Qualified port on Solaris 10 sparc with gcc 4.6.3 (-m64 & -m32).
2012/03/01: Fix few minor warnings with VisualStudio 11 and -analyze.
2012/02/29: Major change: IN-PACKAGE is now a macro and package must exists.
2012/02/27: Add contrib/olunit.lsp unit tests.
2012/02/22: Check valgind with drd and helgrind pthread checkers.
2012/02/16: Speedup numeric functions +, -, *, /, with 2 args.
2012/02/16: For rational argument, SQRT returns a rational if possible.
2012/02/13: Add -rational configure option.
2012/02/10: better compile DEFSET with packages.
2012/02/06: Factorize standard libraries makefile rules in stdlib.mak.
2012/02/06: Optimize gethash C backend calls by using olgethash3.
2012/02/02: Add contrib/sparse.lsp for sparse vectors and arrays.
2012/01/31: Fix CREATE-STRING-OUTPUT-STREAM extra object creation.
2012/01/30: Fix few minor warnings detected by clang compiler.
2012/01/30: Fix SPLIT-STRING error when 2nd argument was a symbol.
2012/01/30: Update compiler and C backend to support  conversion.
2012/01/30: CONVERT supports  conversion.
2012/01/30: Fix wrong fd type when zlib is used.
2012/01/30: Switch to zlib 1.2.6 (optional).
2012/01/28: Add RATIONAL function (even without rational numbers).
2012/01/27: Add RATIONALIZE (even without rational numbers).
2012/01/27: FORMAT better supports padding with ~s and ~a directives.
2012/01/17: Add support for SQLite 3.7.10.
2012/01/16: Add testsplx.lsp simplex test suite.
2012/01/10: Add contrib/simplex.lsp (Dantzig algorithm).
2012/01/09: Fix small integer printing when *PRINT-BASE* is not 10.
2012/01/08: Almost complete rational number integration (still optional).
2012/01/07: Fix to 0/x reader.
2012/01/06: Add  type and RATIONALP (even without rational support).
2012/01/03: Add bignum.h which contains common definitions.
2012/01/01: Rewrite, fix and improve BzToStringBuffer.
2011/12/31: Optimize very large bignum printing for all bases.
2011/12/30: Change copyright dates (2012).
2011/12/29: Use gcc 4.7.0 for MinGW-64 and MinGW-32 ports.
2011/12/19: Fix RANDOM for boxed and unboxed small numbers.
2011/12/19: Better randomize bignum bits.
2011/12/18: Change PARSE-NUMBER to accept leading spaces.
2011/12/17: Change linkenv macro to remove evalorder warning detected by splint.
2011/12/10: Improve bignum printing on 64bit machines.
2011/12/07: Makes bignum module an OpenSource project on SourceForce.
2011/12/04: Fix BzRound when result is halfaway (take even number).
2011/12/03: Fix BzCeiling/BzFloor/BzRound/BzTruncate bignum library.
2011/12/03: Add optional 2nd argument to CEILING/FLOOR/ROUND/TRUNCATE (CLtL).
2011/12/02: Add INTEGER-LENGTH function.
2011/11/26: Improve RANDOM/SET-RANDOM to support bignums (in bigz.c).
2011/11/18: Add contrib/dijkstra.lsp (Dijkstra algorithm).
2011/11/11: Add contrib/fordfulk.lsp (Ford-Fulkerson algorithm).
2011/11/08: Add support for SQLite 3.7.8.
2011/11/06: Script update.sh finds the version based on archive file name.
2011/11/05: Qualified port on Linux hppa2.0 with gcc 4.3.2.
2011/11/05: Qualified port on Linux ia64 with gcc 4.4.5.
2011/11/05: Qualified port on Linux mips (-mabi=32/-mabi=64) with gcc 4.3.1.
2011/11/04: Change version to 9.9.0 (beta).



Version 9.8.0



2011/11/04: Final release 9.8.0 with build 5597.
2011/11/04: Fix mmap start mem on Mac OS 64bits.
2011/11/03: Qualified port on Mac OS X 10.8 (i386/x86_64/ppc) with gcc 4.2.1.
2011/11/02: Qualified port on OpenBSD 5.0 (i386/x86_64) with gcc 4.2.1.
2011/11/01: Fix "restrict" use with same pointer.
2011/10/27: Qualified port on Linux (2.6.18) on s390/s390x (IBM zSeries).
2011/10/27: Qualified port on Solaris 10 sparc with gcc 4.6.2 (-m64 & -m32).
2011/10/26: Switch to VC++ 2010 SP1 for standard builds.
2011/10/24: Add non-regression tests for CSV module.
2011/10/18: STRING-SPLIT checks that no token is greater than OLMAXTOKENLEN.
2011/10/17: SUBSEQ returns the same empty string if start equals stop index.
2011/10/17: Optimize "" reader which always returns the same empty string.
2011/10/17: Add ./net/jsonpp.lsp in default distribution.
2011/10/15: Move cvs.lsp in ./net since it is a known MIME type.
2011/10/15: CSV module handles multiline quoted strings.
2011/10/09: Search engine includes twitter JSON results.
2011/10/01: REGEXE and REMATCH accept an optional start argument (default 0).
2011/10/01: Add STRING-REPLACE in startup.lsp.
2011/09/30: CSV module adds support for strings delimited items.
2011/09/20: Fix more warnings detected by VC++ 2011 -analyze option.
2011/09/20: Add support for Windows 8 ARM (VC++ 2011 preview).
2011/09/20: Add support for SQLite 3.7.8.
2011/09/10: Fix compiler bug with non-lexical constant expressions.
2011/09/08: Compiler warns about possible constant propagation optimization.
2011/09/07: Change shebang to "#!/usr/bin/env openlisp".
2011/09/04: Peephole optimizer loops on remove-dead-store (i.e. optimize more).
2011/09/02: Optimize index validation in SVREF/SVSET/CHAR/SETCHAR.
2011/08/26: Change inline limit from 32 to 48 (more functions can be inlined).
2011/08/26: Optimize C backend by adding AREF to the list of non-GC calls.
2011/08/10: Add support gcc OpenMP 3.0 support from configure option.
2011/08/20: Optimize some conversions.
2011/08/19: Optimize NULL/Jxx LAP instructions.
2011/08/10: Add support for OpenMP 2.0 (tested with MSVC and gcc).
2011/08/01: Auto detect cl processor backend from nmake.
2011/07/22: Java interface tested with JDK 7.0.
2011/07/02: Simplify argument parsing from command line.
2011/07/01: Change char * to const char * function prototype when applicable.
2011/06/30: Improve Java interface.
2011/06/31: Add olhookgets to read a line from terminal.
2011/06/28: Qualified port on Solaris 10 sparc with gcc 4.6.1 (-m64 & -m32).
2011/06/18: Improve and factorize SEND and SEND-TO.
2011/06/16: Add net/ntp.lsp (Network Time Protocol).
2011/06/14: Fix compilation of gc.c when trace is used but without threads.
2011/06/14: Improve :udp sockets.
2011/06/14: Fix leak by calling closesocket if a socket option can't be set.
2011/06/14: SOCKET accepts two optional arguments (protocol and ip version).
2011/06/14: Check event (like interruption) in socket RECEIVE.
2011/06/11: Check UNICODE character encoding overflow with socket functions.
2011/06/09: Generalize olhookalloc/olhookfree instead of specific malloc calls.
2011/06/08: Optimize  to  conversion (try to avoid allocation).
2011/06/06: Fix memory leak in  to  conversion overflow.
2011/06/05: Change the global value of  to undef.
2011/06/05: All symbols in :SYSTEM package are not exported.
2011/06/05: Improve loop on symbols.
2011/06/05: Add a second optional argument to OBLIST (:internal / :external).
2011/06/05: Add DO-ALL-SYMBOLS.
2011/06/04: DEFPACKAGE uses keyword instead of string (avoid duplication).
2011/06/02: Net modules use only packaged functions.
2011/05/31: Remove duplicated initializations in olinit.
2011/05/31: Remove duplicated OPENLISP:POINTER-TO-ADDRESSE (now only in SYSTEM).
2011/05/31: Remove duplicated OPENLISP:STREAMP (now only in ISLISP).
2011/05/31: http-get  includes  object (was inherit).
2011/05/30: Fix http-get with new url structure names.
2011/05/30: APPEND and STRING-APPEND ignore nil arguments.
2011/05/27: UNTIL (from LL) macro has been removed.
2011/05/27: REPEAT (from LL) macro has been removed.
2011/05/24: Add admin/yum.conf to install 32bit support on Fedora.
2011/05/24: Qualified port on Linux Fedora 15 / gcc 4.6.0 (x86_64/i386).
2011/05/23: C backend uses new olrequiredmodule for modules in MODREG variable.
2011/05/21: Improve module loading.
2011/05/21: Add some missing REQUIRE when defstruct is used.
2011/05/21: Fix wrong function call in codegen.lsp
2011/05/21: Compiler checks that SUBR[0-3] have the right number of args.
2011/05/20: Add support for SQLite 3.7.6.3.
2011/05/20: URL encoder/decoder use utf8.
2011/05/20: Define UTF8-TO-STRING and STRING-TO-UTF8 in utf8 package.
2011/05/19: Change version to 9.8.0 (beta).



Version 9.7.0



2011/05/19: Final release 9.7.0 with build 5473.
2011/05/13: Isolate EBCDIC functions in charutil.c.
2011/05/11: Add *READ-BASE* dynamic variable.
2011/05/08: Change url structure to match RFC 3986 names.
2011/05/07: Change *XXX* constant name convention to +XXX+.
2011/05/05: Reorganise cgi and url net modules.
2011/05/03: Install signal trap before external module load.
2011/05/03: Better detect socket EOF on read.
2011/04/20: OBLIST accepts nil to find uninterned symbols.
2011/04/20: Add support for SQLite 3.7.6.2.
2011/04/12: Add missing PROVIDE in net/rss.lsp and net/base64.lsp modules.
2011/04/12: Add package for base64 module.
2011/04/12: Add support for SQLite 3.7.6.
2011/04/11: Module net/smtp.lsp uses EHLO (extended HELLO) instead of HELO.
2011/04/08: Add contrib/getargs.lsp to ease functions with keywords arguments.
2011/04/08: Use keywords to read SMTP:SEND-MAIL arguments.
2011/04/08: Define SMTP-SEND-MAIL in SMPT package and rename to SMTP:SEND-MAIL.
2011/04/04: Fix printing/reading really huge bignums (add tst/testbnrd.lsp).
2011/04/03: PARSE-NUMBER no more copy string in a local buffer.
2011/04/03: Reader can read BIGNUMs of unlimited size.
2011/04/01: Fix buffer overflow in olgetbasenum.
2011/03/31: Reader can read strings of unlimited length.
2011/03/31: Add GET-HOST-ADDRESS-LIST.
2011/03/31: Fix missing va_list when error occurs after error.
2011/03/30: Add ipv6 configure support.
2011/03/27: Fix GET-HOST-ADDRESS on 64bit BIGENDIAN machines (as seen on sparc).
2011/03/26: Qualified port on Solaris 10 sparc with gcc 4.6.0 (-m64 & -m32).
2011/03/23: First (yet untested) Android port.
2011/03/18: Add pure and const gcc function attributes when applicable.
2011/03/15: Add net/base64.lsp module.
2011/03/06: Add SOCKET-IP-VERSION that returns the IP version of a socket.
2011/03/06: Add *DEFAULT-IP-VERSION* dynamic variable.
2011/03/06: Protocol is mandatory for CONNECT and LISTEN.
2011/03/06: Add new testipv6.lsp test file when implementation supports IPv6.
2011/03/03: Add lisp.bat wrapper to choose a specific Windows versions.
2011/03/03: Dynamically load IPv6 inet_* functions on Windows.
2011/02/25: Insure that NODEID value is compatible between 32/64 bit ports.
2011/02/20: Force OLMAXFILEN to 512 (allows 16 bytes alignment) on WIN64
2011/02/20: Use OLTABSIZE macro when possible.
2011/02/19: SEARCH-IN-PATH also looks in binary directory for a matching file.
2011/02/12: Fix DEFCONSTANT/DEFGLOBAL backend when 2nd arg is a symbol.
2011/02/12: Fix httpget keyword (use :location instead of 'location).
2011/02/11: GET-HOST-ADDRESS accepts optionnal :IPV4 or :IPV6 parameter.
2011/02/10: Fix two potential fd resource leaks in olsysrestorecore.
2011/02/08: Start IPv6 socket support.
2011/02/04: Start to use restrict C99 keyword on compilers that support it.
2011/02/01: Add support for SQLite 3.7.5.
2011/02/01: Full qualified port on Linux sparc64 (Debian 6.0 squeeze).
2011/01/31: Add valgind rule in Makefile.in
2011/01/30: Checked against valgrind on linux.
2011/01/30: Close fd in olexecorep (was a fd resource leak).
2011/01/29: Free readline init string (memory leak).
2011/01/16: Add SQLite support in configure script.
2011/01/16: Qualified port on cygwin 1.7.7 / gcc 4.3.4 with autoconf build.
2011/01/16: Use autoconf 2.68 to produce configure file.
2011/01/15: Add support for CLR in Windows makefile (nmake CLR=t).
2011/01/12: Ported on QNX 6.5.0 (x86) with gcc 4.4.2.
2011/01/09: Add pipe for symbols starting with non-terminating macro characters.
2011/01/09: Change version to 9.7.0 (beta).



Version 9.6.0



2011/01/09: Final release 9.6.0 with build 5371.
2011/01/09: Add support for BSD Makefiles.
2011/01/08: Qualified port on Mac OS X 10.4 (i386/x86_64/ppc) with gcc 4.0.1.
2011/01/06: Qualified port on NetBSD 6.1 (i386/x86_64) with gcc 4.2.1.
2011/01/05: Qualified port on OpenBSD 4.8 (i386/x86_64) with gcc 4.2.1.
2011/01/05: Qualified port on FreeBSD 8.1 (i386/x86_64) with gcc 4.2.1.
2011/01/01: Add -dynamicbase:no VC+ 2010 link option (required for cores).
2010/12/24: Fix possible buffer overflow in registry.c with UNICODE.
2010/12/24: Fix incorrect OLGC_SIGSTACK flag when SIGSEGV/SIGBUS occurs.
2010/12/24: Fix olmbstowcs that deferenced NULL wcstr argument.
2010/12/24: Fix potential bug with unchecked arguments.
2010/12/24: Adjust VM for Windows 64bits.
2010/12/24: Switch to VC++ 2010 for standard builds.
2010/12/18: Simplify reader and improve number parsing.
2010/12/09: Add support for SQLite 3.7.4.
2010/12/01: Add SYSTEM::POINTER-TO-ADDRESS that returns address of an object.
2010/11/21: Fix compilation warning in read.c.
2010/11/20: Update LDAP module to be compatible with both UNICODE and 64bit.
2010/11/19:  method displays SERIOUS-CONTIDION-ARGUMENTS.
2010/11/19: Fix --enable-ldap linux configure build.
2010/11/15: Add LDAP-MESSAGE-FREE that was missing.
2010/11/14: Add LDAP support in configure.in and Makefile.in.
2010/11/14: Add LDAP optional module.
2010/11/09: Very small list reader optimization.
2010/11/09: Syntactic unit '.' is no more a symbol.
2010/11/09: Fix '. that incorrectly returned |.|. Fixed, now requires pipes.
2010/11/06: Remove obsolete webserver.lsp from distribution.
2010/11/06: Improve logger package.
2010/11/02: Improve uninterned symbol reader. Use olreadtoken.
2010/11/01: Improve :EXPORT in DEFPACKAGE macro.
2010/11/01: Use symbols instead of strings to export symbols.
2010/10/31: Add DO-EXTERNAL-SYMBOLS.
2010/10/31: No need to pipe symbols having non-terminating macro characters.
2010/10/28: Raise an error is sub-char dispatcher is a digit.
2010/10/28: If sub-char is a lowercase character, use its uppercase equivalent.
2010/10/27: Detect eof with unterminated piped symbols.
2010/10/27: Standard '#' dispatch table is now an ordinary user A-List.
2010/10/27: Dispatch table no more convert to lower case.
2010/10/26: Macro character implements non-terminal-p.
2010/10/18: Printer checks current readtable case to print symbol with pipes.
2010/10/17: Package functions use keywords instead of strings (also supported).
2010/10/17: Add READTABLE-CASE (supports only :downcase :upcase and :preserve).
2010/10/17: Remove PRESERVE-READ-CASE function (replaced by READTABLE-CASE).
2010/10/09: Fix warning for unused returned value in external modules.
2010/10/09: Small DO optimization.
2010/10/09: Add support for SQLite 3.7.3.
2010/10/09: Fix new warnings detected by Pelle's C with -W2.
2010/10/09: Add COUNT optimization for #'EQL.
2010/10/09: Fix COUNT not correctly optimized for #'EQUAL.
2010/10/09: Switch to Pelles C 6.50 64bits RC.
2010/10/03: Qualified port on Windows with Digital Mars C/C++ 8.52.
2010/10/05: Add contrib/xmlrtbl.lsp, a xml reader using readtables.
2010/10/02: Add SET-PACKAGE-MARKER and SET-PACKAGE-MARKER.
2010/10/02: Remove SET-PACKAGE-READER.
2010/10/01: Add non-terminal-p to SET-MACRO-FUNCTION.
2010/10/01: Add non-terminal-p to MAKE-DISPATCH-MACRO-CHARACTER.
2010/09/20: RANDOM accepts positive floats.
2010/09/18: Add net/rss.lsp a simple RSS feed reader.
2010/08/28: Add support for SQLite on Windows 64bit ports.
2010/08/25: Use gcc 4.5.1 for MinGW-64 and MinGW-32 ports.
2010/08/24: Add support for SQLite 3.7.2.
2010/08/23: Fix GC bug in olmakeclass.
2010/08/23: Add support for SQLite 3.7.1.
2010/08/22: Change version to 9.6.0 (beta).



Version 9.5.0



2010/08/22: Final release 9.5.0 with build 5303.
2010/08/22: Fix C++ comment // in C source file.
2010/08/21: Fix EQUAL for numbers.
2010/08/21: Add support for SQLite 3.7.0.1.
2010/08/20: Define  and  in "openlisp" package.
2010/08/19: Fix BZ_MAX_BASE10 to unsigned long (UL) constant for 64bits ports.
2010/08/17: Fix export directive in opcodes.lsp.
2010/08/17: Add log-get-level for API consistency.
2010/08/17: Rename lib/logfile.lsp to lib/logger.lsp.
2010/08/16: Logger uses :ISO-8601 date format.
2010/08/13: Improve logfile.lsp with priority levels.
2010/08/13: SET-FILE-POSITION pretends we are not at the start of a new line.
2010/08/12: Sleeps 200ms when Ctrl-C occurs to let threads be synchronized.
2010/08/11: Rename net/google.lsp to net/search.lsp.
2010/08/11: Fix Yahoo ajax method that uses chunked reply.
2010/08/08: Don't use SERIOUS-CONDITION-XXX functions anymore.
2010/08/08: Reader no more checks for invalid package access when compiling.
2010/08/07: USE-PACKAGE refuses keyword package.
2010/08/07: USE-PACKAGE checks name conflicts with already accessible symbols.
2010/08/06: Add missing export for public functions and variables.
2010/08/05: Export sysinfo structure access functions.
2010/08/05: HTTP uses keywords to encode headers.
2010/08/05: HTTP get/post accepts "chuncked" Transfer-Encoding method.
2010/08/03: Fix SHADOWING-IMPORT (IMPORT without conflict checking + SHADOW).
2010/08/03: DEFPACKAGE checks name conflicts (CLtL compatibility).
2010/08/03: Add RENAME-PACKAGE (CLtL compatibility).
2010/08/03: Make package name case sensitive (CLtL compatibility).
2010/08/02: DEFPACKAGE sorts options by priority.
2010/08/02: IMPORT checks name access conflict from another package.
2010/08/01: Add missing export for public pathname functions and variables.
2010/08/01: Change # package from "islisp" to "system".
2010/07/30: SQLite 3.7.0 uses :memory: for tests.
2010/07/30: Add support for SQLite 3.7.0.
2010/07/26: Fix documentation string in defhook.lsp.
2010/07/23: Add ./tst/tsthook.lsp lambda-list tests.
2010/07/22: Fix sign (set BZ_ZERO) for BzAnd, BzOr and BzXor when result is 0.
2010/07/22: Fix BzNot special cases for 0 and -1.
2010/07/22: Fix bignum print optimization for base 10.
2010/07/18: Fix DEFSEF not correctly compiled.
2010/07/03: Fix *PRINT-LEVEL* for vectors and dotted pairs.
2010/07/03: Add EVENP and ODDP integer predicates.
2010/06/28: Microsoft ports use OLTRY/OLEXCEPT to catch stack overflow.
2010/06/28: EQUAL actually calls EQL (code is simplfied).
2010/06/24: Symbols used to create conditions are reserved in "islisp" package.
2010/06/20: Define VARIABLE and DYNAMIC-VARIABLE in "islisp" package.
2010/06/20: Dramatically improve compiled class slot access.
2010/06/19: Fix class compilation.
2010/06/13: Define internal functions in "system" package with :internal access.
2010/06/12: Remove USER-TYPE-P function (no more used internally).
2010/06/12: Change flet/labels to use SYSTEM:SIGNAL-DOMAIN-ERROR.
2010/06/12: Add SYSTEM:SIGNAL-DOMAIN-ERROR internal function.
2010/06/11: Check initialization list for FOR, DO and DO* special forms.
2010/06/11: MACHINE-INFO contains islisp mode (-islisp flag).
2010/06/11: Remove calltree.lsp, compress.lsp and fasl.lsp from autoload files.
2010/06/10: Change  printer internal format to display mode (r/w/rw).
2010/06/10: Backquote takes care of correct package for symbol replacement.
2010/06/09: Fix FIND-SYMBOL with nil given as package.
2010/06/09: Move ILOS and *MOST-XXX-BOXED* constants in "openlisp" package.
2010/06/09: Move ASSOC and SET-DYNAMIC to "islisp" package.
2010/06/09: Better check symbols in ISLISP package.
2010/06/08: BzTestBit returns a Boolean (was BzCmp).
2010/06/08: Optimize (more than x10) very large bignum printing (base 10 only).
2010/06/07: Add VC+ 2010 projects.
2010/06/06: Fix warning with zlib on Windows x64.
2010/06/06: Switch to zlib 1.2.5 (optional).
2010/06/05: Compute ISQRT for non-bignums using Halleck's method.
2010/06/04: Switch to Open Watcom C/C++ 1.9.
2010/06/03: Printer uses current read-table to decide if a symbol needs pipes.
2010/06/02: REGEXP was removed by error from unix builds.
2010/06/02: Fix reading *|Foo| symbols.
2010/06/01: SET-FILE-POSITION check position is not beyond file length.
2010/06/01: Fix olarrayindex wrong gcc optimization calls on sparc.
2010/06/01: Add OLMAXHEAPSIZE to limit object size on heap.
2010/05/31: Add gcc pragma to remove backend possible warning.
2010/05/30: Check that CLOSE is not called in a closed stream.
2010/05/30: Use an initial base time to compute GET-INTERNAL-RUN-TIME.
2010/05/29: Fix fseek/ftell for x64 Windows, use _fseeki64/_ftelli64.
2010/05/25: Avoid infinite loop with EQUAL and class objects.
2010/05/25: STRING-SPLIT has a 3rd optional argument to keep blank tokens if T.
2010/05/22: Cleanup oldefgeneric with better argument checking.
2010/05/21: CLASS-METACLASS returns a class object instead of a class name.
2010/05/20: CLASS-PRECEDENCE-LIST returns a list of classes.
2010/05/20: Generic functions use internally classes instead of class names.
2010/05/20: Fix wrong test in testiso.lsp.
2010/05/19: Change version to 9.5.0 (beta).



Version 9.4.0



2010/05/19: Final release 9.4.0 with build 5231.
2010/05/18: Make overflow check conditional using flag.
2010/05/18: Fix, sometimes wrong,  configure detection.
2010/05/17: Correctly set arithmetic error operation for #'PARSE-NUMBER.
2010/05/17: Float overflow/underflow correctly set arithmetic error operands.
2010/05/16: CASE-USING correctly checks that comparison function is a function.
2010/05/15: Fix 64bit ports that were only using 31bit float.
2010/05/14: Fix STREAM-READY-P for unicode version.
2010/05/14: Improve float comparison accuracy.
2010/05/12: Add float overflow/underflow detection.
2010/05/11: RECIPROCAL checks division-by-zero if number is float 0.
2010/05/11: Better check floating-point-underflow.
2010/05/10: Compiler better checks WITH-XXX forms.
2010/05/10: Default CONTINUE-CONDITION message string is now pre-computed.
2010/05/10: WITH-HANDLER checks arity.
2010/05/10: Factorize WITH-[STANDARD-INPUT | STANDARD-OUTPUT | ERROR-OUTPUT].
2010/05/09: WITH-XXX-FILE is now a native Special Form (in C).
2010/05/08: FORMAT with T or NIL stream throw an error when -islisp is passed.
2010/05/08: STREAM-READY-P is allowed ony for Character I/O streams.
2010/05/08: UNWIND-PROTECT checks the required form is passed.
2010/05/08: Remove stderror.lsp form standard library (not ISLISP).
2010/05/07: APPLY checks that the last argument is a proper list.
2010/05/07: SUBSEQ requires a 3rd argument when -islisp is used (ISLISP).
2010/05/07: MAP-INTO checks for valid function.
2010/05/07: Fix error diagnostic for GET-OUTPUT-STREAM-STRING.
2010/05/06: CONVERT allows only 'legal' conversions when -islisp is set.
2010/05/06: CONVERT, THE and ASSURE special forms check for improper list.
2010/05/06: SUBRC functions check for arity errors before domain errors.
2010/05/05: Check that all COND clauses are lists.
2010/05/05: (CONVERT nil ) returns "nil" not "" (ISLISP).
2010/05/05: '-' requires at least one argument (ISLISP).
2010/05/05: No define forms accept dotted pair lambda-list.
2010/05/04: Check that there is only one parameter after &rest or :rest.
2010/05/03: Check that function arguments are valid identifiers (ISLISP).
2010/05/02: Improve AREF/SET-AREF speed.
2010/05/01: DEFCLASS checks multiple inheritance conflicts.
2010/05/01: NEXT-METHOD-P and CALL-NEXT-METHOD check applicable before arity.
2010/04/30: DEFCLASS add missing :metaclass option.
2010/04/30: DEFMETHOD checks that arguments are congurent with definition.
2010/04/30: Remove now obsolete MAKE-GENERIC-FUNCTION.
2010/04/29: Better check for valid identifiers.
2010/04/29: Better check arity of many functions.
2010/04/29: CLOSE accepts exactly one argument.
2010/04/29: READ-BYTE correctly checks the required arguments.
2010/04/27: CLASS uses dynamic slot (still wrong but less chance to conflicts).
2010/04/27: Better check stream validity for output operations.
2010/04/26: WITH-XXX-STREAM are real Special Forms (no more macros).
2010/04/25: Ids not-an-input-stream and not-an-output-string are domain errors.
2010/04/25: SUBRC check function argument is a function or a lambda.
2010/04/25: Check that DEFCLASS is not redefining a built-in-class.
2010/04/25: Fix SUBCLASSP associated error data when 2nd class is not a class.
2010/04/24: Fix CLASS. Check that argument class-name names a class object.
2010/04/24: Add -islisp command line flag to enforce ISLISP behavior.
2010/04/24: Stream element class is now a class not a symbol (ISLISP).
2010/04/24: [SET-]FILE-POSITION is now only valid for file streams (ISLISP).
2010/04/23: Macro call checks for proper argument list.
2010/04/23: Fix USER-FORMAT that kept old definitions forever.
2010/04/23: Add VARIABLE and DYNAMIC-VARIABLE to report undefined entity.
2010/04/23: Arithmetic errors set all wrong arguments in a list (ISLISP).
2010/04/21: ERROR and CERROR are no more generic functions (ISLISP).
2010/04/21: CONDITION-CONTINUABLE requires a .
2010/04/21: Get data associated with condition using functions not generic.
2010/04/20: Raise a  class when no applicable method is found.
2010/04/20: Fix wrong test in CONTINUE-CONDITION.
2010/04/18: Fix READ-LINE not reading a line without newline.
2010/04/18: FORMAT-FRESH-LINE outputs ony a NL if not already at a line start.
2010/04/18: WRITE-BYTE checks byte is in strictly in range [0 .. 255].
2010/04/18: FORMAT-FLOAT accepts any number types not just a float (ISLISP).
2010/04/18: FORMAT-TAB better check argument types.
2010/04/18: FORMAT-INTEGER checks that base is strictly in range [2..36]
2010/04/17: Fix char reader not correcly decting EOF.
2010/04/17: Correctly check first two arguments of FORMAT.
2010/04/17: Correctly check STRING-APPEND arguments types.
2010/04/17: Correctly check SUBSEQ arguments types and index bounds.
2010/04/17: Correctly check all MAP-INTO argument types.
2010/04/16: Better check SUBSEQ bounds.
2010/04/16: Qualified port on Solaris 10 sparc with gcc 4.5.0 (-m64 & -m32)
2010/04/16: Fix many array bugs, some may eventually corrupt heap.
2010/04/16: Fix arrays with 0 size.
2010/04/16: Fix SET-AREF return value (ISLISP).
2010/04/15: RETURN-FROM checks that tag is a symbol.
2010/04/15: Fix FUNCTIONP BUG returning NIL with SUBR0.
2010/04/15: Is an atom can't be parsed as a float a symbol is returned (ISLISP).
2010/04/15: Add #\| around symbol starting with a number (ISLISP).
2010/04/15: Token like 1.e10 are read as symbol instead of floats (ISLISP).
2010/04/14: REVERSE and APPEND check value is a valid sequence.
2010/04/13: QUO, REM and DIV check for integer before division-by-zero.
2010/04/13: Fix SET-FILE-POSITION return value.
2010/04/13: PROBEFILE and FILE-LENGTH only work with strings.
2010/04/13: [SET-]FILE-POSITION check stream is not closed.
2010/04/13: CREATE-STRING-INPUT-STREAM was missing  type checking.
2010/04/13: Qualified with MSVC++ 2010.
2010/04/13: ASSOC raises an error if list is not a well formed A-List.
2010/04/13: SOME, EVERY, NOANY and NOTEVERY check for true .
2010/04/12: MAPxxx functions check that arguments are lists.
2010/04/12: COPY-SEQ, SVREF and SVSET check for true .
2010/04/12: CONVERT check for true .
2010/04/12: ASSURE and THE better check arity.
2010/04/12: OUTPUT-STREAM-P and INPUT-STREAM-P no more check stream is closed.
2010/04/12: SET-FILE-POSITION force a flush for output and io streams.
2010/04/11: Fix CLOSE that now returns domain-error if argument is not a stream.
2010/04/11: OPEN-XXX-FILE only accepts  type as filename.
2010/04/11: XXX-STREAM-P returns NIL if agument is not a stream (was an error).
2010/04/11: Fix ASSURE that was using EQ insteand of INSTANCEP.
2010/04/11: Check division-by-zero for two  arguments.
2010/04/11: Check that QUOTIENT has at least two arguments (ISLISP).
2010/04/11: MIN and MAX require at least one argument (ISLISP).
2010/04/11: Fix PARSE-NUMBER with floats having capital #\E (as 1.0E1).
2010/04/11: Check for correct base range when parsing bignums.
2010/04/11: Printer prints address using #x (hex. number).
2010/04/10: CLASS-OF returns a  object instead of class name.
2010/04/10: Change version to 9.4.0 (beta).



Version 9.3.0



2010/04/10: Final release 9.3.0 with build 5130.
2010/04/04: Add TYPECASE macro.
2010/04/04: Replace  type (was only internally used) by .
2010/03/30: Negative 0.0 is no more supported by default.
2010/03/29: Add compiler option to disallow -0.0.
2010/03/27: Fix return type of (RECIPROCAL -1), now an integer (-1).
2010/03/27: Fix SQRT return type when argument is a squre integer.
2010/03/27: Fix EXPT having a bignum as second argument.
2010/03/27: Fix (EQL 0.0 -0.0) which returns null.
2010/03/26: Compiler only optimizes 32bit integers for 32/64 compatibility.
2010/03/26: Compiler optimize EQL or EQUAL to EQ when possible.
2010/03/25: Remove MEMQ and SUBSTRING which are neither ISLISP nor CLtL.
2010/03/25: Rename olboxedintegerp and olunboxedintegerp to fix C Backend.
2010/03/24: Optimize compiler to use EQ instead of EQL if possible.
2010/03/23: Fix wrong EQL compiler open-macro.
2010/03/23: Improve ROUND for floats bigger that a FIXNUM (yet not accurate).
2010/03/21: Fix ROUND with floats in range [0.0 1.0[.
2010/03/21: Fix EXPT when x1 is an integer and x2 a positive integer (ISLISP).
2010/03/21: Fix SETF with expanded macro returning a variable.
2010/03/20: Fix wrong definition for *MOST-NEGATIVE-FLOAT*.
2010/03/16: Check for column overflow in SQL drivers.
2010/03/16: Switch to SQLite 3.6.23.
2010/03/15: PARSE-NUMBER checks that radix is between 2 and 36 for 'r' format.
2010/03/15: Factorize code that prints integers.
2010/03/15: Fix FORMAT-INTEGER to allow radix up to 36 (was only 32).
2010/03/14: Optimize EQL.
2010/03/13: Use EQL instead of EQ as default for hash table functions.
2010/03/13: Use EQL instead of EQ as default comparison in sequence functions.
2010/03/10: Change printer code to allow unlimited size for padded strings.
2010/03/10: Set OLMAXTOKENLEN 8192 but keep OLMAXPLEN to 128.
2010/03/10: Use gcc 4.5.0 BETA for MinGW port.
2010/03/09: Fix two minor errors in AL code.
2010/03/09: Increase OLMAXBIGNUMLEN to 8192 to support reading bignums that big.
2010/03/09: Fix parsing of #xffffffff which is a positive bignum not -1.
2010/03/07: Add specialized EQL function in sequence.c
2010/03/07: Fix sequence functions using wrong code with #'equal.
2010/03/07: Fix MEMBER not using EQL with bignums.
2010/03/07: Optimize few vector loops.
2010/03/06: Little speedup in GC for vectors.
2010/03/04: Improve LOGxxx functions.
2010/03/04: Fix missing integer overflow detetction in olg2mul.
2010/03/02: Simplify registry code.
2010/02/27: Simplify string streams.
2010/02/26: Factorize stream creation.
2010/02/26: Fix FORMAT-TAB implementation.
2010/02/24: Initialize ST_LPOS for standard streams.
2010/02/22: Complete and fix ~C format directive.
2010/02/21: Complete and fix ~T and ~& format directive.
2010/02/21: Remove POWER function (was Le-Lisp compat).
2010/02/20: Fix ASH shift test limit value.
2010/02/20: Fix LOGBITP with negative integers.
2010/02/20: Test file for bignums (testbign.lsp) is automatically generated.
2010/02/19: Fix QUOTIENT not returning a float with bignum and odd division.
2010/02/18: Fix ASH function with negative arguments.
2010/02/17: Fix BzCeiling, BzRound.
2010/02/17: BigZ arguments are const.
2010/02/16: DIV for bignums use BzFloor algorithm instead of BzTruncate.
2010/02/16: Remove unused olbignuminit function.
2010/02/16: Fix DIV, REM and QUO for bignums.
2010/02/15: Add REM (was a wrong alias to MOD).
2010/02/14: Remove unused  internal class.
2010/02/06: Fix autoconf for som 64bit HP-UX ports.
2010/02/06: Use autoconf 2.65 to produce configure file.
2010/02/06: Run splint against kernel source code. Add lint.mak for this task.
2010/02/04: When available, try to use sigaction in olrunasdaemon().
2010/02/03: Change version to 9.3.0 (beta).



Version 9.2.0



2010/02/03: Final release 9.2.0 with build 5048.
2010/02/02: Unix library names contain now the 32/64 memory model.
2010/01/31: Add configure option -gcssp for scan stack protection (_GCSSP).
2010/01/29: Add linux pagefault detection _TRYSTACK support.
2010/01/23: Add _CHECKED_BUILD code for olstrxxx functions.
2010/01/23: Fix wrong buffer size computation with olstrxxx and swprintf.
2010/01/21: FORMAT with float directives (E, F or G) accept bignums.
2010/01/20: Add missing generic arithmetic case for bignum.
2010/01/18: Change OLMAXBOXED definition to prevent overflow warning.
2010/01/17: Free more intermediate bignums.
2010/01/16: Free intermediate string used to print bignum.
2010/01/16: Add bignum to string conversion in CONVERT.
2010/01/16: Fix reading bignum for base > 32 (log table was still 32).
2010/01/16: Printing bignum accepts base 36 (was 32).
2010/01/15: Printing bignum only allocates memory for size > OLMAXBIGNUMLEN.
2010/01/14: LOGTEST was not yet implemented for bignums.
2010/01/14: ISQRT on accepts non-negative integers (used to accept floats).
2010/01/14: Remove LOGSHIFT which was an alias to ASH (CLtL name).
2010/01/14: Fix LOGTEST wrong implementation. T is *any* bit is one.
2010/01/14: Fix Bignum printing. Use *PRINT-BASE* value to print number.
2010/01/14: Fix FLOOR and CEILING.
2010/01/13: Fix oveflow detection and bignum promotion for ASH and LOGTEST.
2010/01/12: Add bignum slot in SYSTEM-INFO.
2010/01/11: Factorize more arithmetic code in number.c.
2010/01/11: Fix #numR reader.
2010/01/11: Add EBCDIC table to print bignum.
2010/01/10: Improve FIXNUM overflow detection.
2010/01/09: Add LOGANDC1, LOGANDC2, LOGORC1 and LOGORC2 functions.
2010/01/07: BzFree calls olfreeobject.
2010/01/06: Fix BzToIntegerPointer for negative digits values.
2010/01/06: Remove obsolete LOGOR (replaced by CLtL name LOGIOR).
2010/01/06: Fix PLUSP that should return NIL for 0.
2010/01/05: Add -bignum configure option.
2010/01/05: Fix LOGNAND and LOGNOR with more than 2 arguments.
2010/01/01: Better integer overflow detection.
2009/12/20: Improve bignum code.
2009/12/18: Add Tiny C compiler 64bit to non-regression tests.
2009/12/03: Qualified port on FreeBSD 8.0 (i386) with gcc 4.2.1.
2009/11/20: Improve raw string creation using new olallocrawstring.
2009/11/17: Improve raw vector creation using new olallocrawvector.
2009/11/16: Fix :|Foo| and #:|Foo| reader/printer.
2009/11/16: Fix package printing (remove extra #\").
2009/11/08: Fix pretty printer.
2009/11/07: Switch to Cygwin 1.7 and gcc 4.3.
2009/11/06: Improve and simplify pretty.lsp.
2009/11/05: Add Windows Server 2008 R2 detection.
2009/11/02: Fix COND case in FLET/LABELS interpreter expansion macros.
2009/10/24: Remove LL compatibility files from distribution.
2009/10/24: Change version to 9.2.0 (beta).



Version 9.1.0



2009/10/23: Final release 9.1.0 with build 4954.
2009/10/21: Fix contrib/serialize.lsp.
2009/10/21: REHASH checks taht new size is below HASH_MAX_PRIME_SIZE.
2009/10/21: Qualified port on Linux sparc64 with gcc 4.3.2 (-m64 & -m32)
2009/10/21: Qualified port on Solaris 10 sparc with gcc 4.4.2 (-m64 & -m32)
2009/10/17: Make olfxxx float functions static in number.c
2009/10/17: Fix (and optimize) MEMBER with float argument.
2009/10/16: Remove EQN/NEQN LAP instructions (no more used).
2009/10/14: Better check format argument count for FORMAT, ERROR and CERROR.
2009/10/13: External modules comment the way to have automatic cvs tags.
2009/10/13: Switch MinGW 64bits to GCC 4.4.2 compiler.
2009/10/11: Fix day wrap when parsing dates.
2009/10/10: Handle QUIT calls in compiled module to kindly exit.
2009/10/09: Add CALL-METHOD new LAP opcode.
2009/10/03: Compiler checks format argument count for FORMAT, ERROR and CERROR.
2009/10/02: PRIN and PRINT functions print using escape. This is a major change.
2009/10/02: Add PRINC function.
2009/10/01: Print #' even when second FUNCTION argument is not a symbol.
2009/09/30: Change print.c to use *PRINT-ESCAPE* value instead of olverbatim.
2009/09/30: Add *PRINT-ESCAPE* dynamic variable.
2009/09/29: Add contrib/pathname.lsp and associated tst/testpath.lsp.
2009/09/27: Increase max hashtable size to 93320537 (a 'good' prime number).
2009/09/26: LOAD restores *READTABLE* and *PACKAGE* to previous values.
2009/09/22: Fix REQUIRE optional second argument not correctly implemented.
2009/09/19: Replace REQUIRE arguments by strings in all sources.
2009/09/19: Fix REQUIRE compilation that now accepts string.
2009/09/17: Add more types to DESCRIBE.
2009/09/10: MAKE-DISPATCH-MACRO-CHARACTER is fully implemented.
2009/09/07: Always get read-table object with reader functions.
2009/09/06: Standard read-table is now a Lisp object.
2009/09/06: Cleanup reader.
2009/09/04: Macro characters are always functions in readtable.
2009/08/30: Qualified port on Solaris 10 sparc with gcc 4.4.1 (-m64 & -m32)
2009/08/29: Change to Intel C/C++ v11.0.072 x86 on the non-regression tests.
2009/08/25: Dispatch macro character is no more global.
2009/08/10: GET-DISPATCH-MACRO-CHARACTER is implemented for standard readtable.
2009/08/09: Dispatch macro character table is now in COREHDR structure.
2009/08/09: Dispatch macro character calls specific new system::xxx functions.
2009/08/08: GET-MACRO-CHARACTER uses standard readtable if nil.
2009/08/08: GET-DISPATCH-MACRO-CHARACTER uses standard readtable if nil.
2009/08/07: Define json reader functions instead of lambda to compile them.
2009/08/07: Fully implement GET-MACRO-CHARACTER even for internal coded macros.
2009/08/02: Add json.lsp and google.lsp to net compiled lib.
2009/08/02: Fix compilation of complex DEFSETF form.
2009/07/26: Add :type option in DEFSTRUCT. Only  is currently supported.
2009/07/20: Avoid infinie recursion when  class is redefined in lisp.
2009/07/18: Add few LAP optimizations.
2009/06/22: Venerable Symantec 7.5 is no more supported and removed from builds.
2009/06/22: Reduce and simplify TAGBODY lexical block.
2009/06/21: Small eval speedup (1-2%).
2009/06/20: Change version to 9.1.0 (beta).




Version 9.0.0



2009/06/20: Final release 9.0.0 with build 4891.
2009/06/13: Remove obsolete MAKE-FUNCTION-FROM-CODE.
2009/06/12: Fix DEFSEF when expression is used (CLtL compatible).
2009/06/07: Add DATE-DIFFERENCE used by all date comparison routines.
2009/06/06: Improve ISO 8601 date encoding/decoding.
2009/06/01: Factorize date encode/decode in physio.c.
2009/06/01: Fix and improve date functions.
2009/05/29: Add DATE-TO-TIME and TIME-TO-DATE functions.
2009/05/21: C backend fix module name when path is used.
2009/05/21: Add INTERNAL-LAMBDA for pre-compiled lambda.
2009/05/18: Change olmapinto from SUBRC to SUBRN (first arg is not a function).
2009/05/09: Change lcc to version 3.8 (version 2009/05/07).
2009/04/25: Change values of Special Forms in AL emulation.
2009/04/24: Merge changes for AL.
2009/04/17: Add SET-PACKAGE-READER function (for AUTOLISP only).
2009/04/16: Fix reading an object starting with ')'. Raise an error.
2009/04/15: Raise an error if wrong pakage access is used.
2009/04/12: GENSYM uses new "#:gxxx" format (uninterned symbol).
2009/04/12: #:xxx *always* allocate a new uninterned symbol.
2009/04/11: Add #nR sharp-macro reader.
2009/04/09: Greatly improve symbol reader/parser.
2009/04/04: Add '\' as single escape syntax reader.
2009/04/03: Reorganized reader as a recursive-descent parser.
2009/03/30: Read '.' on dotted pair as predefined symbol.
2009/03/28: Add connection error detection in httpget.lsp.
2009/03/28: Add READ-DELIMITED-LIST.
2009/03/25: Simplify (and optimize) reader.
2009/03/25: Remove _EVALQUOTE support. No more used.
2009/03/24: Qualified port on Linux (2.6.18) on s390/s390x (IBM zSeries).
2009/03/23: Initialize external modules from olinit.
2009/03/22: Remove string macro that conflicts with C++, use olstrval instead.
2009/03/21: Remove non-secure olstrcat & olstrcpy, use 'l' versions instead.
2009/03/20: Rename olstrncpy/olstrncat wrong names by olstrlcpy/olstrlcat.
2009/03/19: Improve UNICODE character class types.
2009/03/19: Reader treats all UNICODE spaces above 127 as separators.
2009/03/18: Add a new olcharacterencodingerror function for UTF8 exception.
2009/03/18: Add a new file charutil.c for low level character functions.
2009/03/17: Remove some obsolete system functions from configure.in.
2009/03/17: UTF-8 tested on AIX 5.3 with Visual Age C 7.00.
2009/03/14: Fix readline symbol match with UNICODE version.
2009/03/14: Change version to 9.0.0 (beta).



Version 8.9.0



2009/03/14: Final release 8.9.0 with build 4789.
2009/03/13: No more use wide version of sscanf (sometimes buggy).
2009/03/13: Qualified port on NetBSD 4.0.1 (Alpha) with gcc 4.1.2.
2009/03/12: Qualified port on FreeBSD 7.1 (i386) with gcc 4.2.1.
2009/03/11: Remove MBCS support in lispchar.h (never used).
2009/03/11: UTF-8 tested on Linux, Solaris and MacOS X.
2009/03/11: Fix terminal mode settings on some unix plateforms.
2009/03/11: POSIX and compatible UNICODE builds use utf8 by default.
2009/03/09: Add olwcstombs internal routine.
2009/03/09: Add UTF-8 BOM detection to force ST_UTF8 mode.
2009/03/09: Qualified port on cygwin 1.7 / gcc 4.3.
2009/03/08: Add net/json.lsp reader / printer.
2009/03/06: Fix Windows terminal with UNICODE characters (as Japanese chars).
2009/03/01: Fix classes.lsp that was using an old class accessor.
2009/03/01: Change  and  to class types.
2009/03/01: Add *DEFAULT-ENCODING* dynamic variable to control file encoding.
2009/02/28: Replace OLMB_CUR_MAX by OLMB_LEN_MAX (which is set to 6).
2009/02/27: Use hashtable (instead of wrong olhashtable) test in hash.c.
2009/02/26: Check float format overflow when OpenLisp is initialized.
2009/02/25: Add character overflow condition.
2009/02/24: Fix infinite loop when reading comment at EOF.
2009/02/22: Switch to Open Watcom C/C++ 1.8.
2009/02/21: Fix wrong type for unicode character.
2009/02/21: Add manager.c external user type code sample.
2009/02/17: Add 'heap less' data types, mainly for external user types.
2009/02/13: Fix 64bit floats not marked from C stack.
2009/02/11: Add a 3rd argument to allow/disallow recursive commented block.
2009/02/11: Add optional olcurexpr in eval.c to help debugging.
2009/02/10: Allow optional + to read unicode escaped characters as \U+xxxx.
2009/02/10: Conditionally raises and error with elements starting with '.'.
2009/02/10: Add new olhookflush hookable function.
2009/02/09: Fix potential GC bug with READ-FROM-STRING.
2009/02/09: Cleanup olrungetc.
2009/02/08: Add  class.
2009/02/06: Reorganize oldoloop to prevent gcc 4.4 optimizer bug.
2009/02/03: Fix error message with UNICODE version when file is not found.
2009/02/02: Start to add UTF-8 support.
2009/01/13: Fix build for SQLite 3.6.9.
2009/01/09: Fix gcc bug (?) when printing execution time with MinGW-64.
2009/01/07: Use _stat64 instead of stat with MinGW-64.
2008/12/08: Add Tiny C compiler 32bit to non-regression tests.
2008/12/06: Add Pelles C compiler 64bit to non-regression tests.
2008/11/15: Checks that file passed as argument on command line exists.
2008/11/10: Start to introduce INRIA & Digital bignums (work in progress).
2008/11/02: Read makes an integer->float conversion when integer overflows.
2008/10/08: Define UNICODE conversion buffers only when compiling module.
2008/10/06: Autoconf macro that checks setpgrp arity.
2008/09/20: Single key no more allowed in CASE and CASE-USING clause (ISLISP).
2008/09/16: Fix uninstall script in Makefile.in.
2008/09/12: Small APPLY speedup.
2008/09/08: Remove obsolete DEFSLOT OpenLisp internal special form.
2008/09/06: Cleanup and speedup eval.c.
2008/09/05: Add extra value in block header.
2008/08/31: Fix LET* block construction that worked well 'by chance'.
2008/08/31: Use Performance Counters on more Windows ports (more accurate time).
2008/08/31: Modify changes.lsp to compare with different versions.
2008/08/30: More EVAL improvements for up to 27% compared to 8.8.
2008/08/27: Change lcc to version 3.8 (version 2008/08/26).
2008/08/24: Check that definitions occure at toplevel.
2008/08/24: Split olinternalevala1 in two and save up to 18% in speed.
2008/08/24: Optimize variable get/set and save around 5% in interpreter.
2008/08/23: Fix POWER with bignum exponent.
2008/08/22: Remove some splint, RATS and flawfinder warnings.
2008/08/22: Always call olsnprintf secure functions.
2008/08/21: Always call olstrncpy/olstrncat secure functions.
2008/08/20: Qualified port on FreeBSD 7.0 (i386).
2008/08/19: Change version to 8.9.0 (beta).



Version 8.8.0



2008/08/18: Final release 8.8.0 with build 4520.
2008/08/18: armv5tel-unknown-linux-gnu port using gcc 4.1.2.
2008/08/09: Add C# interface sample.
2008/08/08: Fix CBSF error message.
2008/08/02: Improve internal classp test for FIND-CLASS.
2008/08/01: Remove CLASS-INFO-XXX functions. Mostly replaced by CLASS-XXX.
2008/07/17: ABSTRACT-CLASS-P is renamed CLASS-ABSTRACT-P.
2008/07/17: Add REST, FIRST, SECOND, ... TENTH and associated SETF functions.
2008/07/15: NTH and NTHCDR return an error if n < 0.
2008/07/15: Add LIST-LENGTH.
2008/07/06: Fix LAP optimization for specialized <= inline function.
2008/07/05: Optimize last argument of recursive functions for C backend.
2008/07/04: Add more peephole LAP optimizations.
2008/07/01: Add backend optimization to remove extra push/pop.
2008/06/29: Improve __attribute__ gcc support.
2008/06/28: Change calling convention in eval.c to speedup from 10 to 20%.
2008/06/27: Remove HASH-TABLE-REHASH-THRESHOLD from SETFable forms.
2008/06/26: Add HOSTID in machine-info structure.
2008/06/26: Change BASIC-VECTOR-P, GENERAL-VECTOR-P.
2008/06/26: Change BASIC-ARRAY-P, BASIC-ARRAY-P and GENERAL-ARRAY*-P predicates.
2008/06/25: Small optimization in PUTHASH.
2008/06/25: Optimize EQUAL and related subroutines even more.
2008/06/24: Don't include  for _WIN32_WCE build.
2008/06/24: Fix and improve internal hashtablep test.
2008/06/24: Optimize EQUAL and related subroutines.
2008/06/23: Limit SXHASH to 3 level of depth.
2008/06/23: Limit SXHASH to first 5 elements for CONS and LISTS.
2008/06/23: Fix and improve SXHASH for agregate objects on HEAP.
2008/06/22: Implement :test EQL for hash-tables.
2008/06/22: Improve and simplify hash-tables.
2008/06/21: Add a specific print format to hash-table objects.
2008/06/09: Qualified port on Solaris sparc 10 with gcc 4.3.1 (-m64 & -m32)
2008/06/07: Improve LAP C backend for SET-LOCAL, SET-PARAM with cached A1.
2008/05/28: Support gc threads on MinGW64.
2008/05/27: First full port with MinGW64 experimental GCC 4.4 compiler.
2008/05/26: Fix RTCc cast errors on ollowseq macro (x64).
2008/05/26: Windows debug mode uses RTCcsu. Fix RTCc cast errors on lap.c.
2008/05/25: Fix SDL warnings with -W4.
2008/05/24: Change to Intel C/C++ v10.1.013 x86 on the non-regression tests.
2008/05/12: Fix extra \" in common.gmake.in.
2008/05/06: Use winsock2.h instead of winsock.h.
2008/04/20: Use MinGW64 experimental GCC 4.4 compiler. Not for production.
2008/04/02: Fix -W4 warnings on Windows 64bit port.
2008/04/01: GNU readline completes symbols.
2008/03/31: Use more specific macro to unwind environnement in eval.c.
2008/03/29: Remove "globbered' nbarg declaration when compiled with GCC.
2008/03/29: Reload nbarg instead globally used in eval.c.
2008/03/29: Remove unused frame code in DOSTART.
2008/03/28: Compile kernel with -W4 using MSVC.
2008/03/23: Qualified port on Solaris x86 10 with gcc 4.3.0 (-m64 & -m32)
2008/03/19: Qualified port on Solaris sparc 10 with gcc 4.3.0 (-m64 & -m32)
2008/03/15: Qualified port on Solaris sparc 10 with gcc 4.2.3 (-m64 & -m32)
2008/03/05: i386-unknown-openbsd4.2 port.
2008/03/05: Change version to 8.8.0 (beta).



Version 8.7.0



2008/03/05: Final release 8.7.0 with build 4387.
2008/03/05: Fix warning level for Intel C++.
2008/02/22: Add CYGWIN to platforms supported by update.sh
2008/02/21: Add DATE-PARSE as autoload function.
2008/02/21: Add DATE-PARSE format argument to DATE-PARSE.
2008/02/21: Fix missing \r for compiler warnings.
2008/02/21: Add optional format argument to PARSE-DATE.
2008/02/18: Use always \r\n for FORMAT-FRESH-LINE over socket connection.
2008/02/18: Improve \r\n or \n detection.
2008/02/17: Qualified port on MacOS X x86_64 (darwin9.2) with gcc 4.0.1.
2008/02/17: Qualified port on MacOS X i686 (darwin9.2) with gcc 4.0.1.
2008/02/16: Add support for new date formats.
2008/02/14: DATE-PARSE checks number of arguments.
2008/02/14: Fix STRING-SPLIT if GC occurs.
2008/02/14: Fix READ-LINE eof return.
2008/02/14: Add missing net from unix install command.
2008/02/13: READ-LINE modified to read a line of unlimited size.
2008/02/09:  external type copies string only on return.
2008/02/06: Change binary naming convention for UNICODE V.S. ANSI code.
2008/02/05:  use OLMAXIOBUFLEN.
2008/02/05: Allow SEND/SEND-TO with unlimited UNICODE buffer size (use loop).
2008/02/02: Change buffer size in httpd.lsp for UNICODE.
2008/02/01: Fix odsp for UNICODE.
2008/02/01: Add  type (returned string) in external modules.
2008/02/01: Add UNICODE conversion functions to support external functions.
2008/01/25: Add MSVC pragma to remove UNICODE warnings in C backend.
2008/01/25: Fix #+/#- result for false condition.
2008/01/21: Remove element-class 8 for C backend output.
2008/01/21: Use same element-class for source lisp code and LAP output.
2008/01/20: Add STREAM-ELEMENT-CLASS that returns element class from a stream.
2008/01/19: Prepare codegen for unicode constants.
2008/01/16: Avoid infinite recusrion with USE-PACKAGE.
2008/01/13: Fix #+ reader.
2008/01/13: Add contract.lsp (based on contract programming).
2008/01/05: SET-LOCALE accepts nil and returns .
2008/01/02: Change default date format from GMT to UTC.
2008/01/01: Simplify DATE-PARSE using POSITION.
2008/01/01: Fix POSITION with vectors and :test argument.
2007/12/28: DATE-IS-LEAP accepts date object.
2007/12/10: Qualified port on MacOS X x86_64 (darwin9.1.1) with gcc 4.0.1.
2007/12/05: Qualified port on MacOS X i686 (darwin9.1.1) with gcc 4.0.1.
2007/12/02: Add trace-vars macro in trace.lsp.
2007/11/15: Tested with SQLite 3.5.2.
2007/11/11: Add spell.lsp to contrib.
2007/11/11: Allow :test argument to PUSHNEW.
2007/11/05: Introduce inline support form compiler.
2007/11/03: Add PROCLAIM, DECLAIM, DECLARE declarations.
2007/11/01: Improve defstruct and factorize code with defclass.
2007/10/29: Fix wrong compiler tailrec detection.
2007/10/08: Try to declare inline short compiled functions.
2007/10/08: Change version to 8.7.0 (beta).



Version 8.6.0



2007/10/08: Final release 8.6.0 with build 4251.
2007/10/08: Qualified port on NetBSD 3.1.1 (Alpha) with gcc 3.3.3.
2007/10/05: Add mtlib.h macros for MT routines.
2007/10/03: Port on Windows Mobile 6 smartphone with VS 2005.
2007/10/01: Linux uses threaded GC by default (tested with 4 CPUs !!).
2007/10/01: MacOS uses threaded GC by default (tested with 8 CPUs !!).
2007/09/30: Threads in olsweep don't use mutex anymore.
2007/09/29: Remove random.lsp from compiled lib and move it to contrib.
2007/09/23: Add UNREAD-CHAR (CLtL compatible function).
2007/09/14: Add support for Universal Binary on MacOS 10.4.
2007/09/12: Qualified port on powerpc-apple-darwin8.10.0.
2007/09/08: Insure correct direction for overlap test.
2007/09/08: Check that page and heap do not overlap in VM mode.
2007/09/08: GC checks for alien page blocks in olsweep.
2007/09/08: Force a real size to 0 when compiled with _IEEE31.
2007/09/06: Qualified port on Windows with Digital Mars C/C++ 8.50.
2007/09/04: Tested with SQLite 3.5.0.
2007/08/26: Use inline functions for threaded gc bit manipulations.
2007/08/25: Switch to Open Watcom C/C++ 1.7.
2007/08/25: Add processor detection on MacOS. (sysconf is missing constants).
2007/08/24: Add Intel C/C++ v10.0 x86 10.0 to the non-regression tests.
2007/08/24: Change lcc to version 3.8 (version 2007/07/25).
2007/08/18: Fix DEFGENERIC without body.
2007/08/17: Remove Le-Lisp support from defstruct library.
2007/08/12: Optimize C backend return.
2007/08/11: Optimize C backend GREF and DREF.
2007/08/05: Optimize JNIL/JNIL.
2007/08/05: Optimize CALL-SUBR for kernel funtions only.
2007/08/04: Fix CONVERT wrong LAP optimization.
2007/08/03: Remove unused frame declaration in C backend.
2007/08/01: Optimize some POP/POP lap code.
2007/08/01: Add new set of macros to compile &rest argument to C code.
2007/07/28: Optimize LIST compilation for 0-3 arguments.
2007/07/26: Qualified port on MacOS X i686 (darwin8.10.1) with gcc 4.0.1.
2007/07/16: Fix C backend, call more oladdcplist.
2007/07/15: Change more extern->intern symbol default access.
2007/07/07: Fix wrong packaged syntax.
2007/05/28: Compiler allows packaged symbols without prior package definition.
2007/05/27: Packaged symbol requires package to exist.
2007/05/07: Remove _ISO dependant code since ISO is now mandatory.
2007/05/07: Stop K&R support. Source code uses ISO style function definition.
2007/04/24: Change version to 8.6.0 (beta).



Version 8.5.0



2007/04/24: Final release 8.5.0 with build 4183.
2007/04/24: Object types use 5bit tags on 64bit processors.
2007/04/23: Fix VALFN returned value for SLOTxxx functions.
2007/04/23: Add *MOST-XXXX-UNBOXED* constants.
2007/04/21: Add constants for tag operations (may not always be 4).
2007/04/19: Add missing OLFREELIST tag when a cons zone is extended.
2007/04/17: Checked with -fstack-protector -D_FORTIFY_SOURCE on linux.
2007/04/14: Add detected number of processors in SYSTEM-INFO structure.
2007/04/14: Virtualize number of CPU detection.
2007/04/13: Experimental gc that do not kill the free list.
2007/04/08: More format options.
2007/04/08: Improve string streams for really huge outputs.
2007/04/07: GC Thread is on by default on linux (tested with 4 cores).
2007/04/06: Add E float format.
2007/04/05: Avoid symbol creation when reading #\named-char.
2007/04/01: Change VM base address on linux to 0x20000000.
2007/03/28: Add GC-COMPACT-THRESHOLD has no effects, compaction is always made.
2007/03/27: MT code is activated only on multicore machines.
2007/03/24: GC-FREE-UNUSED-HEAP has been renamed GC-FREE-UNUSED-MEMORY.
2007/03/24: Package was omitted when printing nil with *print-packages* on.
2007/03/24: NLOCAL-PATHNAME was in wrong package, now in openlisp.
2007/03/24: INTERACTIVE-STREAM-P was in wrong package, now in openlisp.
2007/03/24: OLGC_INTEGER case was missing when trying to expand memory.
2007/03/21: Add GC-FREE-UNUSED-HEAP function.
2007/03/21: Core restore adjust virtual memory.
2007/03/17: Lot of stuff to better support package behavior.
2007/03/13: Add SYMBOL-ACCESS that returns package visibility.
2007/03/11: Piped symbols are correctly packaged.
2007/03/11: Fix some multiple-value symbol names.
2007/03/11: Better support of interned symbols (i.e. like foo::bar).
2007/02/25: Allow EXPORT and IMPORT to accept strings.
2007/01/25: Add Intel C/C++ to the non-regression tests.
2007/01/13: More LAP optimizations.
2007/01/12: Many compiler optimizations that may save us to 10% on some code.
2007/01/08: Simplify COND compiler open macro.
2007/01/01: Compiler detects CASE/CASE-USING with no default clause.
2006/12/31: Compiler detects local variable that shadows a lexical one.
2006/12/30: Compiler detects labels/flet not used.
2006/12/30: Compiler detects variables set but not read.
2006/12/30: Add src/java JNI sample to instanciate and call java from OpenLisp.
2006/12/03: Add primitive ftp client.
2006/11/15: Add :INITIAL-VALUE key to REDUCE.
2006/11/14: More keywords support for sequence functions.
2006/11/12: Sequence functions check allowed keywords.
2006/11/11: Add :START :END to FILL.
2006/11/08: Start to implement :START :END and :COUNT for sequence functions.
2006/11/05: Add REMOVE-DUPLICATES and DELETE-DUPLICATES in startup.lsp
2006/11/05: Fix core offset type (long != size_t on all systems).
2006/11/04: Change version to 8.5.0 (beta).



Version 8.4.0



2006/11/04: Final release 8.4.0 with build 3973.
2006/11/03: Fix system directory detection.
2006/11/02: Add GET-FUNCTION-NAME in startup.lsp.
2006/11/02: FUNCTION-TYPE works with either symbol or function objects.
2006/10/31: Add ASSOC-IF, ASSOC-IF-NOT, RASSOC-IF, and RASSOC-IF-NOT functions.
2006/10/30: Add RASSOC A-List function.
2006/10/30: PAIRLIS 3rd argument is optional (default nil).
2006/10/28: Drop Le-Lisp functions.
2006/10/28: Promote CASSOC as standard OpenLisp extension (was in Le-Lisp).
2006/10/28: ASSOC and CASSOC functions default to :test #'eql.
2006/10/28: HASHTABLE-REHASH-SIZE supports integer values.
2006/10/25: Qualified port on FC6 i386 gcc 4.1.1.
2006/10/25: Fix mod_lisp2.c for apr 1.2.7.
2006/10/23: Remove MAKE-HASHTABLE-EQ and MAKE-HASHTABLE-EQUAL.
2006/10/22: Add HASHTABLE-TEST and HASHTABLE-REHASH-SIZE.
2006/10/22: Add keywords to build hash tables.
2006/10/20: Add :TEST-NOT support for MEMBER function.
2006/10/20: Factorize olmembereq and olmemberequal in olmember2 function.
2006/10/19: Add :TEST-NOT keyword for sequence functions.
2006/10/18: Sequence functions need explicit convertion when used with symbols.
2006/10/18: Fix OPEN-IO-FILE operations.
2006/10/16: Remove MEMBER-EQUAL function (use :test #'equal instead).
2006/10/15: Remove DELETE-EQUAL function (use :test #'equal instead).
2006/10/11: Fix EOF while reading commented block.
2006/10/09: Add DELETE-IF, DELETE-IF-NOT, REMOVE-IF, REMOVE-IF-NOT.
2006/10/09: Add SUBSTITUTE-IF, SUBSTITUTE-IF-NOT sequence functions.
2006/10/09: Add NSUBSTITUTE-IF, NSUBSTITUTE-IF-NOT sequence functions.
2006/10/09: Add COUNT-IF, COUNT-IF-NOT sequence functions.
2006/10/09: Add CONCATENATE, FILL, MISMATCH sequence functions.
2006/10/08: CONVERT supports converion from list (of chars) to .
2006/10/08: Add MAP sequence function.
2006/10/07: Add REDUCE sequence function.
2006/10/07: Add MAKE-SEQUENCE sequence function.
2006/10/07: Add NSUBSTITUTE sequence function.
2006/10/07: Add COUNT sequence function.
2006/10/07: Move sequence functions in new sequence.c file.
2006/10/06: Function using :test can take any function type.
2006/10/06: The boyer benchmark was not pure ISLISP, fixed.
2006/10/06: Remove REMOVE-EQUAL function (use :test #'equal instead).
2006/10/06: Change lcc to version 3.8 (version 2006/09/15).
2006/10/03: Add :test for SUBSTITUTE, FIND, POSITION, SEARCH.
2006/10/02: Add :test for DELETE, REMOVE, ADJOIN, MEMBER, MAKE-HASH-TABLE.
2006/09/24: Change stream and socket print format.
2006/09/23: Add mod_lisp support.
2006/09/21: Add islisp in features list.
2006/09/16: Add emacs-pipe feature when run with '-emacs' option.
2006/09/13: Add CLCHAR (for CONST LCHAR).
2006/09/06: Add net/google.lsp search sample using SOAP.
2006/09/03: Better UCS support, especially on UNIX.
2006/08/27: Make easier detection of startup.lsp location.
2006/08/20: Change lcc to version 3.8 (version 2006/07/30).
2006/08/06: Check for page corruption in GC.
2006/08/06: Fix a bug in olvalidobj (GC). Check if obj fits in page bounds.
2006/08/06: Qualified port on Solaris 10 sparc with SunStudio 11.
2006/08/02: Add ps.lsp PostScript driver in contrib directory.
2006/07/27: Add pop3.lsp a POP3 client mail reader.
2006/07/21: Fix bignum V.S. small integer promotion.
2006/07/17: When available, use inline function for LAP internal routines.
2006/07/13: Some LAP optimizations.
2006/07/09: Add missing CBSF block in edit.c.
2006/07/07: Add -e and -help|-? command line options.
2006/07/06: Add httpd-XXX.pid when launching httpd.
2006/07/01: Add SUBSTITUTE.
2006/06/29: The :print-function structure option is now inherited.
2006/06/29: Add get-format function in startup.lsp
2006/06/29: httpget inherits from url structure.
2006/06/25: Add net/url.lsp for URL encoding/decoding.
2006/06/19: Optimize PSET.
2006/06/18: Let string comparison functions work on symbols.
2006/06/18: Improve sort on lists.
2006/06/15: Small fix for MySQL database. (Checked on Fedora Core 5 x86).
2006/06/10: Add support for int64 with SQLite database on Windows x64.
2006/06/08: Change version to 8.4.0 (beta).



Version 8.3.0



2006/06/07: Final release 8.3.0 with build 3804.
2006/06/07: Qualified port on RH Linux ppc64 gcc 3.4.
2006/06/03: Change printer to support #\U0041 notation in _UCSCHAR version.
2006/05/28: Factorize type conversions in FFI.
2006/05/27: Add CHAR-CODE and CODE-CHAR functions.
2006/05/27: Change reader to support #\U0041 notation to read UNICODE chars.
2006/05/17: Change SXHASH to be compabitle between 32 and 64 bit processors.
2006/05/15: Add MODCPREQ to allow compilation hooks.
2006/05/06: Add INTERACTIVE-STREAM-P function.
2006/05/06: Fix OPEN-STREAM-P for sockets and stream-strings.
2006/05/06: Add test for non-socket streams in FINISH-OUTPUT.
2006/05/05: Improve REPL of OpenLisp telnet server.
2006/05/04: Add POST method in httpget.lsp.
2006/05/03: Change queue implementation to use structure.
2006/05/01: Source files are all in unix mode (no cr).
2006/05/01: Add more file to std C compiled library.
2006/04/28: Change to Open Watcom C/C++ 1.5.
2006/04/11: Manage code using CVS.
2006/04/02: Improve C stack scan.
2006/03/21: Qualified port on FC5 i386 gcc 4.1.0.
2006/03/18: Improve Windows memory detection in physio.c.
2006/03/18: Remove the set to OLFREEHEAP in gc.c (seems buggy).
2006/03/17: Qualified port on Solaris pc 10.0 with gcc 3.4.
2006/03/02: Qualified port on Solaris sparc 10.0 with gcc 4.1.0 (-m64 -std=c99).
2006/02/25: Add a Sudoku solver in contrib/sudoku.lsp.
2006/02/15: Fix a bug in olvalibobj detection routine.
2006/02/02: Test with the Intel C/C++ Compiler 9.0.
2006/02/02: Fix a small bug in \u (unicode) reader. Allow \u and \U.
2006/01/29: Change to Open Watcom C/C++ 1.4.
2006/01/29: Remove Windows version detection in gc.c (no more used).
2006/01/21: Remove code generation for unused local functions.
2006/01/21: Fix :AROUND methods calls.
2006/01/19: Port on Windows Mobile 5 smartphone with VS 2005.
2006/01/17: Change olcallgeneric signature to help C backend.
2006/01/16: Fix SXHASH so that (sxhash '(1 2 . 3)) != (sxhash '(1 2 3))
2006/01/15: Fix a bug in method hash that prevents method caching.
2006/01/15: Methods are now fully compiled.
2006/01/14: Extends defmacro syntax to allow compiled functions as body.
2005/12/11: Fix generic function with only &rest arg (silly but legal).
2005/12/10: Method body are now compiled into mangled function.
2005/12/10: Fix reading piped symbol with prefix package like foo:|Bar|.
2005/11/23: Change version to 8.3.0 (beta).



Version 8.2.0



2005/11/23: Final release 8.2.0 with build 3715.
2005/11/19: Add more hookable functions in debug.c.
2005/11/19: Change lcc to version 3.8 (version 2003/02/19).
2005/11/18: Windows 32bits is LARGEADDRESSAWARE compatible.
2005/11/18: OLRESTORELISP was not at the right place in gc when memory is full.
2005/11/18: CREATE-LIST was limited to unboxed fixnum (fixed).
2005/11/17: Make OpenLisp debugger command case insensitive.
2005/11/15: Add olsetaffinity macro for threaded GC.
2005/11/15: Add OLDEBUGMODE macro to help external debug console.
2005/11/14: Add untrace to startup.
2005/11/14: Let OLNEWLINE be set at compile time.
2005/11/12: Add to more olinton in internal print routine.
2005/11/10: Qualified for on Windows XP 32/64 with VS 2005.
2005/11/08: Qualified port on Solaris 10 (opteron).
2005/11/06: Many changes from int to size_t in memory functions.
2005/11/06: Qualified port on FreeBSD 6.0 (i386).
2005/11/05: Qualified port on FreeBSD 5.4 (Itanium II).
2005/11/02: Add the define symbol as second argument to LAMBDA-LIST-HOOK.
2005/11/02: Add GC-COMPACT-THRESHOLD function to tune GC.
2005/11/01: Change internal computation of olgcgrow.
2005/10/31: Speedup of 25% in GC when there is a log of free cons.
2005/10/30: Change stack macros to ensure they are called from same block.
2005/10/30: Add :CODE section in external module definition.
2005/10/28: Avoid unused nbarg in eval.c as detected by /RTCsu cl flag.
2005/10/24: Add Control Block Stack Frame (will replace olsetsysbstack).
2005/10/22: Fix zlib include.
2005/10/22: Add :READER and :WRITER in external for global variables.
2005/10/22: Fix wrong bound checking in PARSE-DATE.
2005/10/17: Ported on QNX 4.x (x86).
2005/10/21: Compiler may be conditionally compiled with --enable-devlib.
2005/10/20: MACHINE-INFO displays the number of GC threads.
2005/10/20: On Windows x64, GC uses threads by default.
2005/10/17: Ported on QNX 6.2.1 (x86).
2005/10/17: Fix potential conflict between FILENAME_MAX and PATH_MAX.
2005/09/24: Let WIN64 reserve more than 2Gb.
2005/09/24: Add AMD64/EM64T automatic build.
2005/09/22: Change GET-HOST-NAME internal routine on Windows.
2005/09/18: Add contrib/mangling.lsp that may be use to mangle functions.
2005/09/17: Add a simple toplevel telnet server (net/telnet.lsp).
2005/09/17: A socket stream was unable to handle 0xff character, fixed.
2005/09/13: Fix memory error in C internal STRING-STREAM routine.
2005/09/13: Fix PUSH-REF C backend code generation (A1 was destroyed).
2005/09/12: Add WITH-OUTPUT-TO-STRING and WITH-INPUT-FROM-STRING macros.
2005/09/12: Cleanup and speed improvements in FORMAT routines.
2005/09/12: Change STRING-STREAMs to support embbeded \0000 character.
2005/09/11: Change COPY-SEQ and EQUAL to support embbeded \0000 character.
2005/09/11: SUBSEQ was wrong when call with 3 arguments.
2005/09/10: Print support for embbeded \0000 character in string.
2005/09/10: Add string length in puts hookable function.
2005/09/02: Fix STRING-APPEND for strings with embbeded \0000 character.
2005/09/02: Fix wrong type error in regalloc (reglisp.c).
2005/09/02: Improve APPEND with more than 2 arguments.
2005/09/02: Improve STRING-APPEND with more than 2 arguments.
2005/09/01: Add NNTP client (net/nntp.lsp).
2005/08/30: Improve memory allocation of REGMATCH function.
2005/08/30: Fix a potential GC bug in regcomp (reglisp.c).
2005/08/29: Add HTTP GET client (net/httpget.lsp).
2005/08/29: Tested with SQLite 3.2.5.
2005/08/28: SMTP supports multiple lines response.
2005/08/27: Add SMTP client (net/smtp.lsp).
2005/08/27: Create 'net/' directory for network tools.
2005/08/24: Fix defines for OpenVMS.
2005/08/19: DIGIT-CHAR-P accepts radix as optional argument.
2005/08/18: Generate "rules.dep" when compiling C modules.
2005/08/17: When debugging, function history also prints parameters.
2005/08/17: Add STACK-TRACE function that returns the list of function calls.
2005/08/16: Add DATE-PARSE to parse a GMT formatted date.
2005/08/14: Add DATE=, DATE/=, DATE>, DATE>=, DATE< and DATE<= functions.
2005/08/13: Better support of HTTP/1.1 in contrib/httpd.lsp (many changes).
2005/08/13: Change version to 8.2.0 (beta).



Version 8.1.0



2005/08/13: Final release 8.1.0 with build 3608.
2005/08/12: Fix C backend corrupted stack for some function with &rest calls.
2005/08/11: Fix wrong code when compiling some constant types (like ).
2005/08/11: Add support for external global constant pointers in external.lsp
2005/08/09: Remove possible "unreachable code" warning with VC++ backend.
2005/08/07: Add an optional argument to GET-INTERNAL-DATE (used for GMT).
2005/08/07: Improve httpd.lsp and add 'connection:' option support.
2005/08/05: Add FUNCTIONTAG and MACROTAG for better debugging support.
2005/08/04: Map (STANDARD-ERROR) to (STANDARD-OUTPUT) if '-emacs' flag is set.
2005/08/04: Add '-emacs' flag to let OpenLisp work as emacs inferior-lisp-mode.
2005/08/03: Merge changes to produce 21.0 Public Domain as Word document.
2005/08/01: Fix DEFCLASS multiple-inherited accessor conflicts.
2005/07/29: Add CREATE-CLASS-INFO function.
2005/07/29: Display all files when an error occurs when reading file.
2005/07/28: Fix wrong double evaluation of :INITFORM forms.
2005/07/27: Add CLASS-INFO for built-in classes.
2005/07/26: Add different behaviors for NIL and STANDARD method combinations.
2005/07/26: Change the name of STANDARD method combinations (ISLISP).
2005/07/26: Add missing :GENERIC-FUNCTION-CLASS support (ISLISP). 
2005/07/25: Allow SETF form in DEFGENERIC and DEFMETHOD (ISLISP).
2005/07/08: Clear input buffer before entering the debugger.
2005/07/02: Change debugger syntax, now use keywords like :v, :u ...
2005/07/02: Remove unsupported optimize #pragma on IA64 Windows.
2005/07/02: Improve 'u' debugger command.
2005/07/01: Show the read level in debugger.
2005/06/30: Fix subseq when GC occurs while allocating the result string.
2005/06/27: Fix wrong olenv backup for CPSUBRx functions (eval.c).
2005/06/26: Fix wrong C backend code when generating some closure.
2005/06/25: Fix output of empty structures (remove extra blank).
2005/06/25: Add "openlisp" as feature (may be use with #+openlisp).
2005/06/23: Qualified port on NetBSD 2.0.2 (Alpha) with gcc 3.3.3.
2005/06/20: Fix wrong profile time value for interpreted functions.
2005/06/18: Append char type (a or w) in unix library names.
2005/06/15: Full qualified port on Fedora Core 4 (x86) with gcc 4.0.0.
2005/06/12: Full qualified port on Linux sparc64 (Debian 3.1 sarge).
2005/06/10: Add optional trace mechanism for compiled functions.
2005/06/07: Merge Intel compiler flags with MSVC using conditionals.
2005/06/07: Add new testuesc.lsp test for \uxxxx syntax reader.
2005/06/07: Add unicode syntax reader \uxxxx for symbols and strings.
2005/06/07: Add optional (AL) octal syntax reader \nnn for symbols and strings.
2005/05/31: Some portability fixes after the new include reorganization.
2005/05/29: Move all includes in defs.h.
2005/05/28: Change POINTER to CPOINTER when appropriate.
2005/05/26: Fix MEMBER-EQUAL with characters (UNICODE?) and bignums.
2005/05/24: Add OLFLOATENDSWITHDOT compilation flag (3. -> 3.0).
2005/05/24: Add CPOINTER typedef for CONST POINTER.
2005/05/24: Fix MEMBER with characters (UNICODE?) and bignums.
2005/05/22: EmACT and OpenLisp libraries follow the same name convention.
2005/05/22: Small return fix for GUI Windows 64.
2005/05/22: Windows timer functions are dynamically detected.
2005/05/21: Change version to 8.0.0 (beta).



Version 8.0.0



2005/05/21: Final release 8.0.0 with build 3554.
2005/05/21: Add support for space in OPENLISP environment variable (common.mak).
2005/05/19: XML reader accepts large files (up to MAXINT).
2005/05/19: SET-LOCALE was not initialized as Lisp function.
2005/05/19: Complete port on Windows XP x64 Edition (AMD64).
2005/05/19: Fix wrong format output for bignums.
2005/05/17: Preliminary port on Windows XP x64 Edition (AMD64).
2005/05/07: Fix wrong constantp test in SETQ SF.
2005/05/05: Improve common.gmake auto generation.
2005/05/03: Use sigsetjmp/siglongjmp when available.
2005/05/02: Add  when compiling for UNICODE.
2005/05/01: Closure was not made for generic link in method blocks.
2005/04/29: Use "-m64 -mptr64 -mcpu=v9 -Wa,-xarch=v9 -O3" on Solaris sparc64.
2005/04/29: File src/common.gmake is generated from common.gmake.in.
2005/04/29: Add support for --enable-m64 gcc option.
2005/04/28: Qualified port on Solaris 9.0 with gcc 4.0.0 (-m64 -std=c99).
2005/04/27: Qualified port on Solaris 9.0 with gcc 3.2.0 (-m64).
2005/04/26: Change "#\control-" reader and printer.
2005/04/26: Qualified port on MacOS X ppc (darwin7.9) with gcc 3.3.1.
2005/04/25: Add ctype like macros.
2005/04/24: Add tst/testclck.lsp for ALARM and CLOCK functions.
2005/04/24: Add a system dependant variable for tmp directory tests.
2005/04/20: Full qualified port on OpenVMS 8.2 (Alpha processor).
2005/04/20: Generated C stubs are forced in binary (unix) mode.
2005/04/15: Add gettimeofday configure detection.
2005/04/15: Add CLOCK and ALARM lisp functions.
2005/04/06: Fully qualified port on mvs OS/390 (EBCDIC).
2005/04/06: Add sdl/ofc.lsp (SDL OpenLisp Foundation Classes).
2005/04/05: Fix wrong stub name when generating ffi files.
2005/04/05: Add ffi constants for SDL 1.2.8.
2005/04/03: Add support for gzipped core with UNICODE builds.
2005/04/02: Experimental gzipped compressed core images (use with _ZLIB flag).
2005/04/02: Start to virtualize core I/O functions (prepared to zlib).
2005/04/02: Fix wrong size when saving olreadtable.
2005/03/30: Full qualified port on MVS OS/390 (release 15) using standard cc.
2005/03/29: Change olgetfunctionfromcode hook code.
2005/03/27: More EBCDIC support.
2005/03/25: Ported on IBM MVS OS/390 (i370-ibm-openedition).
2005/03/25: Add preliminary EBCDIC support.
2005/03/25: Fix AUTOLISP bug for inner variables.
2005/03/19: Qualified port on Windows with Digital Mars C/C++ 8.42.
2005/02/19: Move OLMAXxxx constants from openlisp.h to defs.h
2005/02/19: Change ST_MAXSTREAM to OLMAXTREAM.
2005/02/19: Qualified port on FreeBSD 5.3 (Alpha) using gcc 3.4.2.
2005/02/13: Check uCLinux (arm-elf) compatibility - compile ony.
2005/01/27: Remove some FlawFinder warnings.
2005/01/25: Qualified port on NetBSD 2.0 (Intel).
2005/01/24: Add dbdriverversion function.
2005/01/24: Tested with SQLite 3.1.0beta.
2004/12/24: Let ODSP handle extra HTTP header tags (like cookies).
2004/12/23: Improve UNICODE support on Linux.
2004/12/22: Object files are removed with "make clean" (Makefile.in).
2004/12/20: Tested with MySQL database native support on Fedora Core 3.
2004/12/19: Qualified port on Fedora Core 3 (x86) with gcc 3.4.2.
2004/12/19: Fix configure error raised after new variables in version.h
2004/12/18: Change olset for LISP1 compatibility.
2004/12/14: Add macros in version.h for *.rc files.
2004/12/14: Change version to 8.0.0 (beta).



Version 7.9.0



2004/12/14: Final release 7.9.0 with build 3501.
2004/12/12: Let user change some predefined constants and macros.
2004/12/11: Protect mmap with sigsetjmp.
2004/12/11: Don't try to find a valid base address if launched with -novm.
2004/11/30: Add SQLite driver.
2004/11/22: Add olinton in olcallfunction. (used by MAP* and other functions).
2004/11/07: Fix another bug with AL emulation and lambda SF (now use OLNULLENV).
2004/11/07: Always use VM_START_BASE hint on systems with mmap.
2004/11/05: Add VM support for Darwin.
2004/11/05: Call ranlib when available.
2004/11/05: Qualified port on MacOS X (darwin7.5) with gcc 3.3.1.
2004/11/04: Fix bug with AL emulation and lambda SF.
2004/10/14: Compiled functions try to use parameters and local variables.
2004/10/12: Fix bug in Lisp1 emulation.
2004/10/11: FREE-OBJECT function can free external and managed-external objects.
2004/10/11: Add support for :NICKNAMES in DEFPACKAGE macro.
2004/10/10: Add olhookusergc function for external user objects.
2004/10/06: Redesign Web interface.
2004/10/05: Add  data type for external pointers.
2004/10/05: Add non-regression test (testuser.lsp) to test external functions.
2004/10/04: Fix NSUBST and SUBST functions.
2004/10/03: Add contrib/defhook.lsp
2004/10/03: Add LAMBDA-LIST-HOOK function.
2004/10/03: A float zone was allocated, even with _IEEE31. Fixed.
2004/10/02: Add -vhratio program arguments.
2004/10/01: Some minor bug fixes in both memory.c and gc.c (wrong object count).
2004/09/30: Add -vheap and -vpape program arguments.
2004/09/23: Bypass check-offset test for tst/testxml.lsp when UNICODE is used.
2004/09/23: Fix no-cygwin flag when compiling with cygwin for MinGW env.
2004/09/23: Add missing wintext.c and winport.c from distribution.
2004/09/23: Switch to MinGW gcc 3.4.2 (now use -O2).
2004/09/22: Add missing test files on Pocket PC distribution.
2004/09/21: Change Power PC Linux VM hint to 0x50000000.
2004/09/21: Remove now obsolete olbchar variable.
2004/09/21: Preallocate and store the 256 ASCII chars in an internal table.
2004/09/20: Create module entry in binary mode (in cpmodule.lsp).
2004/09/20: Qualified port on Linux RH AS 3.0 (Opteron x86_64) with gcc 3.4.1.
2004/09/19: Fix wrong tests in testcp.lsp (typo).
2004/09/19: Better error detection in runtest.lsp.
2004/09/18: Add optional _NIL_AS_LIST flag.
2004/09/15: Add stub olretrievevalue in eval.c.
2004/09/15: Improve AL compatibility.
2004/09/14: Add address size (32 or 64) and charset to system-info structure.
2004/09/14: Qualified port on Linux Debian 3.0 on Alpha with gcc 3.4.1.
2004/09/14: Qualified port on Linux on Itanium II with gcc 3.4.1.
2004/09/14: Add hook to print user external objects.
2004/09/14: Change user-format to avoid name collision when in Lisp1 mode.
2004/09/13: Autoconf defines _MMAP_ALLOC for freebsd systems.
2004/09/13: Fix a potential bug in memory page initialization.
2004/09/13: Add GC-MAX-OBJECTS to control VM.
2004/09/10: Add optional VM detection memory adjustment (see VM_ADJUST_SIZES).
2004/09/07: Qualified port on Solaris 9.0 with gcc 3.4.0.
2004/09/05: Add tst/testutf8.lsp non-regression test.
2004/08/30: Reduce VM_MAX_PAGE to 256Mb for Windows XP SP2.
2004/08/30: Remove MSC warning 4125 for octal characters followed by a number.
2004/08/28: Change to Open Watcom C/C++ 1.3.
2004/08/27: Qualified port on Linux RH 9.0 using gcc 3.4.1
2004/08/25: Small fixes to build on Itanium Windows XP IA64.
2004/08/21: Change version to 7.9.0 (beta).




Version 7.8.0



2004/08/19: Final release 7.8.0 with build 3453.
2004/08/19: Add contrib/utf8.lsp.
2004/08/06: Add XML-ENCODE-STRING and XML-DECODE-STRING.
2004/08/03: Add GINCR-REF, GINCR-SREF, GDECR-REF and GDECR-SREF Lap inst.
2004/07/30: Add OLNOESCAPE to control escape char in symbols (i.e. foo\bar).
2004/07/26: Change to Open Watcom C/C++ 1.2.
2004/07/01: Lot of C backend optimizations.
2004/06/24: Remove more extra register loads in C backend.
2004/06/24: A FAQ has been added.
2004/06/23: Avoid extra register loads in C backend.
2004/06/22: Add rot17.lsp (Caesar shifts) on contrib directory.
2004/06/21: Fix a wrong test in packages.c.
2004/06/16: Add GC-MIN-OBJECTS to control VM.
2004/06/15: Suppress warnings of unused function arguments (C backend).
2004/06/15: Add *COMPILE-ENV* variable in startup.lsp (T when env compiled).
2004/06/15: Add GC-LOW-THRESHOLD and GC-GROWING-FACTOR to control VM.
2004/06/14: Add CPSUBR0-1 function types for fixed arity compiled closures.
2004/06/13: Fix potential compiler register allocation errors.
2004/06/11: SUBR0-3 are now always compiled using CALL-SUBR or CALL-REG.
2004/06/11: Implement a better compiler register allocation scheme.
2004/06/11: Push registers to force compilation of SUBR2-3.
2004/06/10: Fix calling name for olcallfunction in C backend.
2004/06/09: New expiremental C backend optimization that uses variables.
2004/06/03: Fix printing of symbols with \.
2004/05/30: Symbols with escape character (using '\') are printed with pipes.
2004/05/29: Implement '\' as escape character for symbols 'foo\\bar (ISLISP).
2004/05/27: Allow backquote with vectors (CLtL compatible extension).
2004/05/17: Fix "\\" when loading files on Windows GUI versions and PPC.
2004/05/17: Small fixes for Pocket PC.
2004/05/17: Fix registry functions for Pocket PC.
2004/05/11: Add a new registry.c module to be used on most Windows ports.
2004/05/09: Revert (wrong) olmember optimization.
2004/05/04: Full qualified port on AIX 5.1 with VisualAge 6.0.
2004/04/21: C backend optimize DREF and GREF used with A1.
2004/04/18: Add DMC C/C++ LAPtoCC in benchmark tests.
2004/04/17: When compiling, check if a calling macro has a missing REQUIRE.
2004/04/16: Move 'common*' makefiles in src
2004/04/16: Let kernel functions be redefined in C backend.
2004/04/15: Fix C backend optimization bugs.
2004/04/14: Lot of optimizations in C backend to avoid extra loads on A1.
2004/04/12: C backend removes code between TAILREC and label.
2004/04/12: Try to remove some a1 loads on C backend.
2004/04/09: C backend compiles with -W4.
2004/04/09: Add an extra pass to try to optimize LAP code more aggressively.
2004/04/09: Fix compiler bug when trying to optimize after TAILREC.
2004/04/06: Optimize olmember (a little bit).
2004/04/06: Optimize olcons for both LAP VM and C backend.
2004/04/02: Try to declare top as constant in C backend.
2004/04/02: Optimize C backend for constant lists of 1 element.
2004/04/02: Add doc/openlisp.1 nroff man page.
2004/03/28: Add missing UNINTERN package function.
2004/03/28: Remove obsolete (and wrong!) GETFN1 LL compatible function.
2004/03/28: Add olenter/leavefunction for codegen.
2004/03/27: Change version to 7.8.0 (beta).




Version 7.7.0



2004/03/27: Final release 7.7.0 with build 3241.
2004/03/24: Add complier and opcode to standard library to Makefile.in
2004/03/24: Update conf/ with latest autoconf files.
2004/03/21: Initialize optional kernel modules in "openlisp" package.
2004/03/21: New compiler peephole optimization that removes dead local store.
2004/03/20: Optimize compiled DO loops.
2004/03/20: Move LL macros form startup.lsp to contrib/llcompat.lsp
2004/03/20: Better EVAL-WHEN handling.
2004/03/19: SEARCH-IN-PATH, LOCAL-PATHNAME and *SYSTEM-PATH* are defined in C.
2004/03/18: Raise OLMAXSTRG to 4096.
2004/03/17: Add compiler option to support C escape char in strings (\n \t ...).
2004/03/17: Change constant definition for bignums in C backend (codegen.lsp).
2004/03/17: Fix bug in olevalbuffer when a single number was given.
2004/03/17: Add STRING-TO-UTF8 in cgi.lsp.
2004/03/17: Compile modules use ol[enter/leave]module functions.
2004/03/16: Support for OEM<->ANSI char conversion in WIN32 console mode.
2004/03/15: Add olevalenvbuffer that may use the current environment.
2004/03/14: Better POST method support in httpd.lsp module.
2004/03/11: Fix mkdir mask on UNIX to 0777.
2004/03/06: Add dynamic *print-packages* flag. Default to nil.
2004/03/05: Change startup.lsp detection to avoid package confusion with disk.
2004/03/04: REQUIRE preserves *package* and *situation*.
2004/03/03: Define loader.lsp in its own package.
2004/03/03: Define codegen.lsp in its own package.
2004/03/01: Add lib/opcode.lsp that defines LAP symbols in openlisp package.
2004/02/29: Fix a wrong string cast in an old GC debug code.
2004/02/29: Add missing opcodes for the disassembler.
2004/02/29: Fix package definition for MINE.
2004/02/29: Fix the size of virtual terminal when buffer > screen.
2004/02/29: Change initialization of C compiled functions.
2004/02/29: Change olfentry API (cval removed default to olsymbundef).
2004/02/27: Add option to support ;| .. |; as an alternate comment block.
2004/02/26: Add support for 'inline' keyword when available in C.
2004/02/25: Add a printer function to system-info structure.
2004/02/25: Add LOWMEM, MAXPAGE and MAXHEAP values to MACHINE-INFO.
2004/02/24: Change VM allocation scheme, support top-down search.
2004/02/23: On Windows, VM reserves memory.
2004/02/23: VM_MAX_PAGE and VM_MAX_HEAP can be set at compile time.
2004/02/23: Add new memval macro to take value of a POINTER (<> cval).
2004/02/23: ISLISP package contains all symbols defined by the standard.
2004/02/23: Add missing index entries in islisp.doc.
2004/02/22: Define ISLISP constants (*pi, *most-XXX-float*) in C.
2004/02/22: Predefine more ISLISP symbols.
2004/02/22: ISLISP symbols are now in "islisp" package.
2004/02/14: Force local-pathname with / on unix like systems.
2004/02/12: Small fixes to Java sample.
2004/02/12: Errors are now hookable.
2004/02/11: Add SHADOWING-IMPORT (same as SHADOW).
2004/02/11: Implement nicknames.
2004/02/11: Add ./tst/testpkg.lsp to test packages.
2004/02/10: Lot of changes to suppport package object for SYMBOL-PACKAGE.
2004/02/06: Normalize on olrealenv(), and fix a bug with nested definitions.
2004/01/26: Change PACKAGE-NAME to always return a string.
2004/01/24: Fix wrong arity for default BEFORE/AFTER-GC-HOOK functions.
2004/01/22: Fix SYMBOL-PACKAGE of SYSTEM-NAME value.
2004/01/18: SYMBOL function support a package object as first argument.
2004/01/16: Add a flag to print string around double quotes at toplevel.
2004/01/10: Special forms can also be bound.
2004/01/08: Fix error when bignum was given to ZEROP.
2004/01/08: Initialize C user modules in "user" package.
2004/01/08: Fix wrong FIND-ALL-SYMBOLS code.
2004/01/08: Modify olevalbuffer to accept more than one expression.
2003/12/26: Change symbol initialization.
2003/12/24: Add PACKAGE-USED-BY-LIST function.
2003/12/18: Symbols like foo:|Bar| was not correctly read.
2003/12/17: Add FIND-ALL-SYMBOLS function.
2003/12/17: Add "system" package.
2003/12/17: Change default package to "openlisp" and add "user" package.
2003/12/12: Lot of changes and fixes in package.
2003/12/10: Qualified port on Linux ia64 with Intel C/C++ v8.0.
2003/12/10: Qualified port on Linux x86  with Intel C/C++ v8.0.
2003/12/09: Add PACKAGE-NICKNAMES (reserved but not implemented).
2003/12/08: #:XXX syntax creates an uninterned symbol.
2003/12/06: Change heap object type name to .
2003/12/05: Change default package name to 'user.
2003/12/05: Change version to 7.7.0 (beta).




Version 7.6.0



2003/12/01: Final release 7.6.0 with build 3222.
2003/12/01: Fix OLHTOD macro.
2003/11/28: Fix olcurrentdirectory code with UNICODE on Linux.
2003/11/28: Fix wrong macro when compiling with UNICODE on Linux.
2003/11/22: Add Windows XP IA64 (compile only) to compilers non-regression test.
2003/11/16: Add native-case function in tests to support uppercase symbols.
2003/11/15: Add option to intern symbols in uppercase letters.
2003/11/13: Add compilation flag to support NIL as default value for symbols.
2003/11/12: Add some _AUTOLISP_COMPAT semantic support.
2003/11/12: Change olstringevalbuffer to allocate buufer if 2nd arg is NULL.
2003/11/12: Add Java integration samples to standard distribution.
2003/11/11: Digital Mars C/C++ is now part of the compilers non-regression test.
2003/11/11: Qualified port on Windows with Digital Mars C/C++ 8.38.
2003/11/10: Fix name change 'undef' -> 'olsymbundef'. 
2003/11/05: Qualified port on HPUX ia64 with HPcc and both +DD32 and +DD64.
2003/11/05: Force setjmp with at least 16 bytes alignment on 64bits processors.
2003/11/05: Fix warning when building pseudo tags (cast added).
2003/11/02: Add _USERFINALIZER option macro.
2003/11/02: Cleanup C++ code and examples, add cpp directory.
2003/10/23: Fix wrong USER-TYPE-P with  objects.
2003/10/23: Export olstricmp function.
2003/10/06: Qualified port on MacOS X (darwin6.8) with gcc 3.3.1.
2003/10/06: Add  include detection (for Darwin).
2003/09/21: Qualified port on cygwin 1.5.5 / gcc 3.3.1.
2003/09/21: Fix warning about type-punned pointer on olstrtod.
2003/09/20: Qualified port on Linux on Itanium II with gcc 3.2.2.
2003/09/20: Workaround to prevent optimization gcc bug on Itanium
2003/09/08: Add pragma on MSVC++ compiled code to speedup compilation.
2003/09/07: Detect HP cc compiler.
2003/09/04: Validate port on Windows XP IA64 with VC++ .NET 2003 (Itanium II).
2003/09/04: Fix OLJUMBUF_ALIGN typo that raise a bug in IA64 olcatch.
2003/09/03: Enable GF (string pooling) on MSVC++ .NET 2003.
2003/09/03: Change to MSVC++ .NET 2003.
2003/09/02: Add hooks for module intialization in main.c.
2003/09/01: Compiled code can be loaded dynamically using DLL.
2003/09/01: Change the arguments of ollstrtostr and add ollstrtostrbuf.
2003/08/31: Add new OLUSERINIT level to olregistermodule.
2003/08/31: Modular binaries no longer require openlisp.c compilation.
2003/08/31: Add OLEXPORT/OLPUBLIC for module init function (DLL suport).
2003/08/30: Add OLEXPORT/OLPUBLIC for defexternal init function (DLL suport).
2003/08/30: Add GET/SET-INPUT-CODE-PAGE and GET/SET-OUTUT-CODE-PAGE functions.
2003/08/27: Change fasl.lsp to speed-up things with big files.
2003/08/27: Dynamic variable *PRINT-LENGTH* supports -1 or nil as 'no limit'.
2003/08/27: Fix a bug with SXHASH and bignums.
2003/08/22: Port with gcc 3.3.1 on XP (mingwin32).
2003/08/19: Add support for module DLL generation (common.mak).
2003/08/18: Add missing prototypes in edit.c.
2003/08/17: Add OLPUBLIC for module entry point (for DLL).
2003/08/16: Add 'cgi-' prefix to all non-public symbols in cgi.lsp.
2003/08/15: Optimize C backend for lists filled with the same element.
2003/08/15: Add olalloclist helper function.
2003/08/14: Fix C backend constant compilation that contains dotted pair.
2003/08/14: Map NIL as NULL for external pointers.
2003/08/13: Implement working KILL on Windows.
2003/08/13: Implement working GET/SET-PRIORITY on Windows.
2003/08/12: Add 3 debug level in httpd.lsp.
2003/08/10: Add more option to compile.lsp the OpenLisp front end compiler.
2003/08/10: Add SQL test for large integer.
2003/08/10: Cleanup for MSVC Makefile.
2003/08/06: Argument for external EDIT command is now optional.
2003/08/04: Detect XP HOME in MACHINE-INFO.
2003/08/02: Add _USEROPTIONS flag to accept user options from command line.
2003/08/02: Add common.gmake file to compile lisp files with GNU make.
2003/08/01: Fix version verification in olcheckmodule.
2003/08/01: Change version to 7.6.0 (beta).




Version 7.5.0



2003/07/31: Final release 7.5.0 with build 3140
2003/07/31: Fix olusersymbol wrong keyword definition.
2003/07/31: Add a lot of 'ol' and 'OL' prefixes to constants and macros.
2003/07/30: Add olcheckmodule to check compatibility of compiled modules.
2003/07/28: Add *PRINT-BASE* dynamic variable to print integers.
2003/07/28: Remove size limitation in olevalbuffer function.
2003/07/27: Add :cdata lisp compiler flag to help reduce C code for data files.
2003/07/26: Add OL prefix to EXPORT and PUBLIC macros.
2003/07/24: Add more parameters in cpmodule.lsp to customize C compilation.
2003/07/22: Fix C generation of symbols with '\' characters (like foo\bar).
2003/07/21: Optimize C compilation for the ASSURE Special Form.
2003/07/21: ASSURE checks only for exact type and fails for subtypes.
2003/07/21: ASSURE and THE are now two distinc Special Forms.
2003/07/15: Compiler tries to declare FOR/DO variables as .
2003/07/15: Add NEQ LAP instruction.
2003/07/14: Add new compiler optimizations after ASSURE/THE declarations.
2003/07/13: Introduce SVREF and SVSET as LAP instructions.
2003/07/13: Change SVSET parameters order.
2003/07/12: Optimize C code for LOCAL or PARAM.
2003/05/16: Add contrib/serialize.lsp to serialize objects in XML.
2003/05/16: Change loader to reduce compiled code.
2003/05/15: Add compiler warning for shadowed variables.
2003/05/14: More changes on constants C backend.
2003/05/13: Deal with missing CONSTANT pseudo-code in C backend.
2003/05/13: Initialize local variables in C lexical blocks with NULLPTR.
2003/05/12: Fix EVERY return value (always T or NIL).
2003/05/12: Fix EVERY/ANY/SOME/.. bug with improper lists.
2003/05/12: Fix wrong C code for TAILREC instruction.
2003/05/12: Take care of bignums for integer C constants.
2003/05/11: Add olmakeascii macro to make character from char code < 256.
2003/05/10: Remove duplicate constant list in C backend.
2003/05/09: Reduce the number of global variables in C backend.
2003/05/05: Avoid C backend symbols creation for SUBRN kernel functions.
2003/05/05: Don't save DEFSLOT and keywords to cplist values.
2003/05/05: Don't generate code for global constant expressions in LAP.
2003/04/30: First snapshot of Linux UNICODE version.
2003/04/30: Change form READ-BYTE to READ-CHAR in the macro reader.
2003/04/30: Port with gcc 3.2.3 on XP (mingwin32).
2003/04/30: Add support for UNICODE with autoconf.
2003/04/28: Add httpd to compiled library.
2003/04/22: Add missing REQUIRE for defclass in compiler.lsp.
2003/04/22: The compiler can optimize same load on A1.
2003/04/22: On binary mode, write \n as a single character (not \r\n).
2003/04/22: Autoload uses REQUIRE to load code.
2003/04/22: Fix SET-CAR, SET-CDR C generated code.
2003/04/22: Add _NOBANNER compile option.
2003/04/22: Qualified port on Linux RH 9.0 using gcc 3.2.2.
2003/04/21: Fix wrong SET-FILE-MODE code in PocketPC 2002.
2003/04/21: Fix UNICODE bug in FORMAT routines.
2003/04/21: Automatically try to load "Autorun.lsp" when using a custom build.
2003/04/21: RESTORE-CORE print the return value only if it is non-NIL.
2003/04/21: Change external.lsp to extern.lsp.
2003/04/20: Add more compiled libraries.
2003/04/20: Remove wrong "Fatal Error" message on some normal situations.
2003/04/18: Check if data is not already in compiled constant list.
2003/04/18: Don't save keywords in compiled constant list.
2003/04/17: Add wrong-version error to check C module compatibility.
2003/04/17: Optimize C module initialization code.
2003/04/12: Change version to 7.5.0 (beta).



Version 7.4.0



2003/04/12: Final release 7.4.0 with build 3089.
2003/04/11: Add MODREQ entry in makefiles for standalone executables.
2003/04/10: Add generation of standard library from LAP->C.
2003/04/09: Change FUNCTION-DEFINITION to return SUBRM.
2003/04/09: Fix MACRO-FUNCTION to also work with SUBRM.
2003/04/08: Add module.c that implements REQUIRE, PROVIDE and dynamic loading.
2003/04/07: Add Makefile.in entry to automatically generate libolstd.a.
2003/04/07: Change error.lsp to stderror.lsp.
2003/04/06: Fix wrong boundp LAP op-code.
2003/04/05: Check that the optimizer don't remove END op-code.
2003/04/05: Change exit return code by adding a new variable named olexitcode.
2003/04/03: Fix wrong TAILREC C translation. 
2003/04/02: Add support for POST method in httpd.lsp.
2003/04/02: Fix DIRECTORYP detection with trailing / or \ on Windows.
2003/04/01: Qualified port on Linux (2.4.9) on s390 (IBM zSeries).
2003/03/31: Add ^D (Del navigation key) to ntterm.c
2003/03/26: Fix pretty.lsp for control characters now displayed as #\control-X.
2003/03/26: Add more functions with bignums.
2003/03/26: Add SPSUBRN symbol.
2003/03/26: Log GC make for large integers.
2003/03/26: Change oldefint to create a large integer.
2003/03/25: Change output method for odsp module.
2003/03/25: Add a new logic to test for integer overflow.
2003/03/24: Add non-regression test for both 32 and 64 bits large integers.
2003/03/24: Raise error when reading incomplete expression in READ-FROM-STRING.
2003/03/23: Lot of changes to support native machine integer size (32/64 bits).
2003/03/21: Add missing LAP codes in disassembler.
2003/03/20: Change codegen to prevent clobbered variable on CATCH/BLOCK code.
2003/03/20: Add CSV read/write to contrib directory.
2003/03/19: Call olreset before module initialization in restore core.
2003/03/18: Add optimizations for SUBR3 in compiler, LAP and C generator.
2003/03/16: Add oladdcplist function to store C objects for GC.
2003/03/16: Add OpenLisp version and build in MACHINE-INFO vector.
2003/03/16: Fix wrong stack overflow detection method.
2003/03/15: Fix GC bug in STRING-UPCASE and STRING-DOWNCASE.
2003/03/14: Add SYMBOL-KERNEL-P that returns T for internal kernel symbols.
2003/03/13: Change trace to ignore &rest and :rest when showing values.
2003/03/12: Add testcc.lsp to test the LAP->C translator.
2003/03/12: Allow CORE-INIT-STD to be defined as SUBRN (compiled function).
2003/03/10: Make C internal names more consitent with OpenLisp symbols.
2003/03/10: Uninitialize modules only if initialization has been done.
2003/03/07: Remove EMACS from the kernel and add edit.c file.
2003/03/06: Add functions to initialize and de-initialize all external modules.
2003/03/06: Rebuild external modules after a RESTORE-CORE.
2003/03/05: Don't reset olcplist in RESTORE-CORE.
2003/03/04: Check for arity error on C compile code.
2003/03/03: Add ollaperest.
2003/03/03: Add cbench directory to store C compiled Gabriel's benchmarks.
2003/03/03: Fix more warnings with C compiled files.
2003/02/29: Add olcplist to store compiled constants.
2003/02/28: Fix WCE putenv definition.
2003/02/28: Skip integer and float when marking external pointer list.
2003/02/23: Add CPSUBRN in olcallfunction to call C compiled closures.
2003/02/22: Add :cc COMPILE-FILE option to generate .c et .h files.
2003/02/22: Change version to 7.4.0 (beta).



Version 7.3.0



2003/02/22: Final release 7.3.0 with build 3010.
2003/02/20: Add support for SUBRM (compiled macros).
2003/02/20: Add EVAL-WHEN Special Form.
2003/02/18: Lap CATCH instruction set A1 to nil.
2003/02/15: Change lcc to version 3.8 (version 2003/02/15).
2003/02/13: Port with gcc 3.2.2 on XP (mingwin32).
2003/02/13: Fix setjmp/longjmp clobbered variables with new olcatchonstack.
2003/02/11: Optimize compiled local functions with only local variables.
2003/02/05: Change XML-READ to allow already opened stream.
2003/02/01: Check for .
2003/01/23: Add SETUID and GETUID functions (Un*x only).
2003/01/21: Close all channels run running as daemon.
2003/01/20: Qualified port on FreeBSD 5.0 (Intel).
2003/01/15: Display gcc version in autoconf.
2003/01/14: Add UTF8-TO-STRING in cgi.lsp.
2003/01/11: Add wrong filename in case of error in olrunasdaemon function.
2003/01/11: Change testdmn.lsp.
2003/01/09: Add new includes for sockets.
2003/01/09: Add new compiler names.
2003/01/08: Qualified port on Linux RedHat 7.2 x86 using Intel C/C++ 7.0.
2003/01/07: Switch to saved header when trying to restore a wrong core image.
2003/01/06: Better error detection when occurs with execore.
2003/01/06: Add BANNER function.
2003/01/06: Fix execore wrong binary name on Windows ME. Also test for ".EXE".
2003/01/05: Qualified port on Linux Debian 3.0 on arm41 (Shark).
2003/01/05: Update to latest config.guess and config.sub.
2003/01/05: Autoconf now detects 'unused' warnings for gcc.
2003/01/03: Add "linux" as specialized port name (beside unix and posix).
2003/01/03: Reduce the number of _POSIX_SOURCE, use HAVE_XXX instead.
2003/01/02: Qualified port on OSF1 V5.1 (Tru64 Alpha using Compaq C V6.5-011).
2003/01/02: Qualified port on NetBSD 1.6 (Alpha).
2003/01/02: Qualified port on NetBSD 1.6 (Intel).
2003/01/02: Qualified port on OpenBSD 3.1 (Intel).
2003/01/02: Qualified port on FreeBSD 4.7 (Alpha).
2003/01/02: Qualified port on FreeBSD 4.7 (Intel).
2003/01/02: Qualified port on Linux Debian 3.0 on arm41 (iPAQ).
2003/01/02: Qualified port on Linux Debian 3.0 on Alpha.
2003/01/02: Qualified port on Linux Debian 3.0 on PA-RISC.
2003/01/02: Qualified port on Linux Debian 3.0 on Itanium II.
2003/01/02: Qualified port on Linux RedHat 7.2 on Itanium II.
2003/01/01: Call oltermstty() when OpenLisp goes to daemon mode.
2003/01/01: Add errno.h.
2002/12/31: Add GET-PRIORITY and SET-PRIORITY functions.
2002/12/30: Add SYSTEM-ERRNO function that returns the errno value.
2002/12/29: Add olterminateprocess condition (used with SIGTERM).
2002/12/28: Add an option to display PID using logfile.
2002/12/28: Some fixes for Linux UNICODE characters support.
2002/12/27: Add olusersignal condition (used with SIGUSR1 and SIGUSR2).
2002/12/27: Use sigaction when available and signal otherwise.
2002/12/24: Add olcannotfork condition.
2002/12/24: Add DAEMONP function.
2002/12/23: Fix 'defunct' in RUN-AS-DAEMON function.
2002/12/22: Add PUTENV function.
2002/12/21: Add FILE-MODE function.
2002/12/20: Add RUN-AS-DAEMON function on UNIX/POSIX systems.
2002/12/19: Add SET-FILE-MODE function.
2002/12/17: Fix $0 that may change when execore is used.
2002/12/16: Add execore feature.
2002/12/12: Add internal olsockeofp function.
2002/12/11: Fix a bug in olgettimeout socket function.
2002/12/11: Check that STRING-SPLIT is given a string as 2nd argument.
2002/12/11: Better check EOF when loading file.
2002/12/11: Add -keep argument to keep OpenLisp running when a file is given.
2002/12/08: Port with gcc 3.2.1 on XP (mingwin32).
2002/12/06: Check for a string argument in XML-STRING function.
2002/12/05: Speedup the peephole.
2002/12/05: Add %peephole-unused-labels function.
2002/12/03: Add olg2add, olg2sub, olg2mul and olg2div functions (used by LAP).
2002/12/03: Add lap.h that implements some LAP macros (prepare C compiler).
2002/12/02: Add optional Windows SDL support.
2002/12/01: Test $(INSTALL)/bin directory when calling 'make install'.
2002/11/30: Search SDL libraries from /usr and /usr/local.
2002/11/30: Change LAP functions to PARAM, LOCAL, SET-PARAM and SET-LOCAL.
2002/11/27: Optimize local variable frame in function declaration header.
2002/11/27: Add the number of local objects in LAP function headers.
2002/11/23: Overall compiler optimizations save about 12% in speed.
2002/11/22: Add *-SREF functions that work on stack arguments.
2002/11/21: Optimize INCR/DECR/NEXT-REF followed by the same LREF.
2002/11/20: Restore the EOF checking when loading file.
2002/11/20: Introduce the stack access for some compiled function.
2002/11/20: Add SREF LAP instruction.
2002/11/09: Change compiler CONSTANT logic.
2002/11/09: Change version to 7.3.0 (beta).




Version 7.2.0



2002/11/07: Final release 7.2.0 with build 2937.
2002/11/07: Fix 'make install' on cygwin.
2002/11/06: Fix wrong LAP generated code for some CONSTANT reference.
2002/11/04: Fix wrong virtual bitmap code with SDL 1.2.5.
2002/11/04: Fix configure error on new RH 8.0.
2002/10/30: Add CALL-SUBR LAP that calls subr0, subr1, subr2 functions.
2002/10/28: Change DLL and LIB names.
2002/10/26: Replace old VC 6.0 projects files with new VC 7.0 format.
2002/10/25: Add compile benchmarks test for Borland and GCC.
2002/10/24: Change the LAP engine macros and save 5% in speed.
2002/10/18: Test if getlogin returns a non empty string.
2002/10/17: Remove obsolete TYPECN function.
2002/10/17: Reduce heavy recursion in olreadlist internal function.
2002/10/16: Add SET-SYNTAX-FROM-CHAR.
2002/10/16: Change readtable structure to store macrocharacters locally.
2002/10/16: Add preservecase in COREHEADERTAG structure.
2002/10/15: Full qualified port on AIX 4.3.3 with VisualAge 5.0.
2002/10/15: Full qualified port on Solaris 8.0 with SUN cc 6.0.
2002/10/14: Fix a bug with COPY-READTABLE 2nd arg.
2002/10/09: Add COPY-READTABLE, READTABLEP.
2002/09/06: Fix bug in XML-STRING for #x80 character.
2002/08/26: Qualified port on cygwin using gcc 3.2.
2002/08/22: Change olencodefile to use olsysopen.
2002/08/21: Qualified port on Linux using gcc 3.2 (checked with -std=c99)
2002/08/19: Qualified port on NT using gcc 3.2.
2002/07/31: Qualified port on Linux using gcc 3.1.1.
2002/07/30: Change ellipsis prototypes to meet C99 requirements.
2002/07/28: Optimize XML-STRING when no conversion is needed.
2002/07/21: Add ollastaround macro that replace call to nextenv in class.c.
2002/07/21: Move graphics.c to dos directory. Update makefiles.
2002/07/17: Change finalizer signature to speedup default (empty) finalizer.
2002/07/01: Add compilation date and time to SYSTEM-INFO structure.
2002/07/01: Add _COMPILERVERSION macro.
2002/06/27: Add lib/sysinfo.lsp as a structure interface for raw machine-info.
2002/06/27: Add getlogin configure.in detection on Posix systems.
2002/06/27: Add _COMPILERNAME macro.
2002/06/26: Add optional iconv interface (tested only on Linux).
2002/06/17: Add olinitmodulenames helper.
2002/06/15: Switch to MinGW gcc 3.1.
2002/06/14: Lot of autoconf cleanup.
2002/06/14: Start a FastCGI (fcgi.c) interface module. Not yet tested.
2002/06/13: Change OSP to ODSP to avoid clash with IE6 reserved extension.
2002/06/13: Don't initialize history when using OpenLisp as shell script.
2002/06/13: Build libol-X.Y.Z.so on Linux
2002/06/12: Remove DESCRIPTION form DLL definitions.
2002/06/10: Fix two solaris bugs.
2002/06/08: Add main.c as wrapper to olmain.
2002/06/08: Add finalize hook to prepare finalizer from GC.
2002/06/03: Add RESULT-SET that returns a list form SQL query.
2002/06/03: Change reference compiler to MSVC 7.0 .NET.
2002/05/31: Change version to 7.2.0 (beta).




Version 7.1.0



2002/05/31: Final release 7.1.0 with build 2861.
2002/05/29: Add parameter substitution to WITH-CURSOR function.
2002/05/29: Add DBERRCODE to DB modules.
2002/05/29: Close all open files before doing a RESTORE-CORE.
2002/05/28: Fix a bug in FREE-OBJECT with wrong back pointer.
2002/05/25: Add history saving in .openlisp_history with readline.
2002/05/25: Fix wrong volatile bug in class.c with gcc 3.1.
2002/05/21: Add FREE-OBJECT that physically remove a Lisp object.
2002/05/16: Qualified port on Linux using gcc 3.1.
2002/04/21: Check for the right number of indexes in AREF functions.
2002/04/03: Add C constants FFI for integer and floats.
2002/03/28: First usable SDL version. Not yet finished.
2002/03/26: Start SDL (Simple DirectMedia Library) module.
2002/03/25: Add autoconf tests for both  and .
2002/03/25: Change mmap detection in ./configure.
2002/03/22: Prevent arithmetic overflow in virtual memory detection.
2002/03/18: Add C functions to handle THROW and RETURN-FROM special forms.
2002/03/16: MACHINE-INFO loading address.
2002/03/16: Guess the starting point to search for virtual memory on unix.
2002/03/14: Fix incorrect IGNORE-ERRORS behavior.
2002/03/14: Use a global identifier for mmap handle.
2002/03/14: Add olsysvinit and olsysvclose functions.
2002/03/12: First workable PostgreSQL snapshoot (tested with 7.2 version only).
2002/03/11: Add PostgreSQL option in configure.in.
2002/03/11: Start PostgreSQL driver development.
2002/03/09: Don't use __try and __expect on Pocket PC emulation mode.
2002/03/08: Switch to Borland bcc32 5.6 (C++ Builder 6).
2002/03/08: OpenLisp can start with all declared zones to 0.
2002/03/08: Reserved zones set to 512 Mb each.
2002/03/08: Dynamic expansion is now on by default.
2002/03/04: MACHINE-INFO now includes system page size.
2002/03/04: Virtualize the function that returns the system page size.
2002/03/04: Optimize olconvert with  taking care of GC.
2002/03/03: Try to extend memory before checking for empty zones in GC.
2002/03/03: Check that memory extension is not past bheap.
2002/02/23: Add oltrybase version for WIN32.
2002/02/22: Dynamic virtual memory allocation works on WIN32, FreeBSD and Linux.
2002/02/22: Fix two bugs in olconvert where GC may change values.
2002/02/21: Add oltrybase that detect a valid address for virtual allocation.
2002/02/21: Add -novm flag to force standard (malloc?) allocation routines.
2002/02/21: Use new virtual memory routines on systems with mmap.
2002/02/20: Virtualize memory manager routines.
2002/02/18: Change memory layout to allow dynamic page allocation.
2002/02/17: Remove shell global variables from COREHDR.
2002/02/17: Fix directory support for WATCOM.
2002/02/15: Full qualified port on Windows XP with MSVC 7.0 .NET.
2002/02/15: Split olinit in two functions to prevent wrong bstack detection.
2002/02/14: Qualified port on QNX 6.1 using gcc 2.95.2.
2002/02/12: Remove pagelist that was used to link pages.
2002/02/10: Most of memory variables are now in COREHDR structure.
2002/02/09: Lot of memory allocation cleaning.
2002/02/08: Stop support for segmented architectures (read MS-DOS 16 bits).
2002/02/08: Change version to 7.1.0 (beta).




Version 7.0.0



2002/02/08: Final release 7.0.0 with build 2779.
2002/02/02: Qualified port on FreeBSD 4.5 using gcc 2.95.3.
2002/01/26: Tested with Digital Mars C/C++ Compiler (Symantec successor).
2002/01/26: Change lcc to version 3.7 (version 2002/01/20).
2002/01/25: Add olinitpage to prepare dynamic zone allocation.
2001/12/16: Tested on MacOS X with gcc (-O2 removed).
2001/12/06: Handle WM_SETTINGS on Pocket PC (for input panel).
2001/12/03: Fix wrong month in GET-INTERNAL-DATE on Pocket PC.
2001/12/03: Implement getenv using Registry on Pocket PC.
2001/11/23: Change code to detect 1 or 2 mkdir arguments.
2001/11/21: Add .CAB and installer for Pocket PC.
2001/11/19: Add CREATE-DIRECTORY and REMOVE-DIRECTORY.
2001/11/18: Add OLMAX_READLINE constant for olreadline internal buffer.
2001/11/18: Add XML-STRING to convert OpenLisp into XML compatible string.
2001/11/08: Add --enable-x11 option for simple graphic functions.
2001/11/06: Fix tycls on nt.
2001/11/01: Add __try __except block to trap errors on Pocket PC.
2001/10/29: Raise default heap zone on UNICODE implementations.
2001/10/29: Qualified port PocketPC ARM (iPAQ).
2001/10/27: Qualified port on Power PC Linux (on a Mac).
2001/10/25: Add winport.c that adds missing functions on Pocket PC.
2001/10/24: Remove obsolete Windows 16 bits makefiles (MSVC, WATCOM & BORLAND).
2001/10/24: First entry was not added in EXPAND-PATHNAME (WIN32).
2001/10/24: Add winport.c to help port on Pocket PC (mainly current directory).
2001/10/23: Switch reference system form W2K to XP.
2001/10/16: Add support for PocketPC _ARM port.
2001/10/16: Add virtual bitmap functions to PocketPC port.
2001/10/16: Add scollbars to Windows ports.
2001/10/14: Fix RESTORE-CORE bug with UNICODE (found on pocket-pc).
2001/10/14: Add some missing system functions for Pocket PC port.
2001/10/13: First PocketPC boot on Intel emulator.
2001/10/12: Make change to prepare for Pocket PC port (_WIN32_WCE).
2001/10/06: Add -- option to mark the last valid option on command line.
2001/10/06: Add a new ST_NBLK field used by socket streams.
2001/10/06: Add pipe support for both input and output (work as filter).
2001/10/05: Qualified port on FreeBSD 4.4 using gcc 2.95.3.
2001/10/04: Fix TIMEOUT Socket constant.
2001/10/01: Flush output after reading a line with GNU readline package.
2001/10/01: Trap almost all POSIX and ANSI signal.
2001/10/01: Add KILL function to kill a process on UNIX.
2001/09/30: Calling QUIT or END now throws to olreenter (i.e. immediate exit).
2001/09/30: Add FORK, WAIT and WAITPID on un*x like systems.
2001/09/28: Fix a bug in xmlopen when an invalid file is given.
2001/09/28: Merge RECEIVE and RECEIVE-FROM functions (keep interface).
2001/09/28: Check buffer overflow in RECEIVE function.
2001/09/27: Fix loop condition of RECEIVE and RECEIVE-FROM functions.
2001/09/27: Add SOCKET-NODELAY function to prevent Nagle algorithm.
2001/09/26: Change lcc to version 3.6 (version 2001/07/30).
2001/09/26: Add a new "broken-pipe" error object.
2001/09/25: Trap SIGPIPE signal.
2001/09/24: Change recv* Socket functions to loop until buffer complete.
2001/09/20: Fix wrong name for HAVE_ERRNO_H.
2001/09/20: Change VOID to OLVOID.
2001/09/20: Add unixODBC detection form configure script.
2001/09/18: Add CGI-PATH-INFO and CGI-PATH-TRANSLATED in cgi.lsp.
2001/09/18: Add automatic NPH-CGI script support using OSP mode.
2001/09/16: Stop MS-DOS support.
2001/09/16: Add OLSUBVERS in version.h.
2001/09/16: Change version to 7.0.0 (beta).




Version 6.9



2001/09/16: Final release 6.9 with build 2720.
2001/09/16: Better handle  tags.
2001/09/14: Add osp as a standard OpenLisp feature.
2001/09/13: Fix error when setting olreadbuf in osp module.
2001/09/12: Add 'OpenLisp Server Page' (OSP) mode osp.c.
2001/09/11: Check that there is a valid argument count for a FORMAT directive.
2001/09/05: Qualified port on Linux RH 7.1 using gcc 3.0.1.
2001/08/01: Add FILENO function that returns file descriptor number.
2001/08/01: Add OPEN-OUTPUT-PIPE and WITH-OPEN-OUTPUT-PIPE functions.
2001/08/01: Add OPEN-INPUT-PIPE and WITH-OPEN-INPUT-PIPE functions.
2001/08/01: Switch to autoconf 2.52.
2001/08/01: Remove static object for float conversion.
2001/08/01: Fix compilation of macros with GENSYM symbols.
2001/07/28: Fix wrong compiler optimization of (- x) expression.
2001/07/28: Compiler checks constant declarations for each global modification.
2001/07/28: Restore signals after calling internal EmACT module. ^C was broken.
2001/07/26: Fix defclass/defgeneric compilation bug from file.
2001/07/25: Fix GC BUG in CLOSURE LAP instruction.
2001/07/25: Try to compile PSETQ with a serie of SETQ when possible.
2001/07/24: Add ASSOC as LAP machine code.
2001/07/23: SET-ELT LAP instruction now uses 3 arguments.
2001/07/22: Add option to disassemble LAP code in debug mode.
2001/07/21: Set FENTRY, MENTRY and LOCAL type information.
2001/07/20: Add format option to print octal number using ~O.
2001/07/20: Add GET-LAP-CODE that returns LAP code from a compiled form.
2001/07/19: Add format option to print hexadecimal number using ~X.
2001/07/19: Add a LAP disassembler lib/disasm.lsp.
2001/07/18: Too many LAP optimizations to mention all.
2001/07/17: Register load propagation in LAP.
2001/07/13: Add JEQ and JNEQ LAP instructions.
2001/07/12: Use olmemheader structure to set initial sizes.
2001/07/12: Add _USERFEATURE initialization hook in openlisp.c
2001/07/11: Lot of cleanup in compiler.lsp.
2001/07/11: Fix wrong mod/div test in %walk-reduce-numeric.
2001/07/10: Optimize macro call when compiling. Avoids most of closures.
2001/07/09: Preserve shell line "#!..." in compiled files.
2001/07/09: Fix wrong function name for SUBSEQ arity error.
2001/07/08: Compiled macros checked with the complete non-regression tests.
2001/07/08: Macros can be compiled (ON by default).
2001/07/07: Add macro support for COMPILE.
2001/07/07: Add cpmacro type for compiled macros.
2001/07/06: Add STRING-SPLIT function (OpenLisp specific).
2001/06/28: Fix SQL dbgetresult function. Must continue after a NULL field.
2001/06/24: Add better type checking in external modules.
2001/06/20: Qualified port on Linux RH 7.1 using gcc 3.0.0.
2001/06/20: Add entry to make libol.so on Linux.
2001/06/19: Fix a VOLATILE gcc 3.0 bug in olcreatestringinput.
2001/06/18: Add RPM generation from Makefile.
2001/06/17: Add SHIFT function to shift argument from command line.
2001/06/17: Auto-detect -shell when lisp script start contains '# .. -shell'.
2001/06/16: Add rules to compile and fasl form Makefile.
2001/06/14: Add compile-macro (just to test).
2001/06/13: Check for errno.h.
2001/06/13: Update to latest config.guess and config.sub.
2001/06/12: Add SOCKET-RECEIVE-TIMEOUT and SOCKET-SEND-TIMEOUT.
2001/06/09: Run testsql.lsp autotest on unix when MySQL is available.
2001/06/08: Add support for all BLOB* types in MySQL.
2001/06/07: Add dbisvalid C SQL function.
2001/06/07: Small changes for MySQL on Linux.
2001/06/04: Fix test when compiling dotted pair agument list.
2001/06/04: Add WITH-XML-OUTPUT-STREAM and XML-WRITE in xmlread.lsp.
2001/06/01: Fix WITH-OUTPUT-IO-STREAM when file does not exist.
2001/06/01: Add ./lib/logfile.lsp to help generate logs.
2001/05/25: Add READ-FROM-STRING.
2001/05/24: Add STRING-CAPITALIZE and NSTRING-CAPITALIZE.
2001/05/23: Add STRING-TRIM, STRING-LEFT-TRIM and STRING-LEFT-TRIM functions.
2001/05/18: Port on UltraSparc 64 bits on Solaris. "-xtarget=ultra -xarch=v9".
2001/05/08: Add username form (MACHINE-INFO).
2001/05/07: Full qualified port on Windows XP with MSVC 6.0 SP5.
2001/05/07: Change olmachineinfo to recognize Windows XP.
2001/05/07: Change olmachineinfo to recognize Windows Millenium.
2001/04/26: Change to cygwin 1.3.1 + gcc 2.95.3-4 net release.
2001/04/14: Full qualified port on Windows 2000 with Intel V-Tune 5.0.
2001/04/05: Prepare openlisp.spec.in in autoconf (for RPM).
2001/04/04: Raise an error if a given file on line argument is missing.
2001/04/02: Change version to 6.9 (beta).




Version 6.8



2001/04/02: Final release 6.8 with build 2646.
2001/04/01: Add MySQL autoconf support.
2001/03/30: Change sqlodbc.h to more generic name dbsql.h
2001/03/30: Change database directory from 'odbc' to 'sql'.
2001/03/29: Add MySQL database native support.
2001/03/23: Change to cygwin 1.1.8 + gcc 2.95.3-1 net release.
2001/03/20: Add --enable-readline configure option.
2001/03/18: Change olsysgets to accept prompt.
2001/03/18: Add readline GNU module when available (autoconf).
2001/03/15: Check dlopen in libc.a (autoconf).
2001/03/14: Generate savelisp form savelisp.in.
2001/03/09: Add SOCKET-KEEPALIVE function.
2001/03/08: Add XML  processing.
2001/03/07: Add XML "Process Instruction" tag ().
2001/03/07: Port with gcc 2.95.2 on NT/W2K (mingwin32).
2001/03/06: Simple test case for dynamic module (using GCC) in unix/dymodule.c
2001/03/06: Add --enable-thread configure option.
2001/03/05: Add --enable-minimal configure option.
2001/03/01: Qualified port on QNX 4.0 using gcc 2.95.2.
2001/02/26: Read xml data until non-nil.
2001/02/25: Merge makefiles for IA64 and NT 32 bits.
2001/02/24: Set src/xmllisp.c as optional module in standard distribution.
2001/02/24: Change XML lisp code to be compatible with UNICODE.
2001/02/23: Use callback functions in XML parser code.
2001/02/18: Change lcc to version 3.6 (version 2001/01/30).
2001/02/07: Change XML reader to accept namespace (map to Lisp package).
2001/02/06: Add testxml.lsp and test.xml in standard non-regression tests.
2001/02/06: Fix a bug in xmlparser.c
2001/02/05: Change dbgetvector to dbgetresult (can also return a single object).
2001/02/05: Add dbconfigdsn to ADD, CREATE and REMOVE databases.
2001/02/03: Add dbsetblobsize to change the max size of a BLOB object.
2001/02/03: Add support for BLOB/MEMO SQL objects.
2001/02/03: Add testsql.lsp in standard non-regression tests.
2001/02/02: Add cursor support with MS-Access database.
2001/02/02: Add MAP-CURSOR macro to browse database.
2001/02/01: Add a ODBC driver version to dbopen.
2001/02/01: Add MySQL ODBC support.
2001/02/01: Change to cygwin 1.1.8-2 net release.
2001/01/31: Change -mno-mingwin32 to -mwin32.
2001/01/31: Fix allocation bug in XML reader.
2001/01/31: Add _Crt* debug functions support on NT/W2K.
2001/01/31: Add entry in Makefile.in to make XML version.
2001/01/31: Change to cygwin 1.1.8 + gcc 2.95.2-7 net release.
2001/01/29: Add start and end offset in XML tag structure.
2001/01/25: Add optional XML support in ./src/xml.
2001/01/16: Check for '.BAT' when loading an init file.
2001/01/15: Fix a bug in GC with float64 versions.
2001/01/14: Add SPAWN in startup.lsp (shell wrapper).
2001/01/13: Change COMLINE to return the value that is returned by the command.
2001/01/13: Change shell variables to be BASH compatible.
2001/01/13: Fix wrong error message in arithmetic comparisons.
2001/01/12: Add testsh.bat in ./tst
2001/01/10: Export %BUILD-CLASS in both defclass and defstruct.
2001/01/07: Check macro functions before inlined one when compiling.
2001/01/07: Cleanup in compile-form and defstruct module.
2001/01/06: Remove 'slot-access property when defining structures.
2001/01/05: Compile DEFCLASS without calling eval.
2001/01/05: Compile DEFSTRUCT without calling eval.
2001/01/04: Compile SETF as a Special Form.
2000/12/31: Add support for PMODE/W 1.33 and Watcom 11.0 DOS mode.
2000/12/30: Add REGMATCH function (combine REGCOMP and REGEXE in one call).
2000/12/28: Change lcc to version 3.6 (version 2000/12/05).
2000/12/26: Change to cygwin 1.1.7 + gcc 2.95.2-6 net release.
2000/12/20: Add httpd.lsp to contrib directory.
2000/12/18: Change version to 6.8 (beta).




Version 6.7



2000/12/18: Final release 6.7 with build 2586.
2000/12/16: Fix WRITE-BYTE for socket streams.
2000/12/16: Fix wrong test in int-char conversions (255 was exclued).
2000/12/05: Fix the latest IA64 warnings (in ODBC module).
2000/11/25: Change lcc to version 3.6 (version 2000/11/21).
2000/11/23: Fix LAP CATCH/EXIT bug (using closures).
2000/11/21: Support more ports with ./configure.
2000/11/21: Autoconf checks for sys/select.h header.
2000/11/21: Force LC_ALL to "C" at startup.
2000/11/21: Align jmpbuf with __mips.
2000/11/17: Reduce the system call needs when not _HOSTED.
2000/11/15: Add cgi.lsp and other CGI test tools to distribution file.
2000/11/13: Validate port on Windows 2000 IA64 with VC++.
2000/11/08: Compile DEFCLASS  in a separate name space.
2000/11/07: Compile DEFSTRUCT in a separate name space.
2000/10/26: Add support for DISTRIB directory and shell mode (autoconf).
2000/10/25: Add a special hook for OPENLISP environment variable.
2000/10/23: Force correct permission on unix install.
2000/10/18: Fix a very old READ-LINE bug.
2000/10/15: Add automatic dlopen support with autoconf.
2000/10/14: Autoconf is now complete (./configure ; make ; make install).
2000/10/14: Tested on HP-UX 11 64bits mode.
2000/10/12: Change the include method (more autoconf stuff).
2000/10/10: Add support for more 64bits architectures (HP-PA).
2000/09/21: Change '$' macro-character.
2000/09/19: Add generic Makefile entry 'make auto'.
2000/09/18: Modify configure shell for FreeBSD.
2000/09/16: Modify Windows specific code to match Windows 2000 IA64 changes.
2000/09/15: Add alignment for olcatch/olthrow.
2000/09/14: Partial port to Windows 2000 IA64 (Intel Itanium).
2000/09/12: Check for list argument in MEMBER function (ISLISP).
2000/09/11: Add $ macro character for shell mode.
2000/09/11: Add support for $* as shell argument count.
2000/09/11: Add -batch option to launch OpenLisp as batch.
2000/09/10: Full qualified port on Windows 2000 with MSVC 6.0 SP4.
2000/09/10: Set *warning-level* to 2 (was 0).
2000/09/05: Add better read error diagnostic.
2000/09/05: Compiler strictly checks LET/LET* for binding list.
2000/09/05: Gabriel's benchmarks are now strictly ISLISP compliant.
2000/09/05: Fix return value when compiling (COND) -> nil.
2000/09/05: Change lcc to version 3.6 (version 2000/09/04).
2000/09/04: Force evaluation of testform for empty or default only CASExx.
2000/09/03: Optimize CASE-USING compiler expansion.
2000/09/03: Fix error when compiling CASE-USING.
2000/09/02: Check more strictly CASE, CASE-USING, WHILE when compiling.
2000/09/02: Fix a bug in LAP CONVERT instruction.
2000/09/01: Check DEFxx syntax for name and argument list.
2000/08/31: Interpretor now checks for WHILE test.
2000/08/31: Add support for 0 dimension arrays (i.e. #0a100).
2000/08/30: Raise 'undefined-function' when CALL-NEXT-METHOD is out of context.
2000/08/30: Fix bug when reading empty symbol '||.
2000/08/20: Numeric comparisons (>, >=, <, <=) use only 2 arguments (ISLISP).
2000/08/06: Add LOAD-STDLIB to load standard interpreted/compiled environment.
2000/08/03: Add CONVERT LAP instruction.
2000/08/03: Add CALL-REG LAP instruction (extends and replaces CALL1).
2000/08/01: Add more LAP optimization.
2000/07/28: Swap 1st and 2nd LAP (EQ, EQUAL, ADD ..) to allow optimizations.
2000/07/26: Add more function keys in ntterm.c (PgUp, PgDn, Home, End).
2000/07/26: Speedup some internal functions using inlined car and cdr.
2000/07/26: Add more case of inverse DO tests in compiler.
2000/07/22: Add the third missing escape-p parameter of FORMAT-OBJECT (ISLISP).
2000/07/03: Change lcc to version 3.6 (version 2000/07/03).
2000/06/30: Add configure scripts (not fully done).
2000/06/06: Remove most convertion warnings.
2000/06/05: Remove shadow redefinition warnings. (add -Wshadow on gcc ports).
2000/06/02: Add 'cygwin' in unix/posix tool chain.
2000/05/31: Add 'linux-other' Makefile entry for non-x86 Linux ports.
2000/05/30: Remove xspmov local variable initializations (fix warnings).
2000/05/30: Add socket definitions for _AIX and __sgi.
2000/05/27: Change defs.h (linux is not always run on i386).
2000/05/26: Check arity in DEFxxx forms.
2000/05/11: Add ODBC as a standard module on Visual C++ WIN32 ports.
2000/05/03: Ported with gcc on BeOS 5.0.
2000/05/03: Change setup to support BeOS filenames (unix clone).
2000/05/03: Add BeOS system name.
2000/04/26: Optimize 'DO' compiled code.
2000/04/25: Use %walk-var-update in let/let*.
2000/04/25: Always generate new cons for LAP instructions. Fix peephole bug.
2000/04/24: Change version to 6.7 (beta).




Version 6.6



2000/04/24: Final release 6.6 with build 2490.
2000/04/24: Optimize SET-ELT LAP instructions.
2000/04/19: Change to cygwin 1.1.0 + gcc 2.95.2 net release.
2000/04/17: Add NEXT-REF LAP instructions.
2000/04/16: Add more branch tensioning cases.
2000/04/16: Add INCR-REF and DECR-REF LAP instructions.
2000/04/15: Add more peephole optimizations (MOVE A1 ..) (MOVE A1 ..).
2000/04/15: Remove stack frame for compiled functions with no arguments.
2000/03/30: Port to FreeBSD v4.0.
2000/03/30: Fix warning in sockets for FreeBSD v4.0.
2000/03/24: Change lcc to version 3.2 (version 2000/03/14).
2000/03/22: Add '-lm' flag in FreeBSD makefile entry.
2000/03/07: Change long to encapsulated types FIXPTR or FIXNUM.
2000/03/05: Remove some obsolete code (GO32, DOSX ..).
2000/03/05: Change code to prepare for WIN64 port.
2000/02/08: Change (once again) align stack code (for Sun cc).
2000/02/04: Change lcc to version 3.0 (version 2000/02/04).
2000/02/04: Remove DJGPP form non-regression tests (lack of support on W2K).
2000/02/04: Switch reference system form NT to W2K.
2000/02/03: Align stack only when STACKALIGN > 1. This fix warning.
2000/01/28: Change lcc to version 3.0 (version 2000/01/28).
2000/01/20: Change class initforms to be compatible with LAP format.
2000/01/19: Add support for FASLed LAP files.
2000/01/19: Increase *PRINT-LENGTH* to 4096 before printing fasl files.
2000/01/18: Fix a wrong alignment code in GC (found on sparc Sun cc).
2000/01/16: Raise the stack size to about 64k in linear mode.
2000/01/14: Check time stamp when restoring core.
2000/01/14: Add OLVTIME and OLVMIN macros to change unix tty behavior.
2000/01/14: Insure positive computed time in toplevel (-0.00).
2000/01/10: Change lcc to version 3.0 (version 2000/01/07).
2000/01/08: Add OLTIMESTAMP (yyyy/mm/dd) in build.h.
1999/12/30: Change FIND-FILE to FIND-LIBRARY-FILE (avoids EmACT conflict).
1999/12/30: TAGBODY can't be tailrec compiled.
1999/12/29: Change the THROW LAP format.
1999/12/29: Make a[2-4] LAP register volatile to fix throw bug.
1999/12/28: Replace GENSYM symbols by compiler generated symbols.
1999/12/28: Change the generated name in IGNORE-ERRORS compiled form.
1999/12/28: Force WHILE to return NIL when test has been inverted.
1999/12/28: Manage tail recursive call in compiled TAGBODY Special Form.
1999/12/23: Change version to 6.6 (beta).




Version 6.5



1999/12/23: Final release 6.5 with build 2436.
1999/12/23: First complete ISLISP compiler.
1999/12/22: Add missing REQUIRE in library files.
1999/12/22: Compiler compiles all ISLISP specifications.
1999/12/22: Improve TAGBODY pretty print.
1999/12/22: GO can traverse closures in compile mode.
1999/12/20: Compiler emits warning for integer TAGBODY tags (ISLISP compilant).
1999/12/20: Fix pprint bug with CASE and CASE-USING Special Forms.
1999/12/19: Fix broken function parameter checking.
1999/12/17: Only EQ constant values are considered as litterals.
1999/12/16: Fix an agressive constant symbol elimination.
1999/12/16: Fix compiler bug with comparison functions with more than 2 args.
1999/12/16: Fix compiler bug with inlined constantp.
1999/12/15: Optimize arithmetic with numeric constants.
1999/12/15: Optimize compiled code for constant expression in tests.
1999/12/14: Fix indirect closure bug with FLET/LABELS.
1999/12/11: Remove duplicate compiler warnings.
1999/12/10: Fix a bug in recursive labels using &rest arguments.
1999/12/09: Add lib/cplib.lsp file to compile the library.
1999/12/07: Add RANDOM and SET-RANDOM in number.c (random.lsp is obsolete).
1999/12/05: Change lcc to version 3.0 (version 1999/12/05).
1999/12/03: Add 4 new LAP instructions (SET-CAR, SET-CDR, LENGTH, CALL1).
1999/12/02: Compiled code is about 40% faster than interpreter.
1999/12/02: Add a lot of optimizations in compiler LAP code.
1999/12/01: Optimize IF compile tests.
1999/12/01: Add DIVN and MEMBER as LAP machine code.
1999/12/01: Add EQUAL as LAP machine code.
1999/11/30: Add open macro for IDENTITY.
1999/11/29: Optimize compile code for CASE-USING.
1999/11/29: Unused variable inside compiled LET/LET* was not detected.
1999/11/27: Fix a bug in string-streams if GC occurs.
1999/11/27: Compiler forbids numbers and characters in CATCH/THROW.
1999/11/27: Add PUSH-DERF dans PUSH-GREF LAP instructions.
1999/11/26: Remove warning with gcc -O2 and sockets.c.
1999/11/26: Add OpenLisp shared library support on Linux.
1999/11/26: Merge compiler code for LET and LET* Special Form.
1999/11/26: Add a specific structure for each compiler control block.
1999/11/25: Add a ^T new macro character to load tests (i.e. ^Ttestcp).
1999/11/25: Optimize (LREF x y) (PUSH A1) into (PUSH-REF x y).
1999/11/24: Fix a compiler bug (E. Neidl) with ((LAMBDA (x &rest y) ...)).
1999/11/24: Optimize LABELS and FLET compile code when no closure is needed.
1999/11/23: Factorize compiler code for LABELS and FLET Special Forms.
1999/11/23: Add more data structures to ease compiler updates.
1999/11/22: Fix CLOSURE for LABELS and FLET compiled functions.
1999/11/22: Add new peephole optimization, remove: (PUSH x) (POP x).
1999/11/22: Fix agressive loader optimization (PUSH Ax) -> (PUSHAX).
1999/11/22: Change version to 6.5 (beta).




Version 6.4



1999/11/22: Final release 6.4 with build 2410.
1999/11/14: Change lcc to version 3.0 (version 1999/10/28).
1999/11/08: Ported with gcc 2.95.2 on NT.
1999/11/01: Inner labels functions are now compiled tail-recursivly.
1999/10/28: Ported with gcc 2.95.2 on Linux.
1999/10/28: Finally remove all lap.c warnings about clobbered variables.
1999/10/28: Allocate memory using mmap on linux and FreeBSD (more to come).
1999/10/26: Include required file (using REQUIRE) in LAP file.
1999/10/26: Test the presence of &rest when evaluating macros.
1999/10/25: Loader removes symbols generated for local definitions.
1999/10/24: Add PUSH-LOCAL LAP instruction.
1999/10/24: Change lcc to version 3.0 (version 1999/10/24).
1999/10/23: Add native support for Free BSD (make fbsd).
1999/10/20: Add more code to initialize system in olsysinit.
1999/10/20: Core is now read from olinit function.
1999/10/18: Full qualified port on Windows NT 4.0 with MSVC 6.0 SP3.
1999/10/18: Add olsysinit to make system dependant initializations.
1999/10/18: Fix yet another peephole optimizer bug.
1999/10/18: Fix a compiler bug in TAGBODY/GO. LAP now uses a generated tag.
1999/10/18: Fix peephole optimizer bug.
1999/10/13: Internal macro functions use &rest argument.
1999/10/13: Fix two bugs in pre-ISO C compatible mode (on HP-UX).
1999/10/12: Change lcc to version 3.0 (version 1999/10/02).
1999/10/10: Add support for MENTRY (Macro ENTRY) in lap-loader.
1999/10/10: Add missing test in compiled file arity check.
1999/10/09: Add CPMACRO tag for compiled functions.
1999/10/09: Clear the cache when defining a new form.
1999/10/02: Change SYMBOL-FUNCTION and related functions to use an hash-table.
1999/10/02: Change SYMBOL-FUNCTION to return a shallow copy of the function.
1999/10/02: Add support for 3rd (print level) argument when printing structures.
1999/10/01: Fix a bug when building arglist in FUNCTION-DEFINITION.
1999/10/01: Change version to 6.4 (beta).




Version 6.3



1999/10/01: Final release 6.3 with build 2390.
1999/09/29: Increase the stack when handling error (useful for stack overflow).
1999/09/29: Add missing CASE and CASE-USING special forms in macroexpand-all.
1999/09/29: Add missing CASE and CASE-USING special forms in FLET/LABELS macros.
1999/09/29: Add two dynamic variables *PRINT-LEVEL* and *PRINT-LENGTH*.
1999/09/28: Limit the print depth. Hard coded to 256 but should be fixed soon.
1999/09/28: Add a lot of parano checks in compiler.
1999/09/27: Fix local binding of constant values in compiled code.
1999/09/27: Check for immutable bind when compiling SETQ and PSETQ.
1999/09/27: Better check binding names in compiled functions.
1999/09/27: Add code to detect stak overflow (only when calling a function).
1999/09/27: Remove VARIABLEP and CONSTANTP tests in SET function.
1999/09/26: Change printer to print (FUNCTION xx) as #'xx.
1999/09/26: Ignore AUTOLOAD directive when compiling a file.
1999/09/24: Add MAKUNBOUND, GMAKUNBOUND and FMAKUNBOUND functions.
1999/09/24: Fix TAGBODY compiled form to always return nil.
1999/09/23: Display warnings when using dotted-pair in _LELISP_COMPAT.
1999/09/23: Compiling TAGBODY warns about unused labels.
1999/09/23: GO from closure is not yet supported (emit a compiler-error).
1999/09/23: Compiler now process REQUIRE to load external definitions.
1999/09/22: Change *system-directory* and *system-path* to be dynamic.
1999/09/22: Change global stat variable to dynamic variable named *print-stat*.
1999/09/21: Add PROGV in contrib/clcompat.lsp.
1999/09/20: Change initialization order for CDR and NCONC (now variables).
1999/09/20: Remove the stupid use of END value as exit test.
1999/09/19: Add *print-nil-as-list* dynamic variable.
1999/09/18: Change olobject to return true for numbers.
1999/09/18: Fix a bug in block unwinding with compiled functions.
1999/09/18: Fix a bug in call lookup. Search lexical functions first.
1999/09/14: Fix a bug in LABELS macro.
1999/09/13: Fix LABELS macro to be compatible with the compiler.
1999/09/13: Change the LAP THROW format (2 reg. requirerd)..
1999/09/12: Fix CONSP to return t or nil (ISLISP).
1999/09/12: Fix a bug when displaying message using error (lib/error.lsp).
1999/09/12: Compiler: handle (FUNCTION (LAMBDA ..)).
1999/09/12: Change the structure reader #s (do not evaluate values).
1999/09/11: Add 1+ and 1- in arithmetic compiler optimizations.
1999/09/10: Compile ((LAMBDA (..) ..) ..) forms.
1999/09/09: Change lcc to version 3.0 (version 1999/09/07).
1999/09/09: Inline EQL (same as EQ in OpenLisp).
1999/09/09: Add DEBUG-LAP function (works with *trace-calls* in compiler.lsp).
1999/09/09: Fix a bug when compiling MAPC with a named function.
1999/09/09: Change the DEFSTRUCT macro so that it can compile.
1999/09/09: Format ~s prints non-canonical symbols using '|' (i.e. |Foo|).
1999/09/09: Check that RETURN-FROM has return value (no default to nil).
1999/09/08: Fix a bug in DO compiler expansion, now use PSETQ.
1999/09/08: Compiler: PSETQ always returns nil.
1999/09/07: Optimize (PUSH Ax) to a single word instruction (previously was 2).
1999/09/07: CALL and LOCAL-CALL LAP function clean the stack on exit.
1999/09/07: Change version to 6.3 (beta).




Version 6.2



1999/09/09: Final release 6.2 with build 2362.
1999/09/07: Compiler is now written, enter the bug fix process.
1999/09/06: Remove DYNAMIC-LET* unused OpenLisp extension.
1999/09/05: Add an extra parameter in BLOCK block to be LAP compatible (eval.c).
1999/09/03: Change unwind-protect to accept compiled functions.
1999/08/29: Add a peephole optimizer to OpenLisp compiler.
1999/08/27: Swap ~S and ~A format (ISLISP).
1999/08/26: Compiler compiles itself to file.
1999/08/24: Ported with gcc 2.95.1 on Linux.
1999/08/24: Replace old gcc 2.8.1 and egcs 1.1.2 by merged 2.95 on NT.
1999/08/22: Add COMPILE, COMPILE-FILE and LAP-LOADER user functions.
1999/08/22: Compiler mostly compiles itself.
1999/08/21: Add compiler.lsp and loader.lsp in lib.
1999/08/20: Add the first compiler snapshot.
1999/08/20: Use ZIP as standard distribution format.
1999/08/13: Change type calling sequence of gc-hooks (in gc.c)
1999/08/11: Remove current environment link from 'dynamic' tags.
1999/08/08: Fix random.lsp bug.
1999/08/04: Add tst/testcp.lsp non-regression tests.
1999/08/02: GO tags are allowed to be integer (ISLISP).
1999/07/31: Add PSETQ as special form.
1999/07/27: Add CPFUN tag for compiled functions.
1999/07/24: Test port with gcc v2.95 snapshot.
1999/07/24: Add tst/testlap.lsp non-regression tests.
1999/07/23: Add lap.c (LAP Loader).
1999/07/23: Change version to 6.2 (beta).




Version 6.1



1999/07/23: Final release 6.1 with build 2332.
1999/07/05: Change lcc to version 3.0 (version 1999/07/04).
1999/07/02: Change lcc to version 3.0 (version 1999/06/28).
1999/06/26: Fix CURRENT-DATE autoload.
1999/06/25: Add ENCODE-FILE function.
1999/06/25: Add APPEND-FILE function.
1999/06/25: Add optional argument to QUIT and END.
1999/06/24: Add LOCAL-PATHNAME to convert standard syntax to local syntax.
1999/06/24: Fix MAP-INTO bug with string and vector sequences.
1999/06/24: Fix code in fibwide.lsp.
1999/06/24: Add odbc.zip to the standard distribution.
1999/06/23: tst/testsql.lsp non-regression tests.
1999/06/23: Add tst/testsql.lsp non-regression tests.
1999/06/23: Add contrib/dbsql.lsp tools.
1999/06/21: Fix error when loading files form LOAD-BINARY function.
1999/06/11: External module can define a different name for Lisp functions.
1999/06/06: Change the external module interface.
1999/06/03: Add ODBC optional module on WIN32 ports.
1999/05/31: Fix a bug with gc and external pointers.
1999/05/14: Update the LINE-ARGUMENT *AFTER* restoring a core.
1999/05/10: Fix a bug in GC when marking a stack environment.
1999/05/10: Change version to 6.1 (beta).




Version 6.0



1999/05/09: Final release 6.0 with build 2300.
1999/05/05: Change lcc to version 2.7 (version 1999/05/05).
1999/05/05: Add DOTIMES and DOLIST CLtL control structures in startup.lsp.
1999/05/04: Change lcc to version 2.7.
1999/05/01: Fix a closure bug.
1999/04/10: Increase the max. limit to 256 Mb on NT.
1999/04/10: Bind a specific processor (Affinity) to each thread on NT.
1999/04/04: Fix allocation bug after alignment on linear mode.
1999/04/03: Fix error messages with olfindslot internal function.
1999/04/02: Fix reader for #\control- characters.
1999/03/29: Add BOA-CONTRUCTOR internal structure function.
1999/03/28: Add ED function in startup.lsp.
1999/03/20: Add lib/calltree tools.
1999/03/20: Add cirlist function.
1999/03/19: Change the daytime socket test.
1999/03/19: Change optimization flag from -O6 to -O2 with gcc (linux).
1999/03/18: Add dynamic variable *running-tests*.
1999/03/17: Change egcs to version 1.1.2 (mingw32 and cygwin).
1999/03/16: Fix SETF using CDDR form.
1999/03/06: Port using BCC 5.4 (C++ Buidler 4).
1999/03/06: Remove Borland 3.x 16 bits standard support.
1999/02/12: Add search command to MINE.
1999/02/08: Change lcc to version 2.6 (version 1999/01/29).
1999/02/03: Add UNICODE mark at the beginning of wide streams.
1999/02/03: Add  pseudo-type for wide streams.
1999/02/02: Add support for UNICODE 32 bits on solaris (and other unixes).
1999/02/02: Fix olpadstr format bug with unix UNICODE characters.
1999/01/31: Add support for pthread multi-threaded library on Linux 2.2.
1999/01/27: Add olallocbignum() to create a new bignum on heap.
1999/01/12: Change lcc to version 2.4 (version 1999/01/12).
1999/01/09: Replace olend call by olquit.
1999/01/09: Change unix stat test call with the new glibc2 (aka bug).
1999/01/05: Add QUIT as an alias to END.
1999/01/05: Add missing olsscanf wrapper for wide characters.
1999/01/05: Fix bug in 64 bits (page overflow with computed symbols).
1999/01/03: Change egcs to version 1.1.1 (mingw32 and cygwin).
1999/01/01: Change version to 6.0 (beta).




Version 5.9



1999/01/01: Final release 5.9 with build 2266.
1998/12/30: Add the  type (bignums are not yet implemented).
1998/12/28: Change the code that check arithmetic overflow (test MAXFIXNUM).
1998/12/28: Add Frpoly from Gabriel's benchmarks.
1998/12/27: Check integer arithmetic overflow (convert to float).
1998/12/23: Fix #- reader bug.
1998/12/23: Add dynamic variable *WARNING-LEVEL* (default 0).
1998/12/21: Change lcc to version 2.4.
1998/12/21: Add dynamic variable *READ-LEVEL* to change the prompt reader.
1998/12/17: Add dynamic variable *PROMPT* to change the prompt reader.
1998/12/13: Add _EVALQUOTE conditionnal compilation flag.
1998/12/12: Check for previous constant definition in DEFGLOBAL (was a bug).
1998/12/10: Add new 'portable' types in sockets.c
1998/12/09: Package object was made twice in interal olcreatepackage routine.
1998/12/07: Change the time format for benchmark to fit 'slow' machines.
1998/12/05: Add GBOUNDP to test is a symbol is globally boundp.
1998/12/05: Change BOUNDP to test is a symbol is dynamically boundp.
1998/12/04: Add SYMBOL-GLOBAL and SET-SYMBOL-GLOBAL.
1998/12/04: Add SET-SYMBOL-PLIST, SET-SYMBOL-VALUE and SET-SYMBOL-PACKAGE.
1998/12/03: Change the behavior of MACRO-FUNCTION to be more CLtL compatible.
1998/12/02: Change SET to be CLtL compatible (only dynamic value).
1998/12/02: Swap arguments order of SET-DYNAMIC function.
1998/12/02: Add 64 bits floats in non-regression tests.
1998/12/02: Fix a wrong prototype in 64 bits floats.
1998/11/25: Add a missing catch in toplevel (was a Big bug).
1998/11/24: Fix a bug with obsolete blocks.
1998/11/24: Add RPLACA and RPLACD function to fix a bug in traverse benchmark.
1998/11/23: Add SET-MACRO-FUNCTION.
1998/11/23: Add SET-SYMBOL-FUNCTION.
1998/11/23: Fix a bug in VALUES.
1998/11/22: Change date type to  and define it as built-in-type.
1998/11/22: Fix Y2C date.
1998/11/21: Now run the complete gabriel benchmarks suite.
1998/11/21: Change the default cons page number to 48 in 32 bits mode.
1998/11/21: Change the code for Boyer's benchmark to use MEMBER-EQUAL.
1998/11/20: Change version to 5.9 (beta).




Version 5.8



1998/11/20: Final release 5.8 with build 2214.
1998/11/20: Fix a bug when calling methods with multi-inherited objects.
1998/11/16: Add tests to have 100% function coverage in reglisp.c
1998/11/15: Add CHANGE-DIRECTORY and CURRENT-DIRECTORY functions.
1998/11/15: Add more regexp tests (thanks to Visual Coverage 6.0).
1998/11/15: Check against Purify 6.0, still no errors.
1998/11/04: VERSION-INFO added on NT.
1998/11/04: Add support cygwin B20.
1998/09/20: Add regexp feature when available.
1998/09/18: Ported with egcs 1.1 (NT).
1998/09/17: Add printer function for regexp objects.
1998/09/17: Add REGEXP-P predicate function.
1998/09/15: Add regexp.c in default source file list.
1998/09/13: Add regexp by default on NT console.
1998/09/08: Validate regexp on both NT and unix.
1998/09/05: Add optional regex package (see reglisp.c when available).
1998/08/25: Fix warning in gettext.c (WIN32).
1998/08/24: Full qualified port on Windows NT 4.0 with MSVC 6.0.
1998/08/24: Change olgetfunction internal function to fix VC++ 16 bits bug.
1998/06/26: Ported to Intel SEQUENT DYNIX 4.x.
1998/06/10: Add simple Internet tests in testsock.lsp.
1998/06/09: Fix a bug in oladdlist internal function.
1998/06/06: Fix missing CLOSE in the redefinition of CERROR.
1998/05/27: Change nbarg in eval from INT16 to int.
1998/05/27: Fix broken continuable conditions.
1998/05/26: Add socket support with UNICODE.
1998/05/25: Add testsock.lsp that gives 100% function coverage hit in socket.c.
1998/05/21: Overall optimizations improve speed for more than 20% form v5.6 !!
1998/05/21: Optimize SUBR1 / SUBR2 call to save about 5%.
1998/05/21: Fix the return value of numeric comparisons (ISLISP requires bool).
1998/05/20: Atomic speedup of C*ADR and C*DDR functions.
1998/05/20: Add better test coverage (globally 70% - more than 90% in eval.c).
1998/05/20: Change version to 5.8 (beta).




Version 5.7



1998/05/18: Final release 5.7 with build 2167.
1998/05/18: Compute time using Performance counters on NT.
1998/05/12: Ported to Intel UnixWare 7.0 (SCO).
1998/05/11: Add olsetsysbstack internal function to set start of C GC stack.
1998/05/11: Add WRITE-TO-STRING function.
1998/05/10: Small speedup of array access.
1998/05/10: Detect improper agument list of QUOTE SF.
1998/05/08: Small optimization of FOR loop.
1998/05/08: Fix a potential bug of tail recurtion after a closure is made.
1998/05/08: Optimize COND (saves about 5% on most benchmarks).
1998/05/07: Change to gcc 2.8.0 (DJGPP 2.0) in MS-DOS non-regression tests.
1998/05/05: Change STRATOM so that it does not raise an error (pseudo-number).
1998/05/05: Change MAXPNAME to 128.
1998/05/04: Modify STRING to accept a list of characters.
1998/05/04: Modify FASL to expand defstruct names.
1998/04/30: Display file and line information when error occurs in file.
1998/04/30: Move all packages functions to packages.c file.
1998/04/29: Add PACKAGE-USE-LIST, PACKAGE-NAME and PACKAGE-SHADOWING-SYMBOLS.
1998/04/29: Add DELETE-PACKAGE and LIST-ALL-PACKAGES functions.
1998/04/29: Fix the print representation of structure without keywords.
1998/04/29: Add CREATE-PACKAGE and PACKAGEP function.
1998/04/29: Add PACKAGE objects (type ).
1998/04/28: Add SHADOW function and :SHADOWS DEFPACKAGE option.
1998/04/27: Factorise code for IMPORT, EXPORT and USE-PACKAGE functions.
1998/04/27: Add USE-PACKAGE function.
1998/04/26: Merge pi.lsp, queens.lsp and sieve.lsp in demos.lsp.
1998/04/26: Insert debugger file in startup.lsp.
1998/04/25: Fix a bug with ringur character and external terminal.
1998/04/25: Restore *PACKAGE* value after evaluating from emacs.
1998/04/25: Add support for DEBUG when loading files.
1998/04/23: Qualified port on DOS/Windows NT 4.0 with Symantec 7.5.
1998/04/23: Change general subr type to more informative subr0 .. subrN.
1998/04/22: Add a limit to 2048 elements when printing lists.
1998/04/22: Add olinton() test in print function.
1998/04/22: Optimize TIME-TRACE routine.
1998/04/21: Change the return value type of olsystime() to DOUBLE.
1998/04/21: Change the print routine for evaluated result.
1998/04/21: Suppress read indentation when *QUIET-MODE* is on.
1998/04/21: Test quiet mode when restoring core.
1998/04/19: Force uninterned package name in INTERN function.
1998/04/19: Change lookup to use imported symbols.
1998/04/19: Use keywords for profile options.
1998/04/19: Define *PACKAGE* as dynamic variable.
1998/04/18: Change version to 5.7 (beta).




Version 5.6



1998/04/18: Final release 5.6 with build 2117.
1998/04/18: Unintern class generated names.
1998/04/18: Unintern structure generated names.
1998/04/17: Fix a major bug in ALLOCATE-OBJECT.
1998/04/17: Force SYMBOL to accept only unpackaged symbol package field.
1998/04/17: Add INTERN function.
1998/04/17: Add an optional package argument to IMPORT and EXPORT functions.
1998/04/16: Fix a bug with errors in batch mode.
1998/04/15: Add DEFPACKAGE macro.
1998/04/11: Add KEYWORDP function.
1998/04/11: Intern keywords (i.e. :XXX) in package KEYWORD.
1998/04/08: Define *PACKAGE* variable.
1998/04/08: Add IN-PACKAGE, IMPORT and EXPORT module functions.
1998/04/07: Add symbol support in SEARCH function (convert to string).
1998/04/03: Add lib/runtest.lsp
1998/04/03: Check for arity in IF 'else' clause (ISLISP).
1998/04/03: Fix wrong maximum size in virtual allocation on NT.
1998/03/30: Add SEARCH function (CLtL).
1998/03/26: Add curses entry for mine on unix ports.
1998/03/22: Add Emacs support in gcc cygwin b19.1 port.
1998/03/17: Fix wrong error block in CALL-WITH-XXX-FILE.
1998/03/11: Add support for UNICODE in mine.lsp.
1998/03/11: Add TYINPUT to read a single char (helps mine on UNIX).
1998/03/10: Port with gcc 2.8.1 on NT (mingwin32).
1998/03/09: Full qualified port (with sockets) on NT 4.0 with cygwin b19.
1998/03/06: Port with gcc 2.8.0 on NT (mingwin32).
1998/03/05: Fix bug in unicode text converter.
1998/03/05: Add smart binary open for UNICODE Lisp files.
1998/02/28: Add "Option" menu to change font in Windows graphic mode.
1998/02/28: Change Windows files to support UNICODE in graphic mode.
1998/02/15: Add support for MBCS (Multibyte character sets) on NT.
1998/02/14: Add PRESERVE-READ-CASE function.
1998/02/09: Fix char type in unix port.
1998/02/08: Fix STRINGP to return t or nil (ISLISP).
1998/02/07: Change version to 5.6 (beta).




Version 5.5



1998/02/07: Final release 5.5 with build 2073.
1998/02/07: Change fasl open mode from binary to text.
1998/02/07: Add smart binary load for UNICODE Lisp files.
1998/02/06: Add support for UNICODE Lisp file in LOAD function.
1998/02/05: Fix GC bug with UNICODE characters.
1998/02/04: Fix pointer assignment in olsysdate.
1998/02/04: Complete code rewrite to support ASCII and UNICODE chars.
1998/02/03: Add CHARACTER-SIZE function (return 1 if ASCII or 2 if UNICODE).
1998/02/01: Add lispchar.h with olstrXXX macros.
1998/01/30: Change Lisp character type to LCHAR (as a typedef).
1998/01/22: Change compiler option to -MD for Visual C/C++ code.
1998/01/22: Add lcc to the non-regression tests on NT.
1998/01/22: Fix stack alignment to 1 for IBM Visual Age C/C++.
1998/01/21: Port with lcc-win32 compiler.
1998/01/12: Add egcs 1.0 to the non-regression tests on NT.
1998/01/11: Port with egcs 1.0 on NT (mingwin32).
1998/01/11: Port with egcs 1.0 on Solaris (sparc).
1998/01/08: Fix some lint warnings found on Solaris 4.6 PC.
1998/01/08: Port with Sun Pro C on Solaris 4.6 PC.
1998/01/07: Add FIND, FIND-IF and FIND-IF-NOT functions (CLtL).
1998/01/06: Fix the value type of (:PRINT-FUNCTION f) in DEFSTRUCT.
1998/01/06: Add and optional 2nd argument (errorp) to FIND-CLASS.
1998/01/04: Add POSITION-IF and POSITION-IF-NOT functions (CLtL).
1998/01/03: Add LINE-ARGUMENT to read OpenLisp command line argument.
1998/01/03: Add #! sharp macro so that OpenLisp can be used as a shell.
1998/01/02: Fix bug in before-gc-hook Lisp function.
1997/12/31: Add missing ":" before slot name in #s( .. ) print syntax.
1997/12/30: Add support for empty :COPIER, :PREDICATE and :CONSTRUCTOR.
1997/12/29: Add support for empty :CONC-NAME in DEFSTRUCT (i.e. :CONC-NAME nil)
1997/12/29: Let DEFSTRUCT modify default value of inherited slots.
1997/12/28: Change DEFSTRUCT so that :INCLUDE creates subtypes.
1997/12/28: Fix a bug in mine.lsp.
1997/12/27: Change the return value of MINUSP, PLUSP and ZEROP (now a boolean).
1997/12/26: Add SLOT-EXIST-P function.
1997/12/25: Add SLOT-MISSING generic function.
1997/12/23: Add SLOT-MAKUNBOUND function.
1997/12/23: Change DELETE to DELETE-EQUAL and DELQ to DELETE (CLtL).
1997/12/23: Change REMOVE to REMOVE-EQUAL and REMQ to REMOVE (CLtL).
1997/12/22: Port with egcs 1.0 on Linux (supress braces warnings).
1997/12/21: Char with 0xff code was not considered as , fixed.
1997/12/20: Remove sharing of list for SUBSEQ function (now allocate).
1997/12/20: Remove code for VECTORP and ARRAYP (alias to ISLISP equivalent).
1997/12/20: Add complete error messages in error.lsp.
1997/12/20: Add ROOM as an alias to PRINT-GCINFO.
1997/12/20: Fix bugs and optimize ELT and SET-ELT functions.
1997/12/19: Add -quiet option to launch OpenLisp silently.
1997/12/19: Group LELISP obsolete functions in misc.c file.
1997/12/18: Fix error FORMAT-FRESH-LINE with Windows version.
1997/12/18: Change dommain-error type to  for hash-table functions.
1997/12/18: Add  as super class for .
1997/12/17: Add NOTANY and NOTEVERY function (CLtL).
1997/12/16: Add BOTH-CASE-P predicate (CLtL).
1997/12/15: Move CATENATE to the obsolete section (Le-Lisp compatible).
1997/12/15: Move EVLIS and EPROGN to the obsolete section (Le-Lisp compatible).
1997/12/15: Move ANY to the obsolete section (Le-Lisp compatible).
1997/12/15: Add SOME function (CLtL).
1997/12/15: Move CASSQ and CASSOC to the obsolete section (Le-Lisp compatible).
1997/12/15: Move NEQ and NEQUAL to the obsolete section (Le-Lisp compatible).
1997/12/15: Add MEMBER-EQUAL to use EQUAL test (ISLISP Extension).
1997/12/15: Change MEMBER to MEMBER-EQUAL and MEMQ to MEMBER (CLtL).
1997/12/13: Change version to 5.5 (beta).




Version 5.4



1997/12/13: Final release 5.4 with build 1997.
1997/12/09: Fix bug with format using string-streams.
1997/12/07: Add missing access functions for  error class.
1997/12/05: Add specific error type and data as specified by ISLISP error-id.
1997/12/05: Fix the return type of (EXPT x 0). It is 1 or 1.0 depending on x.
1997/12/05: Add support for integers in ~G format.
1997/12/05: Remove numbers and characters as valid types for catch tags.
1997/12/04: Add olskipcomment() function in read.c.
1997/12/02: QUOTIENT is fix if x and y are fixes and y evenly divide x.
1997/12/01: Fix wrong return value of MAPC and MAPL (now return list1).
1997/12/01: Keywords (:rest, :around, ..) are no more allowed as parameters.
1997/11/28: Add support for nested comments #| .. #| .. |# .. |# (ISLISP).
1997/11/27: Fix STRING-APPEND to return "" (not nil) with no argument.
1997/11/27: Automatically add Emacs feature (when available) on NT/95.
1997/11/26: Add missing support for "#?number" in PARSE-NUMBER function.
1997/11/24: Fix error in OPEN-STREAM-P for output streams.
1997/11/23: Add missing ROUND function (ISLISP).
1997/11/23: Fix wrong name of INTERNAL-TIME-UNITS-PER-SECOND.
1997/11/23: Fix wrong ISLISP name OPEN-STREAMP -> OPEN-STREAM-P
1997/11/23: Fix return value of REMOVE-PROPERTY function (ISLISP).
1997/11/23: Add support for &rest/:rest in ((lambda (..) ..) ..) (ISLISP).
1997/11/23: Check for valid parameter names in ((lambda (..) ..) ..) forms.
1997/11/23: Remove single argument as parameter in strict ISLISP mode.
1997/11/22: Add &rest when needed in pretty.lsp module.
1997/11/22: Remove support for dotted argument list in strict ISLISP mode.
1997/11/21: Split non-regression tests in two parts (OpenLisp and LL).
1997/11/18: Fix a deallocation bug in olclearmem() function.
1997/11/13: Change olregisterhook() to return old callback function.
1997/11/13: Remove terminal.c form kernel files.
1997/11/13: Modify external terminal interface (olsystty*) as hookable.
1997/11/12: Small change in olusertime() function (NT port).
1997/11/11: Add an optional 2nd argument to EVAL (an environment object).
1997/11/11: Add THE-ENVIRONMENT function that returns current environment.
1997/11/09: Change type of environment object from  to .
1997/11/09: Time is returned in user time on NT (Microsoft only).
1997/11/08: Add missing arity check in DYNAMIC special form.
1997/11/08: Add missing arity check in QUOTE special form.
1997/11/04: Add 'ol' prefix to stack macro names (push -> olpush, ...).
1997/10/18: Use multi-threaded library on NT.
1997/09/29: Passed with Purify 5.0 NT (no error detected).
1997/09/08: Add testsock UNIX shell program to test socket interface.
1997/09/03: Add REMOVE-SYMBOL function (should replace obsolete REMOB).
1997/09/02: Add VECTOR-TYPE function (should replace obsolete TYPEVECTOR).
1997/09/01: Fix a wrong error message in COPY-FILE function.
1997/08/30: Add MACRO-FUNCTION and SPECIAL-FORM-P function.
1997/08/29: Put obsolete symbols in a separate table (see olinit.c).
1997/08/29: Fix a wrong error message in CHAR function.
1997/08/29: Add SYMBOL-NAME, SYMBOL-PLIST, SYMBOL-PACKAGE and SYMBOL-VALUE.
1997/08/25: Change version to 5.4 (beta).




Version 5.3



1997/08/25: Final release 5.3 with build 1935.
1997/07/30: Add debugging informations for CATCH special form.
1997/07/30: Add debugging informations for BLOCK special form.
1997/07/30: Fix wrong unwind size for CATCH block.
1997/07/25: Save more debugging information on UNWIND-PROTECT block.
1997/07/25: Fix wrong information when debugging generic method.
1997/07/24: Print function definition in debug mode.
1997/07/24: Add olfindfunction and olgenericname internal functions (debug).
1997/07/21: Add debugging informations for generic functions.
1997/07/02: Check for identifier in BLOCK special form.
1997/07/02: Change TAGBODY header block to save information for the debugger.
1997/07/01: Add internal function olsysisatty() to check for real terminal.
1997/07/01: Fix bug when GC occurs in DEFMETHOD/DEFGENERIC.
1997/07/01: Change the error handler tag layout.
1997/06/30: Add debug.lsp a stub that helps the internal debugger.
1997/06/30: Add debug.c a new kernel file that implements internal debugger.
1997/06/26: Add an experimental internal debugger.
1997/06/26: Change return value (T/NIL) for NUMBERP, INTEGERP, FLOATP.
1997/06/26: Add arity tests in GAREF, SET-GAREF functions.
1997/06/26: Fix a wrong return value for SET-CAR and SET-CDR.
1997/06/26: Fix a wrong test in gc to check for valid block.
1997/06/26: Throw an error for sockets used with [SET-]FILE-POSITION
1997/06/25: Fix comment read error with 'foo;bar.
1997/06/22: Fix potential bugs when GC occurs in FORMAT.
1997/06/22: Fix bugs when GC occurs in CREATE-STRING-XXX-STREAM.
1997/06/21: Fix bugs when GC occurs in MAPVECTOR and MAPSTRING (VOLATILE).
1997/06/21: Add more tests in GC to check for valid block.
1997/06/20: Fix support of :rest or &rest in lambda used with FUNCALL/APPLY.
1997/06/19: Add print format for date structure.
1997/06/19: Fix strange select socket behavior on Solaris with gcc.
1997/06/18: Add cast on integer constants defined in term of sizeof().
1997/06/16: Port for mips R10000 on IRIX (using 64 bits).
1997/06/16: Port for mips R10000 on IRIX (using 32 bits compatible mode).
1997/06/16: Create a Web site in http://www.ilog.fr:8001/Eligis
1997/06/16: Remove INTEGER typedef (always the same as int).
1997/06/16: Add support for sockets on IRIX  and AIX.
1997/06/14: Add support for sockets on HP-UX and ALPHA.
1997/06/10: Fix bug in refers.lsp utility.
1997/06/10: CLASS not recognized as special-form by SYMBOL-FUNCTION.
1997/06/10: Add FBOUNDP function (CLtL).
1997/06/09: Fix missing include for ioctl() in Solaris sockets implementation.
1997/06/07: Add missing va_end macro call in minibuf.c as required by ISO C.
1997/06/03: Check for positive integer in CREATE-XXX functions (ISLISP).
1997/06/03: Add expected argument number in olarityerror internal function.
1997/06/02: Add SOCKET-NONBLOCKING function.
1997/05/31: Add SLEEP function.
1997/05/31: Add wrapper to ntohs, htons, ntohl, htonl sockets functions.
1997/05/30: Make second argument optional in CREATE-LIST (ISLISP).
1997/05/30: Check for integer type in CREATE-STRING and CREATE-VECTOR.
1997/05/30: Change version to 5.3 (beta).




Version 5.2



1997/05/29: Final release 5.2 with build 1879.
1997/05/12: Full qualified port (with sockets) on NT 4.0 with gcc 2.7.2 b18.
1997/05/29: Set select() nfds argument to FD_SETSIZE. Fix a bug for some ports.
1997/05/25: Add default protocol for LISTEN and CONNECT Sockets functions.
1997/05/22: Print  and  as internal objects.
1997/05/22: Change *ISLISP-VERSION* to 199705 (ISO official date).
1997/05/16: Add "no-applicable-method" error.
1997/05/15: Error when there is no matching argument for a generic function.
1997/05/13: Add MACHINE-INFO function that returns informations on computer.
1997/05/12: Full qualified port on Windows NT 4.0 with gcc 2.7.2 v18.
1997/05/11: Fix a missing char type in print.c (default int was used !!).
1997/05/11: Improve TYO function for list of chars.
1997/05/11: Add optional 2nd verbose argument to LOAD and LIBLOAD.
1997/05/10: Fix return value of PROBE-FILE (always a boolean T or NIL).
1997/05/10: Add support for ~n% in format directives.
1997/05/10: Add missing TYXXX functions to support mine on Windows.
1997/05/09: Add CHAR and SET-CHAR functions.
1997/05/09: Add an empty CREATE function for object system bootstrap.
1997/05/09: Fix wrong diagnostic errors in CLASS-INFO-XXX functions.
1997/05/09: Change the #s( .. ) syntax to accept keywords as in CLtL.
1997/05/08: Add support for VIRTTY on NT with Symantec.
1997/05/08: Add  type as  object type.
1997/05/08: Sharp macro reader to read (and print) structures with #s(struc..).
1997/05/07: Add LOAD-DYNAMIC-MODULE function. Only NT is actually supported.
1997/05/07: Add optional pathname arguments to REQUIRE function.
1997/05/05: Add support for VIRTTY on DOS (only Symantec supported).
1997/05/04: Extend REVERSE and NREVERSE to support sequences.
1997/05/03: Change date type form  to DATE and use DEFSTRUCT.
1997/05/03: Change prefix #\CTRL- to #\CONTROL- to read control chars (CLtL).
1997/05/03: Use REQUIRE and PROVIDE as the standard way to test modules.
1997/05/03: Add REQUIRE and PROVIDE functions (CLtL).
1997/05/03: PRETTY and PPRINT functions accept an optional stream argument.
1997/05/03: Fix missing package name in pretty.lsp.
1997/05/02: Add BUTLAST and NBUTLAST functions.
1997/05/02: Add MEMBER-IF and MEMBER-IF-NOT functions.
1997/05/02: Add NREVERSE and NRECONC functions (CLtL).
1997/05/01: Fix error in SUBSEQ for  and last = end of vector.
1997/05/01: Optimize SUBSEQ for list when only 2 args are provided (NTHCDR).
1997/05/01: Add ADJOIN function (CLtL).
1997/05/01: Add LDIFF function (CLtL).
1997/05/01: Speed improvement for MEMBER when item is atomic.
1997/05/01: Add ENDP function (CLtL).
1997/05/01: Add COPY-ALIST function (CLtL).
1997/05/01: Add support for PUSH, PUSHNEW and POP macros in setf.lsp (CLtL).
1997/04/30: Change SUBSEQ et SUBSTRING to accept the 3rd argument as optional.
1997/04/29: Change the test consolep in read.c to support reading from buffer.
1997/04/28: Add #\rubout, #\escape, #\backspace symbolic characters.
1997/04/28: Add #\CTRL-* symbolic characters.
1997/04/28: Handle errors inside olsysgets system function.
1997/04/27: Throw  error inside a read expression.
1997/04/27: Add test for console in internal olgetcb function.
1997/04/27: Change test to console input in read.c.
1997/04/27: Add missing color support for TYO and TYCN functions in NT.
1997/04/26: Add support for INCF and DECF macros in setf.lsp.
1997/04/26: Fix a bug in TYI to return a postive integer for characters > 128
1997/04/26: Add support for  type in TYO function.
1997/04/26: Add support for arrow keys in NT console VIRTTY.
1997/04/25: Fix a bug in UPPERCASE for ASCII code.
1997/04/25: Add lib/mime.lsp a simple text editor for OpenLisp.
1997/04/24: Force a TYFLUSH after TYCO in NT terminal.
1997/04/23: Lot of cleanup made in distribution files.
1997/04/22: Change version to 5.2 (beta).




Version 5.1



1997/04/22: Final release 5.1 with build 1820.
1997/04/22: Change olmakeheap to accept unsigned long as parameter (16 bits).
1997/04/22: Change olthroweof to olendofstream (with 3 arguments).
1997/04/20: Fix bug in PUTHASH with VC++ 5.0 (was not GC SAFE, VOLATILE added).
1997/04/19: Remove 'eof' symbol (no more needed for I/O).
1997/04/19: Change interal I/O functions to support eosp and eosv features.
1997/04/18: Add support for VIRTTY on Windows 32 using Watcom C/C++.
1997/04/18: Add support for Sockets on Windows 32 using Watcom C/C++.
1997/04/17: RETURN-FROM checks outstanding BLOCK in lexical environment only.
1997/04/17: Fix bug in CREATE-ARRAY (was not GC SAFE, VOLATILE added).
1997/04/16: Fix bug with WATCOM v11 when printing floats with leading 0.
1997/04/15: Check for outstanding BLOCK before executing RETURN-FROM.
1997/04/15: Check for outstanding CATCH before executing THROW.
1997/04/07: Fix argument place in REPORT-CONDITION.
1997/04/06: Check for positive argument in LOG function.
1997/04/06: Check for non-negative argument in SQRT and ISQRT functions.
1997/04/06: Fix error type for CALL-NEXT-METHDO Special Form.
1997/04/06: Fix error type for GO Special Form.
1997/04/05: Add WITH-CLIENT-SOCKET and WITH-SERVER-SOCKET in startup.lsp.
1997/04/05: Fix wrong condition argument when calling ERROR and CERROR.
1997/04/02: Fix return code in olgetsockc() function.
1997/04/02: Set SO_LINGER to ON and associated timeout to 10.
1997/03/22: Change EXPAND-PATHNAME on NT to be compatible with POSIX.
1997/03/15: Full qualified port on Windows NT 4.0 with Watcom C/C++ 11.
1997/03/14: Add missing include to support EXPAND-PATHNAME on POSIX.
1997/03/13: Full qualified port on Windows NT 4.0 with MSVC 5.0.
1997/03/06: Rewrite PRIN, PRINT and TERPRI function as SUBRs.
1997/03/05: Fix a wrong argument name in DECF CLtL compatible function.
1997/03/04: Restore the original window title after INIBITMAP function.
1997/03/01: Add 'non yet portable' EXPAND-PATHNAME function.
1997/02/21: Add minimal graphic functions to NT console.
1997/02/18: Fix error when using lambda in flet/labels special forms.
1997/02/16: Add contrib/soundex.lsp sample.
1997/02/16: Add CHAR-INT and INT-CHAR (CLtL) conversion functions.
1997/02/15: Small changes to support MSVC 5.0 on both NT and Windows 95.
1997/02/14: Change thread attribute to PTHREAD_SCOPE_SYSTEM on POSIX.
1997/02/14: Rewrite olgcpage and olsweep functions to be MT-safe.
1997/02/13: Fix wrong float free variable name for (obsolete ?) non-IEEE ports.
1997/02/12: Change the documentation format to Word 97.
1997/02/10: Virtualizes thread attribute creation.
1997/02/10: Add support for _POSIX_THREADS (POSIX 1003.1g) in GC.
1997/02/05: Add WIN32 test to allow exactly one thread by processor in GC.
1997/02/04: Generalize multi-thread call in GC.
1997/02/03: Add yet another multi-thread section in GC.
1997/02/03: Add support EmACT on NT with Borland C port.
1997/02/02: Enforce EXPORT/PUBLIC declarations for global variables in DLL.
1997/02/02: Add LIST* as SUBRN function.
1997/02/02: Add experimental multi-threads GC on Windows NT (not yet in use).
1997/02/01: Small speed improvement when computing size of vectors and strings.
1997/02/01: Change version to 5.1 (beta).




Version 5.0



1997/01/30: Final release 5.0 with build 1765.
1997/01/25: Add a separate entry for DO and FOR special forms.
1997/01/25: Small speed improvement in the search of current generic function.
1997/01/23: Add support for an optional Schorr & Waite algorithm for the GC.
1997/01/22: Add olmain() function to call the toplevel.
1997/01/22: Fix bug when reporting GC empty zone condition.
1997/01/20: Macro added to remove dual definition of ISO and non-ISO functions.
1997/01/18: Add a sample of Shorr & Waite algorithme in contrib/mark.lsp .
1997/01/18: Add a call to inton() to check break in GO special form.
1997/01/13: Add solaris-gcc entry in Makefile (support for sockets).
1997/01/12: Add support for sockets and virtty on Windows NT 4.0 with gcc 2.7.
1997/01/10: Add olregisterhook() function to insert hooks in system calls.
1997/01/10: Add support for Windows DLL.
1997/01/10: Add olregistermodule() function to add new modules to OpenLisp.
1997/01/09: Build all OpenLisp system libraries for WIN 32 ports.
1997/01/09: Add missing terminal functions from Windows ports.
1997/01/09: Save the last edited file name in EDIT macro.
1997/01/08: Remove some XXX.def files form distb. Now generated form makefiles.
1997/01/08: Add TYS function to the virtual terminal.
1997/01/08: Add TYSHOWCURSOR function to the virtual terminal.
1997/01/06: Fix names change in Windows source files.
1997/01/05: Add virtual terminal extensions for Windows NT/95 console.
1996/12/30: Add tst/testext.lsp to test external definition stubs.
1996/12/30: Remove oltypeof(). Now a link to olclassof().
1996/12/30: Modify THE and ASSURE special operators to use INSTANCEP predicate.
1996/12/29: Change internal names of global symbols to olsymbXXXX.
1996/12/29: Add 'ol' prefix to all global variables (macro for nil, t .. ).
1996/12/29: Remove obsolete global variables.
1996/12/29: Change reader to support #[+/-]XXXXX numbers. [-/+] missing.
1996/12/28: Add support for Sockets on Windows 32 using Borland C/C++.
1996/12/28: Hide implementation details of error structure.
1996/12/27: Remove public internal structure of generic function in openlisp.h.
1996/12/27: Add support for generic functions with pretty-printer.
1996/12/25: Add olgenericdefinition() for decompilation of generic functions.
1996/12/25: Hide implementation details of generic functions form eval.
1996/12/25: Add METHOD-PARAMETERS function to return generic function params.
1996/12/24: Add a new field in generic function structure for parameters list.
1996/12/24: Change the documentation to reflect modifications made.
1996/12/23: Small speedup for some integer functions. _fix macro added.
1996/12/23: Add 'edit' feature when EmACT is directly linked with OpenLisp.
1996/12/22: Add 'ol' prefix to most of internal functions.
1996/12/21: Add savelisp shell script to save current unix version in taz.
1996/12/21: Rename xxlispl to xxlisp in all distribution files.
1996/12/21: Optimize the current generic block lookup.
1996/12/20: Add support for closures in qualified and unqualified methods.
1996/12/20: Fix a bug in making closure. Bad form of onheap() macro was used.
1996/12/19: Speedup the generic function call mechanism. Remove %GenericBlock%.
1996/12/19: Some cleanup made in distribution files (remove obsolete code).
1996/12/19: Move tagbody.lsp from lib to contrib (now a real special form).
1996/12/18: Change the name of floats feature to floats31 and floats64.
1996/12/18: Full qualified port on Windows NT 4.0 with IBM Visual Age 3.5 C.
1996/12/18: Change syntax reader for symbols and numbers to match ISLISP.
1996/12/18: Change version to 5.0 (beta).




Version 4.9



1996/12/17: Fully tested on SPARC, HP9000, MIPS4600 (32bits) & ALPHA (64bits).
1996/12/17: Accept '[' and ']' as valid characters for symbols (ISLISP).
1996/12/16: Signal an error when trying to read a wrong formatted number.
1996/12/16: Remove multi-heap support for segmented architectures.
1996/12/16: Fix LET* and DO* SF to support closures made inside body.
1996/12/16: Fix error in LABELS macro. No closure was actually done.
1996/12/15: FUNCTION now call LAMBDA special operator for (lambda ..) forms.
1996/12/15: Test arity of FUNCTION special operator.
1996/12/14: Fix subtle environment bugs with GC and closures.
1996/12/14: Add pushenv() and popenv() to save and restore lexical environment.
1996/12/13: Replace a call to eval by a funcall in macro-character reader code.
1996/12/13: Full qualified port on Windows NT 4.0 with gcc 2.7.2 Beta 17.1
1996/12/13: Change the type of date object form DATE to .
1996/12/12: Define SLOT-UNBOUND and REPORT-CONDITION as self evaluate symbols.
1996/12/12: Test if the symbol for ADD-FEATURE is not already constant.
1996/12/12: Define SYSTEM, SYSTEM-NAME and VERSION as self evaluate symbols.
1996/12/11: Fix a wrong value in gcstats utility.
1996/12/10: Full qualified port on Windows NT 4.0 with gcc 2.7.2 Beta 17.
1996/12/10: Fix error in funcall() function. Variable nenv used unitilialized.
1996/12/09: More olassert( .. ) added in GC.
1996/12/09: Fix a bug in markenv(), blockheaderp was not correctly checked.
1996/12/08: Change the calling mechanism of macro-characters (no more conses).
1996/12/08: Add DUMP-ENVIRONMENT function (Used only for debugging).
1996/12/08: Clear space reserved for oscatch (was a bug with markenv()).
1996/12/07: Fix bug in closure called by frame on stack. Add markenv() in GC.
1996/12/06: Add special operators WITH-OPEN-XXX-FILES in FLET / LABELS macros.
1996/12/06: Fix error in WITH-OPEN-XXX-FILES macros.
1996/12/06: Restore current environment on TAGBODY exit.
1996/12/05: Change WITH-HANDLER frame to match other block headers.
1996/12/05: Fix the return value of TAGBODY (always nil).
1996/12/04: Change internal WITH-HANDLER block to match common structure.
1996/12/04: Fix error in closure made with catch block. Run ISLISP example 6.7.
1996/12/04: Fix error in closure made in multiple lexical block.
1996/12/04: Change internal activation block.
1996/12/03: Use common code to write FLET and LABELS as Lisp macros.
1996/12/03: Rewrite TAGBODY as an internal special form (no more a Lisp macro).
1996/12/02: Remove internal lettag (exactlty same as lambdatag).
1996/12/02: Speed improvement (> 50%) of generic function call.
1996/12/02: First complete support for ISO/IEC 13816 ISLISP standard.
1996/12/02: The value of least specific :AROUND method is correctly returned.
1996/12/01: Move all test*.lsp files from 'lib' to new 'tst' directory.
1996/12/01: Fix error message for METHOD block.
1996/12/01: Forbid CALL-NEXT-METHOD in :BEFORE and :AFTER methods (ISLISP).
1996/11/30: Remove previous types field of generic function (no more needed).
1996/11/30: Forbid method redefinition with same parameter specializers.
1996/11/30: Add gcc 2.7.2 DOS as NT non-regession tests.
1996/11/30: Remove now obsolete internal functions in class.c
1996/11/29: Modify METHOD-LIST to return both primary and qualified methods.
1996/11/29: Add build version.
1996/11/29: Optimize olcallgeneric() internal function.
1996/11/29: Fix offset in lastenv() macro.
1996/11/28: Add _CHECKED_BUILD macro (a kind of assert).
1996/11/28: Fix a bug when making GENERIC block closure.
1996/11/28: Add support for recursive generic functions.
1996/11/28: Simplify GENERIC block (current method is needed no more).
1996/11/27: Rewrite olcallnextmethod to support qualified methods.
1996/11/27: Add support for :AROUND methods.
1996/11/26: Add non standard :PRIMARY method keyword used internally by classes.
1996/11/26: Change method en generic blocks to support around methods.
1996/11/25: Sort applicable methods and store result in a hash-table.
1996/11/24: Add arity check when calling generic function.
1996/11/23: Add STANDARD (method name combination) as a reserved word.
1996/11/23: Fix a bug in copying closure in vector (wrong start index was used).
1996/11/22: Modify prenv() internal function to display environments.
1996/11/22: Complete rewrite of generic function activation blocks.
1996/11/21: Split internal bock of generic fun in GENERIC and METHOD blocks.
1996/11/21: Add olunwindmethod() internal function to unwind METHOD block.
1996/11/21: Change version to 4.9 (beta).




Version 4.8



1996/11/20: Protect with VOLATILE most of object system internal variables.
1996/11/20: Add olunwindgeneric() internal function to unwind GENERIC block.
1996/11/20: Sort BEFORE and AFTER method slots for generic function.
1996/11/19: Define :BEFORE :AFTER, :AROUND symbols as constant.
1996/11/18: Add clean-up functions to leave OpenLisp properly.
1996/11/16: Add external definition for ODBC package (not yet standard package).
1996/11/15: Fix arity error on external stub generation.
1996/11/14: Fix diagnostic error on olchkstring internal function.
1996/11/12: Partial qualified port on Windows NT 4.0 with gcc 2.7.2.
1996/11/11: Fix clock() error on Windows NT 4.0 with gcc 2.7.2 (beta 16).
1996/11/10: Qualified port on Windows NT 4.0 with Symantec 7.2.
1996/11/09: Improve the multiple-value implementation.
1996/11/08: Add prototype for static functions generated with external modules.
1996/11/05: Fix a bug in fasl format for vectors.
1996/11/04: Change multiple-value implementation and add tests in TESTFN.LSP.
1996/11/03: Fix wrong error message for EVERY function (ANY name was used).
1996/10/21: Add makefile.gnt and insert GNU gcc with the non regression tests.
1996/10/20: Unqualified port with gcc 2.7.2 on NT using cygnus package.
1996/10/10: Fix a bug in NT virtual allocator found with NT 4.0.
1996/09/25: Change production system from MS-DOS to NT 4.0.
1996/09/15: Fix bugs with FORMAT and string padding.
1996/09/15: Add external.c and external.h generated files for external modules.
1996/09/11: Functions added to convert basic OpenLisp objects into C types.
1996/09/10: Add external.lsp to automatically generate stubs for C functions.
1996/09/09: Add FORMAT directive to print  object with pad (ex: ~8S).
1996/09/08: Remove automatic close for opened streams when error occurs.
1996/09/07: Add contrib/dbase.lsp sample to read dBASE .DBF files format.
1996/09/06: Check previous value of a DEFCONSTANT with EQUAL (not EQ) predicate.
1996/08/27: Add NULLPTR as a valid input stream in stream.c.
1996/08/26: Passed with BoundsChecker 4.0 Pro NT (only 'valid' errors in GC).
1996/08/21: Change version to 4.8 (beta).




Version 4.7



1996/08/20: Add the name of generic function in the generic function object.
1996/08/18: Factorize code to call generic functions.
1996/08/16: Fix an error in "arity error" for generic function.
1996/07/16: Factorize code for olfuncall and olapply internal functions.
1996/07/02: Qualified port on DEC ALPHA with Windows NT 3.51.
1996/06/25: Prepare sources to support ALPHA 32 bits on NT.
1996/05/31: Add macros to support invalid cast on unsigned long integers.
1996/05/28: Port with IBM Visual Age C/C++ on OS/2 Wrap.
1996/05/28: Port with Borland C/C++ 4.x on OS/2 Wrap.
1996/05/26: Flush output stream before reading on standard input.
1996/05/18: Add stringevalbuffer function that returns a C/C++ string.
1996/05/12: Change DEFMETHOD reader to accept :AROUND, :BEFORE and :AFTER.
1996/05/05: Rename most of global variables with 'ol' prefix.
1996/05/01: Add support for bi-directionnal editor commands (EmACT).
1996/04/18: Conforming ISLISP implementation (ISLISP Draft 17.10).
1996/04/18: Fix the special case of array with no dimension (ISLISP).
1996/04/17: Fix CREATE-ARRAY with one dimension. Call CREATE-VECTOR (ISLISP).
1996/04/16: MAKEVECTOR didn't check its arguments (fixed).
1996/04/13: Use symetric code for DEFCONSTANT, DEFDYNAMIC and DEFGLOBAL.
1996/04/13: Check coverage of testfn.lsp with Watcom "-et" option.
1996/04/04: SET-DYNAMIC is valid only after DYNAMIC or DYNAMIC-LET declarations.
1996/04/04: Remove dynamic lookup for variables. DYNAMIC must be used (ISLISP).
1996/04/03: Add DEFDYNAMIC Special Form (was an alias to SET-DYNAMIC).
1996/04/03: Change Defining Forms to return defined symbol (ISLISP).
1996/04/02: Force evaluation order from left to right in all cases (ISLISP).
1996/04/01: Remove mtelos form search path.
1996/03/31: Minimize the number of symbols computed by an offset to undef.
1996/03/31: Change version to 4.7 (beta).




Version 4.6



1996/03/30: Conforming ISLISP implementation (ISLISP Draft 16.0).
1996/03/28: Insert gcc 2.7.2 (DJGPP 2.0) in MS-DOS non-regression tests.
1996/03/29: Change :INITARG so that agument is no more a keyword (ISLISP).
1996/03/26: Change NIL so that '() and 'NIL are the same object (ISLISP).
1996/03/25: Add include  in sockets.c for UN*X.
1996/03/22: Port with gcc 2.? on Sony news3200.
1996/03/21: Port with gcc 2.7.2 on MS-DOS using jdgpp package.
1996/03/19: Change Special Form symbols to be ignored as valid identifiers.
1996/03/15: Add support for Sockets on Windows 16 using MSVC 1.5.
1996/03/10: Add :BOUNDP slot option.
1996/03/04: Optimize FASL format (v1.3). Number are now ignored.
1996/03/03: Fix stack alignment to 1 with 32 bits versions of BCC.
1996/03/01: Check code with Borland CodeGuard 32 (no errors detected).
1996/03/01: Virtualizes osexist to test file existence.
1996/03/01: Fix a bug when trying to ungetc EOF.
1996/02/29: Fix a bug in olprarray and ollistovect. Wrong size was computed.
1996/02/26: Warning: change reader to read 10. as a symbol not a float (ISLISP).
1996/02/26: Port with Symantec 7.x on Windows NT/95.
1996/02/21: Fix test for string-streams on Windows platforms.
1996/02/19: Rename most of internal functions with 'ol' prefix.
1996/02/17: Fix a bug in error reporting. Add method for .
1996/02/17: Fix a bug in CLOSE without argument. Only the 1st stream was closed.
1996/02/15: Improve slot definition in class definition.
1996/02/14: Complete support for multiple-inheritance (must be improved).
1996/02/13: Change CREATE-CLASS to accept a list of super classes.
1996/02/12: Move CREATE and INITIALIZE-OBJET functions in startup.lsp.
1996/02/10: Port MS-DOS graphic interface with WATCOM C/C++ 10.x.
1996/02/08: Fix the precedence-list with double inheritance of  class.
1996/02/07: Exchange the two arguments of :writer slot option CLtL (ISLISP?).
1996/02/06: Wrong class name  changed to .
1996/02/06: Change DIV and MOD functions to match ISLISP (looser) semantic.
1996/02/04: Change olrem internal function name to olmod.
1996/02/03: Passed with BoundsChecker 3.0 16 bits.
1996/02/02: Force CREATE generic function to return the new created object.
1996/02/02: Change CLASS-OF to handle  type.
1996/01/22: Port with Borland 5.0 C/C++ (16 & 32 bits - beta).
1996/01/21: Add SELECT-TEST sockets function.
1996/01/20: Add SELECT-CLEAR, SELECT-ADD, SELECT-REMOVE sockets functions.
1996/01/19: Change SELECT to accept and to return vectors of sockets.
1996/01/15: Add SOCKETP function.
1996/01/10: Add SELECT Socket function.
1996/01/09: Port on UltraSparc 64 bits with SunPro CC (using 32 bits pointers).
1996/01/07: Improve stack unwinding using block tags.
1996/01/06: Change lexical block tags to symbolic constants.
1996/01/05: Switch internal error handler to ISLISP conditions.
1996/01/04: Arity checking was missing in CLASS and SETQ Special Forms.
1996/01/04: Use REPORT-CONDITION function to report errors (ISLISP).
1996/01/04: Add support for generic functions in lispcall internal function.
1996/01/03: Add ./lib/classes.lsp to print OpenLisp inheritance graph.
1996/01/02: Add CONDITION-CONTINUABLE ISLISP standard function.
1996/01/02: Add CONDITIONP predicate (ISLISP extension).
1996/01/01: Add internal default error handler function.
1996/01/01: Change version to 4.6 (beta).




Version 4.5



1995/12/30: Change name of file lexeval.c to eval.c.
1995/12/29: Fix a bug in GC when trying to mark C-STACK.
1995/12/29: Fix a bug when READ stream argument was not a stream.
1995/12/28: Restructure error types to use ISLISP Condition Inheritance.
1995/12/27: Add CLASS-INFO-XXXX functions to retrieve class informations.
1995/12/27: Port with Symantec C 7.2 (32 bits).
1995/12/26: Add *LAST-ERROR* variable that point to a  obj.
1995/12/24: Add ./lib/error.lsp which implements ISLISP conditions classes.
1995/12/22: Fix bug in DEFCLASS macro with inheritance of unbound slots.
1995/12/21: Complete Inheritance Graph for Condition Classes (ISLISP).
1995/12/20: Change the type of sockets from 'stream' to 'socket' (a subtype).
1995/12/18: Port on Linux 1.3.x kernel (ELF 32-bit LSB executable).
1995/12/13: Remove _POSIX_SOURCE to compile sockets on some UN*X systems.
1995/12/10: Add support for Socket in WRITE-BYTE function.
1995/12/09: Add ST_RING for ringur character in streams.
1995/12/09: Define  as a subtype of .
1995/12/09: Fix bug in OUTPUT-STREAM-P and INPUT-STREAM-P. TRUE with IO-STREAMS.
1995/12/08: CLOSE for Streams is used to close Sockets. Interface has changed.
1995/12/08: Map Sockets to OpenLisp streams.
1995/12/08: Prototype fixes for Sockets on UN*X systems.
1995/12/07: Add support for UDP protocol to Sockets.
1995/12/06: Add contrib/client.lsp and contrib/server.lsp Sockets demos
1995/12/06: Add GET-HOST-ADDRESS and GET-HOST-NAME Socket functions.
1995/12/05: Change names to match SOCKETS names.
1995/12/04: First implementation of portable SOCKETS (feature).
1995/12/02: Rename SEND and NEW to LLSEND and LLNEW to support LL structures.
1995/12/01: Define minimal SOCKETS interface.
1995/11/30: Small changes to support MSVC 4.0 on both NT and Windows 95.
1995/11/29: Add missing FRPOLY Gabriel's benchmark (not yet in standard bench).
1995/11/24: Fix bug in Windows95, like all Intel x86, STACKALIGN must be 1.
1995/11/23: On Intel, change default flag to Pentium when supported.
1995/11/21: Create a new test for hash-tables in ./lib/testhash.lsp.
1995/11/19: Change version to 4.5 (beta).




Version 4.4



1995/11/18: Improve accuracy of internal validobj GC function.
1995/11/17: Save nearly 50% of objects scanned in C-stack (GC).
1995/11/16: Minor changes in GC (manly rewrite of internal macros).
1995/11/15: Fix a bug for IO using open-io-file (i.e. both input output).
1995/11/15: Fix a bug in the reader for invalid characters like #\97.
1995/11/14: Qualified port on sparc solaris with both SunPro CC and gcc 2.5.8.
1995/11/11: Fix macro WORD_SHIFT and change macros for marking bits in GC.
1995/11/09: Change FIXNUM to be 'long integer' on any systems.
1995/11/09: Add support for 'BIG' floats and integers on 64 bits machines.
1995/11/08: Qualified port on alpha with both DEC CC and gcc 2.6.x.
1995/11/08: Add 63bitfloats feature for machines with 64 bits processors.
1995/11/08: Add a generic entry for GCC on UN*X systems.
1995/11/07: Fix a bug on GC with 64 bits processors.
1995/11/06: Change HEADER constant (computed with the system POINTER size).
1995/11/06: Support up to 32 Mo of memory on LINEAR systems.
1995/11/05: Qualified port with gcc 2.6.3 on Linux.
1995/11/03: Fix a bug in DEFSETF. Replace ADD-PROPERTY by SET-PROPERTY.
1995/11/03: Fix a bug in gc.c for object blocks in Lisp stack.
1995/11/01: Fix a bug in lexeval.c. Env was not correct just after closure.
1995/10/31: Create a closure for each initform in a class definition.
1995/10/31: Change internal value of unbound value to #.
1995/10/30: Add SLOT-UNBOUND generic function (CLtL/Telos).
1995/10/30: Trim #\< and #\> around structure names.
1995/10/27: Add FLET Special Form (implemented as macro - to improve).
1995/10/25: Add SET-SLOT-INDEX to SETF Special Form.
1995/10/23: Raise error when accessing unbound SET-SLOT-INDEX, SLOT-VALUE.
1995/10/22: Add GET-SLOT-INDEX and SET-SLOT-INDEX for internal slot retieve.
1995/10/21: Add SLOT-BOUNDP (CLtL/Telos).
1995/10/19: Add SLOT-VALUE, SET-SLOT-VALUE and associated SETF form (CLtL).
1995/10/18: Minimize MACRO expansion for DEFCLASS and DEFSTRUCT.
1995/10/17: Change CLASS-OBJECT function name to FIND-CLASS (CLtL/Telos).
1995/10/16: Unify the code for DEFCLASS and DEFSTRUCT.
1995/10/14: Change version to 4.4 (beta).




Version 4.3



1995/10/14: Add ALLOCATE-INSTANCE and DEFAULT-INITIALIZE-OBJECT functions.
1995/10/14: Add ABSTRACT-CLASS-P information in class object.
1995/10/13: Add DEFCLASS macro in standard ISLISP library ./lib (beta).
1995/10/13: Add NEXT-METHOD-P and CALL-NEXT-METHOD use only THE next method.
1995/10/12: Remove evaluation of class argument in CLASS S.F. (ISLISP).
1995/10/06: Check code with Borland CodeGuard 16 (no errors detected).
1995/10/03: Add support for generic functions in VALFN, TYPEFN and DETDEF.
1995/10/01: Small change to support System V 3.x calls with K&R only C compiler.
1995/09/30: Speed-up generic function call.
1995/09/25: Change the error conditions in TESTLOOP.LSP.
1995/09/24: Add TESTLOOP.LSP as non-regression tests loop.
1995/09/24: Implement a 'clean' next-method call.
1995/09/23: Remove support for dynamic version.
1995/09/22: Save current method in the activation block for NEXT-METHOD.
1995/09/22: Save original  arguments in the activation block.
1995/09/10: Small changes for MSVC++ 4.0.
1995/09/06: Speedup the cache test for generic function calls.
1995/09/05: Fix a bug in generic function discrimination.
1995/09/04: Add WITH-HANDLER Special Form.
1995/09/01: Put obsolete DEFSTRUCT functions in ./lib/llstruct.lsp file.
1995/09/01: Fix a bug in generic function call.
1995/08/30: Add CLASS-* functions that operate on class objets.
1995/08/29: Break the method cache lookup when a new method is added.
1995/08/29: Add CREATE-CLASS function.
1995/08/28: Add :METHOD-COMBINATION option to DEFGENERIC S.F.
1995/08/27: Add :METHOD option to DEFGENERIC S.F.
1995/08/26: Add NEXT-METHOD-P and CALL-NEXT-METHOD to the lexical version.
1995/08/24: Change version to 4.3 (beta).




Version 4.2



1995/08/21: Change DEFSLOT options to support APPLY and FUNCALL.
1995/08/20: Generic functions work with variable arguments (&rest ..).
1995/08/18: Add generic functions in the dynamic version.
1995/08/17: Add support for generic functions to APPLY and FUNCALL.
1995/08/16: Implement basic DEFGENERIC, DEFMETHOD for generic functions.
1995/08/15: Port with VC++ 2.2 32 bit compiler.
1995/08/14: Add :reader and :writer options to DEFSLOT Special Form.
1995/08/14: Fix a bug in UNWIND-PROTECT for the dynamic version of ISLISP.
1995/08/13: Add :accessor DEFSLOT Special Form.
1995/08/10: Define a generic prototype function call.
1995/08/09: Try a class prototype written in Lisp.
1995/07/29: Add CLASS-OF, SUBCLASSP and INSTANCEP functions.
1995/07/29: Add CLASS Special Form.
1995/07/29: Add the class system tree (ISLISP - Draft 11.28).
1995/07/27: Add the new symbol types for arrays (ISLISP - Draft 11.28).
1995/07/27: Add GAREF and SET-GAREF functions (ISLISP - Draft 11.28).
1995/07/27: Change the type system for arrays (ISLISP - Draft 11.28).
1995/07/26: Add IGNORE-ERRORS special form (ISLISP - Draft 11.28).
1995/07/24: Fix bug with format-user-type function (arguments changed).
1995/06/23: Add CONSTANTP predicate.
1995/06/22: Reorganization of sources, function.c contains only ISLISP funs.
1995/06/20: Add a better support of CLtL DEFSTRUCT.
1995/06/19: Add COPY-SEQ (ISLISP extension).
1995/06/19: Change the return value of DEFCONSTANT (It's now the symbol value).
1995/06/19: Add COPY-* function and MAKE-* keywords for DEFSTRUCT package.
1995/06/17: Change version to 4.2 (beta).




Version 4.1



1995/06/17: Add case insensitive char comparison functions.
1995/06/16: Add SVREF and SVSET. Update SETF package to include those functions.
1995/06/14: Change the return value of DEFGLOBAL (It's now the symbol value).
1995/06/14: Increase the start of C stack for better security in GC.
1995/06/14: Add 16 POINTERs to the start of C stack for better security in GC.
1995/06/14: Add SUBST and NSUBST functions (ISLISP extensions).
1995/06/14: Add ACONS, SUBLIS and PAIRLIS functions (ISLISP extensions).
1995/06/12: Add up to 4 levels of C....R functions (ISLISP extensions).
1995/06/11: Add copy-list function (ISLISP extension).
1995/06/08: Add ALPHA-CHAR-P, ALPHANUMERICP and DIGIT-CHAR-P chars predicates.
1995/06/08: Add UPPER-CASE-P, LOWER-CASE-P char case predicates.
1995/06/08: Add CHAR-UPCASE, CAR-DOWNCASE functions.
1995/06/06: Fix wrong message error in string comparison functions.
1995/06/05: Add NSTRING-UPCASE and NSTRING-DOWNCASE destructive functions.
1995/06/05: Add STRING-UPCASE and STRING-DOWNCASE functions (ISLISP extensions).
1995/06/05: Fix optimization bug in hash.c with MSC 16 bits.
1995/06/04: Add case insensitive strings comparison functions.
1995/06/04: Add STRING-EQUAL. Compare strings ignoring case (ISLISP extension).
1995/05/21: Speed-up and fix a bug in the REMHASH function.
1995/05/20: Change the rehash algorithm so that it doesn't make any CONS !!
1995/05/14: Save initial zones in core header. Simplify -r line argument.
1995/05/11: Add POINTER-SIZE function (ISLISP extension).
1995/05/10: Add gcstats package with PRINT-GCINFO function.
1995/05/08: Add 'gc' symbol in head of list for GC and GCINFO functions.
1995/05/07: Support optional argument for GCINFO function.
1995/05/02: Add GCINFO function (ISLISP extension).
1995/05/01: Add support for  class in CHRSET function.
1995/04/29: Port with Symantec C 7.0 (32 bits).
1995/04/25: TYPECN and ASCII accept both  and  class.
1995/04/19: Fix bug in GETDEF function (offset in symbol table was wrong).
1995/04/18: Fix bug in MAPHASH. This function was not declared SUBRC.
1995/04/18: Fix bug in CONVERT special-form with characters with code > 127.
1995/04/18: Add support for  class in CHRPOS function.
1995/04/17: Add non-regression tests for extended character set with code>127.
1995/04/17: Cleanup and small speed-up in GC.
1995/04/16: Fix a bug in CONVERT special-form (string was used and not stringp).
1995/04/06: Add RENAME-FILE and COPY-FILE functions.
1995/04/06: Change version to 4.1 (beta).




Version 4.0



1995/04/04: Store free zone after GC in the GCINFO structure.
1995/03/27: Rewrite GETDEF as SUBR1.
1995/03/26: WARNING !! CONVERT has exchange its two arguments (ISLISP).
1995/03/26: Add WITH-OPEN-xxxx-FILE macros in startup.lsp (ISLISP).
1995/03/26: CHAR/=, CHAR>, CHAR>= are now ISLISP.
1995/03/26: STRING/=, STRING>, STRING>= are now ISLISP.
1995/03/26: Add STRING-APPEND to append two STRINGS (APPEND is still supported).
1995/03/24: Add resolutions made at Barcelona meeting 23-24/01/95.
1995/03/13: Add BEFORE-GC-HOOK and AFTER-GC-HOOK functions.
1995/03/11: Change default compilation options for Windows NT (_cdecl).
1995/03/08: Fix bug in hash-table found with VC++ 2.0 32 bit compiler.
1995/03/08: Add VOLATILE declaration to protect some variables in hash.c.
1995/03/07: Small speed up made in GC internal routine gcpage.
1995/02/17: Automatically build .def for Windows NT DLL using sed scripts.
1995/02/09: Add support for VMS port (Beta).
1995/02/07: Add code to check valid arguments in FORMATS.
1995/01/31: Add type checking for each argument of FORMAT function.
1995/01/30: Fix bug in profile output format.
1995/01/26: Port with Symantec C 7.0 Beta 4.
1995/01/24: Add lispeval a dummy function to link with emacs library.
1995/01/01: Change version to 4.0 (beta).




Version 3.9



1994/12/27: Fix a bug with ~A format to display strings with '\' and '"'.
1994/12/24: Add entries in makefiles to support build from libraries.
1994/12/24: Simplify the _SEGMENTED / _LINEAR definition in defs.h
1994/12/24: Search for OPENLISP variable if startup.lsp is not found.
1994/12/20: Removes C++ reserved identifiers (catch, throw and new).
1994/12/20: Save and restore zone informations in core images.
1994/12/16: Add error code on olinit.
1994/12/14: Port on Windows95 with Visual C++ 2.0
1994/12/08: Use gcalloc to allocate memory (check for memory integrity).
1994/12/07: Add gc number by zones when call (GC T).
1994/11/25: REMOB reset the package value to undef not to nil.
1994/10/29: Port with BC++ 32 bits v4.5 Beta (bug fixed in Borland compiler).
1994/10/15: Fix print with HEXA, OCTAL, and BINARY format (print as unsigned).
1994/10/15: Automatically build export.ref form proto.h (Windows NT DLL).
1994/10/14: Add LOG*** functions that operate on integer bits.
1994/10/05: Add reference to ISO/IEC CD 13816 Programming Language ISLISP.
1994/09/26: LINEAR MODE: Dynamically allocate MAXPAGE -> maxpage variable.
1994/09/09: Conform to the ISLISP Working Draft 11.4 (31-Jul-1994).
1994/09/06: LETTERP, DIGITP, UPPERCASE, LOWERCASE uses both ascii code & chars.
1994/09/05: Protect against errors in bootstrap.
1994/09/05: Check for unexpected end of file in file I/O.
1994/08/18: Change version to 3.9 (beta).




Version 3.8



1994/08/18: Check for real strings in TYPESTRING function.
1994/08/18: Fix a bug type-of with the pname of symbols (now return ).
1994/08/17: Fix a bug in GC with closures. Change the closure algorithm.
1994/08/14: Moves describe form contrib directory to lib.
1994/08/14: CONVERT a character to a  is no more supported (ISLISP).
1994/08/14: Add compress utility. Shares common CONSes in Lisp code.
1994/08/13: Try to read startup file in FSL directory first.
1994/08/13: New FASL Format (version 1.2). Compress Lisp expression as well.
1994/08/12: Check for improper argument list in SUBRC (ISLISP).
1994/08/12: Fix a bug in error parameter for DEFGLOBAL Special Form.
1994/08/10: Change the growing factor for REHASH to 1.61803 (golden number).
1994/08/10: Speed-up REHASH when test key is #'EQ.
1994/08/09: HASH-TABLE-REHASH-THRESHOLD function is SETF-able.
1994/08/09: Add HASH-TABLE-REHASH-THRESHOLD function.
1994/08/08: Fix a bug in SXHASH. Was unable to handle characters (core dump).
1994/08/07: HASH-TABLE can grow dynamically.
1994/08/07: Add HASH-TABLE-SIZE function.
1994/08/06: Fix a bug in REHASH. Add a table of 'good' prime numbers.
1994/08/04: No more accept SETQ to define a new global variable. Use DEFGLOBAL.
1994/08/03: Check for WIN32s before using Virtual memory (Windows NT).
1994/08/02: Fix a bug in qsort function (merge sort and qsort files).
1994/08/01: DEFSTRUCT accept :include :predicate :constuctor and :conc-name.
1994/07/29: Port to UNIXWARE v1.1.
1994/07/28: Conform to the ISLISP Working Draft 10.10 (25-Jul-1994).
1994/07/28: Change #'(lambda ..) to (lambda ..) in libs (ISLISP).
1994/07/28: Rename PEEK-NEXT-CHAR Function to PREVIEW-CHAR (ISLISP).
1994/07/28: Add *islisp-version* constant that match ISLISP Standard Version.
1994/07/28: QUOTIENT and RECIPROCAL Functions added (ISLISP).
1994/07/27: Else-part of IF Special Form is now optional. Default to ().
1994/07/27: Add OPEN-STREAM-P Function (ISLISP).
1994/07/27: Add CHAR-INDEX Function (ISLISP).
1994/07/27: Add FLET Special Form (an alias to LABEL for now, must be changed!).
1994/07/27: Change EQUAL semantic for numbers : (equal 2 2.0) -> nil.
1994/07/27: Rename INDEX Function to STRING-INDEX (ISLISP).
1994/07/27: Rename QUA Special Form to CONVERT (ISLISP).
1994/07/24: Add the "~0xD" format directive (add up to 'x' 0 before number).
1994/07/24: DATE library added in file lib/date.lsp.
1994/07/24: GET-INTERNAL-DATE function added.
1994/07/23: Fix a bug in GET-MACRO-CHARACTER function. Check also for MCH type.
1994/07/23: Optimize FASL-DUMP function.
1994/07/22: FASL-DUMP function and '&' sharp-macro added.
1994/07/22: Fix bug in macro character #\, (stream was missing).
1994/07/21: Add WHEN, UNLESS and UNTIL macros in startup.lsp (ISO extensions).
1994/07/20: ADD-FEATURE name can be used with #+ sharp-macro (i.e. #+feature).
1994/07/20: LENGTH generic function now tests for true vectors.
1994/07/19: Add lib/pprint.lsp another pretty-print.
1994/07/19: Add EXTERNALP function to test for an external pointer type.
1994/07/18: Add external pointer type to link C object type [make|free]external.
1994/07/18: Add virtual memory allocation scheme to NT port. (HEAP can expand).
1994/07/18: Change version to 3.8 (beta).




Version 3.7



1994/07/17: Fix bug in WRITE-BYTE and FINISH-OUTPUT (Windows version).
1994/07/17: Fix bug in Windows terminal (memory allocation use winalloc).
1994/07/13: Add PUBLIC macro to declare exported variables (in DLL).
1994/07/12: Rewrite CALL-WITH-*-FILE functions as SUBRN.
1994/07/12: Add two public variables for error handlers (olerrtype & olerrobj).
1994/07/07: Can use virtual memory on Windows NT (physio.c).
1994/07/07: Small optimization in APPLY, FUNCALL special forms.
1994/07/07: Only one allocation is made for linear systems.
1994/07/06: Add support for OpenLisp as DLL service (Windows NT only).
1994/07/04: MAP-INTO function added (ISLISP).
1994/07/04: Change the unwind-protect block to include the current environment.
1994/07/03: Small optimization in MAPL function.
1994/07/03: Fix a bug in error handler routine. Reset ENV after stack unwinding.
1994/07/02: Add indent level for traced functions.
1994/07/01: Speed up about 25% the MicroTELOS Object system.
1994/06/30: Profile package : functions not used added. (profile-log 'notused).
1994/06/30: Add BC++ 32 bits port in msbench standard non-regression tests.
1994/06/29: Add time-trace SUBR2 function (used by profile.lsp).
1994/06/24: Complains about extra parentheses at toplevel.
1994/06/23: Fix minor warnings with gcc (see GFLAGS of makefile.unx).
1994/06/23: Add file terminal.c to deal with external systems.
1994/06/19: MAPL, MAPCAN, MAPCON functions added (ISLISP).
1994/06/17: Port on Linux.
1994/06/08: Port with BC++ 16/32 bits DMPI DOS-EXTENDER on DOS.
1994/06/07: Check for correct symbol alignment in GC (validobj function).
1994/06/04: Code only supports CONSERVATIVE GC.
1994/06/03: Replace save, unsave macros by VOLATILE declarations.
1994/05/28: Add LOAD-BINARY function and supports for .ol extension.
1994/05/23: Add compatibility with emacs library and provides EDIT function.
1994/05/17: Change version to 3.7 (beta).




Version 3.6



1994/05/15: Profile package can sort functions by time or by calls.
1994/05/11: FOR, DO and DO* are now tail recs.
1994/05/10: Adjust benchmark results to match Gabriel's loop count.
1994/05/09: Variables modified by interrupts are defined as VOLATILE.
1994/05/07: Add library entry libol.a in UN*X makefile.
1994/05/06: ZEROP, PLUSP and MINUSP functions added.
1994/05/04: Fix a bug in PEEK-NEXT-CHAR: returns a  not an .
1994/05/04: Add |,.| support in backquote macros.
1994/05/02: Enforce VOLATILE declarations in functions that do GCs.
1994/05/01: CHAR/=, CHAR>, CHAR>=, STRING/=, STRING>, STRING>= functions added.
1994/05/01: Comparison functions (>, >=, <, <=) take now N arguments.
1994/04/30: Check type for all number functions.
1994/04/26: Check type for NCONC and NCONC1 functions.
1994/04/25: Old K&R C code removed in SAVE-CORE/RESTORE-CORE functions.
1994/04/25: Allocate memory initialized with 0 (calloc like).
1994/04/24: Hash-tables are now part of the kernel.
1994/04/23: Fix a bug in VALFN.
1994/04/22: Check type for REMQ, REMOVE, DELQ, DELETE, DISPLACE functions.
1994/04/22: Change the value of symbol  to  (was previously ()).
1994/04/21: Change the implementation of NIL and (). They are now pure symbols.
1994/04/20: Add library entry OLxxxnn[w].lib : xxx=compiler, nn=memory, w=win.
1994/04/19: Change the error handler (export olerrfun and olerrmsg).
1994/04/18: HP-UX 9000-715/50 port.
1994/04/18: PowerPC port (AIX).
1994/04/16: Add pathname.lsp contribution.
1994/04/16: Fix bug in APPEND function used with () argument.
1994/04/16: Format functions use CREATE-STRING-OUTPUT-STREAM whith () stream.
1994/04/15: Bug fixed. WRITE-BYTE can write NULL character (0), oswrite added.
1994/04/15: Check arity in MACROS calls.
1994/04/11: SYSTEM (SUBR0), SYSTEM-NAME (SUBR0) and VERSION (SUBR0) functions.
1994/04/09: Add version.h header that contains the current version number.
1994/04/07: MSVC++ 2.0 NT port.
1994/04/07: Change version to 3.6 (beta).




Version 3.5



1994/03/28: MC68040 port (DomainOS SR10.4).
1994/03/28: Rewrite READ to accept CLtL set-macro-character as binary function.
1994/03/21: Continuations are defined as JUMPBUF, a new abstract type.
1994/03/20: Add support for EXPRs with fixed argument number in lispcall.
1994/03/19: Strong separation between kernel functions and system functions.
1994/03/13: Change type hast-table-eq/equal to .
1994/03/11: Add osinton() to treat evens on some systems (i.e. Windows).
1994/03/09: Fix a bug in evalbuffer function.
1994/03/08: Check for multiple inclusions of OpenLisp headers.
1994/03/07: CTRL3D + COMMDLG added on Windows port.
1994/03/05: MIPS R3000 port.
1994/02/28: Correctly read ';' in special symbols (e.g. |aa;bb|).
1994/02/27: Add TYPEFN function.
1994/02/27: Add POSITION function (find an index for sequences).
1994/02/26: Fix a bug in APPLY (environment was not preserved).
1994/02/23: COND returns its test value when test clause is empty.
1994/02/23: Add format width to  and . Extension to ISLISP;
1994/02/17: Fix a bug for characters with ASCII code > 128.
1994/02/17: Add SET-MACRO-CHARACTER and GET-MACRO-CHARACTER functions.
1994/02/15: PROFILE.LSP. Add an approximation of time spent in each functions.
1994/02/15: Rewrite PROG1 as Special Form.
1994/02/14: Add prime.lsp and sieve.lsp contributions.
1994/02/14: Port of FPRINT and FREAD gabriel's benchmarks.
1994/02/13: Rewrite NREVERSE more efficiently.
1994/02/13: Change version to 3.5 (beta).




Version 3.4



1994/02/11: Support added for CLtL package syntax (i.e. foo:bar and foo::bar).
1994/02/09: Change SXHASH to be SUBRN. Internal hash table length is now 1021.
1994/02/07: Add get/setdynamic for compatibility between lexical and dynamic.
1994/02/06: Change code to meet the strict '-Wall -pedantic' options of gcc.
1994/02/06: Add LETTERP and DIGITP functions.
1994/02/06: Check arity in READ* functions.
1994/02/05: Rewrite NREVERSE as a SUBR.
1994/02/04: Add DEFSLOT Special Form to speed up slot access.
1994/02/04: SUBSEQ accepts symbols as an extension (convert to a string).
1994/02/03: STRING now accepts a list of ascii code (as Le-Lisp).
1994/02/03: Rewrite GENSYM as a SUBR.
1994/02/02: Fix bug in closures. Used to crash when env was on the heap.
1994/02/02: Add Le-Lisp or CLtL naming convention in defstruct package.
1994/02/01: Fix a bug in GC for lists created by a (SET-CAR x x).
1994/01/23: Add REMOB function.
1994/01/23: Increase default memory zone on 32 bits machines.
1994/01/22: Add FFT benchmark in validation suite.
1994/01/13: MC88010 port DGUX (32 bits).
1994/01/12: Align first block of memory at 'FIRSTPAGE' on 32 bits machines.
1994/01/06: IRIX mips R4400 and AIX RS6000 port.
1994/01/05: HP-UX PA9000/7x0 and SunOS sun4c port.
1994/01/02: Add scan entry in generic makefile. Check for posix/iso.
1994/01/01: Change the print format of typed vectors : #:type:( .. )
1994/01/01: Can search the libraries with OPENLISP shell variable.
1994/01/01: Makefile generates a file 'machine.h' for new systems.
1994/01/01: Change version to 3.4 (beta).




Version 3.3



1993/12/29: CASE and CASE-USING are now tail rec.
1993/12/27: Alpha OSF/1 port (64 bits). Fix BUG for _WORD64.
1993/12/27: GETENV function added.
1993/12/20: MAPHASH function added.
1993/12/20: Rewrite GCD, LCM and ISQRT as SUBR.
1993/12/19: Rewrite CASE and CASE-USING as special forms.
1993/12/18: Fix bug in RESTORE-CORE (signature is now OpenLisp).
1993/12/17: Better check of argument lambda-list.
1993/12/12: Arity errors detected in FUNCALL & APPLY.
1993/12/10: Fix bug SYNONYM function.
1993/12/10: Optimizations in HASHGET function.
1993/12/09: FORMAT-USER-TYPE function added.
1993/12/07: USER-TYPE-P predicate added.
1993/11/29: Fix bug in UNWIND-PROTECT.
1993/11/28: OR and AND Special Forms are now tail rec.
1993/11/25: Random generator added in file lib/random.lsp.
1993/11/24: Simple profile package added.
1993/11/23: Simple trace package added.
1993/11/22: Port of MicroTELOS (based on Le-Lisp v15)
1993/11/19: Change the semantic of apply to subrN (ISLISP).
1993/11/17: Fix bugs in setf.lsp, APPLY, HASHPUT.
1993/10/01: Start OpenLisp research project (starting from MLisp).




Version 1.0 -> 3.2



1988/??/??: Internal revisions (never distributed).