OpenLisp ChangeLog





Version 11.7.0



2022/12/13: Final release 11.7.0 with build 8405 (SVN Revision 6000).
2022/12/04: Add net/wol.lsp (WakeUp On LAN) network sample.
2022/12/03: If it exists, qa.sh takes the last configured CC.
2022/12/03: Fix SORT function with sequences of only two elements.
2022/12/01: When set, OLADSF_VERBOSE displays commands executed by asdf.
2022/11/27: Fix Windows redirection introduced in -r5973 using wrong flush.
2022/11/26: Qualified port on macOS Ventura M1 / tcc 0.9.27 (aarch64/x86_64).
2022/11/23: Debug mode was not always using (ERROR-OUTPUT) stream.
2022/11/22: Add #d"..." date format reader. Used when *PRINT-READABLY* is t.
2022/11/21: WITH-STANDARD-IO-SYNTAX was not exported.
2022/11/21: Internal olreset() function must not reset *SYSTEM-PATH*.
2022/11/20: Add support for SQLite 3.40.0.
2022/11/17: Arity of STRING-TYPE was not correctly tested.
2022/11/16: Fix few :START options on sequence functions using lists.
2022/11/16: Qualified port on Linux Fedora 37 / clang 15.0.4 (aarch64/x86_64).
2022/11/16: Qualified port on Linux Fedora 37 / gcc 12.2.1 (aarch64/x86/x86_64).
2022/11/14: Reset more dynamic variables on unhandled errors.
2022/11/13: Even empty, (THE-ENVIRONMENT) always returns an .
2022/11/13: Printing a  raises an error when *PRINT-READABLY* is t.
2022/11/13: An error was raised when tying to print (THE-ENVIRONMENT).
2022/11/11: Fix integer output when *PRINT-BASE* != 10 and *PRINT-RADIX* == t.
2022/11/10: Add *PRINT-READABLY*, *PRINT-GENSYM* and *PRINT-ARRAY*.
2022/11/09: Add WITH-STANDARD-IO-SYNTAX CLtL compatible macro.
2022/11/09: Switch to VC++ 17.4.x.
2022/11/09: Add *READ-EVAL* dynamic variable that controls "#." reader.
2022/11/07: Yet another micro optimization in DELETE/REMOVE with lists.
2022/11/06: Micro optimization in DELETE function with lists.
2022/11/05: Fix qa.sh script for OpenBSD.
2022/11/05: OpenBSD use srand_deterministic instead of srand.
2022/11/01: Add kmacro recording and playing support for mine editor.
2022/10/31: The qa.sh script tests cores on almost all systems.
2022/10/31: Qualified port on OpenBSD 7.2 (x86_64) with clang 13.0.0
2022/10/30: On Linux, set personality(ADDR_NO_RANDOMIZE) to allow cores.
2022/10/30: Fix DELETE-IF[-NOT] when head is removed.
2022/10/25: Change symbol limit from 128 to 256 characters.
2022/10/25: Qualified port on macOS 22.1.0 (arm64/x86_64) with clang 14.0.0.
2022/10/24: Internal float comparisons are marginally faster.
2022/10/24: Add *FLOAT-PRECISION* constant to compare 'almost equal' floats.
2022/10/23: No longer compare floats within epsilon precision.
2022/10/23: Improve accuracy of float comparisons.
2022/10/22: Fix REPLACE when two lists are EQ and their regions overlap.
2022/10/21: Fix REPLACE when the sequences are EQ and their regions overlap.
2022/10/21: Add :COUNT and :START options to REPLACE-STRING function.
2022/10/21: Fix DELETE-IF[-NOT] when first element is deleted.
2022/10/20: Add missing REPLACE CLtL compatible sequence function.
2022/10/18: Implement QUERY-REPLACE command (M-%) for mine editor.
2022/10/18: Implement TRANSPOSE-CHARS command (C-t) for mine editor.
2022/10/18: Improve mine line-mode, simplify code.
2022/10/16: Implement KILL-REGION (C-w) for mine editor.
2022/10/13: Implement KILL-RING-SAVE (M-w) for mine editor.
2022/10/13: Fix olisfinite macro on non-MinGW systems.
2022/10/12: Improve  to  conversion.
2022/10/09: Now, 'make install' installs openlisp and openlisp--.
2022/10/08: On macOS, savelisp also generates universal binary for x86_64/arm64.
2022/10/08: Fix "Continue with no special action." constant string index.
2022/10/06: Add JUST-ONE-SPACE command (M-space) to mine editor.
2022/10/06: On macOS M1 there is a bug when parallel build is used with PGO.
2022/10/05: Always reset terminal on exit even if readline is used.
2022/10/05: Add an optional timeout to read character with TYINPUT (POSIX only).
2022/10/04: Better support of mine on unix with ANSI terminal.
2022/10/04: Raw TYINPUT no longer echoes character on unix.
2022/10/02: For C-backend all bit vector kernel functions must be public.
2022/10/02: Add C-x C-a mine command to edit symbol properties.
2022/10/02: Correctly pretty-print macro functions.
2022/10/01: Editing a symbol with mine gives all its definitions.
2022/10/01: More GNU Emacs look and feel of mine editor.
2022/09/30: Add support for SQLite 3.39.4.
2022/09/29: Fix mine editor search command.
2022/09/29: Improve GNU Emacs look and feel of mine editor.
2022/09/29: Huge re-write of mine editor. Works not too bad on Windows.
2022/09/26: Remove too aggressive compiler peephole optimization.
2022/09/25: Refactorize and simplify olseqhelper/olseqifhelper.
2022/09/25: Fix few PARSE-NUMBER issues with extra spaces.
2022/09/25: Qualified port on Windows using clang 15.0.1 (x86_64).
2022/09/24: Reintroduce COUNT/POSITION/FIND for  optimizations.
2022/09/24: Factorize more code now common to COUNT/POSITION/FIND.
2022/09/24: Add :START, :END, :TEST and :TEST-NOT for COUNT bit vector.
2022/09/23: Add :START, :END, :TEST and :TEST-NOT for POSITION/FIND bit vector.
2022/09/23: Improve bit vector error message when value is not a bit.
2022/09/23: SET-ELT checks that a bit vector accepts only 1 or 0.
2022/09/23: Remove wrong stream test of bit vector internal reader.
2022/09/22: FIND and POSITION on bit vectors are around x120 faster.
2022/09/22: Minor changes to make JDK 19 happy.
2022/09/22: Speedup BIT-XXX functions when a new bit vector is returned.
2022/09/21: Add workaround for wrong TCC generated code made on COPY-SEQ.
2022/09/20: DST and YEAR-DAY are now correctly handled by  objects.
2022/09/20: It looks that tm_yday and tm_isdst are available on all systems.
2022/09/20: Take care of extra seconds that may exist when computing TZ.
2022/09/19: Fix	GET-INTERNAL-DATE time value when :LOCALTIME is requested.
2022/09/18: Add a new compiler optimization test for numeric expressions.
2022/09/17: Optimization of numeric expressions having DEFCONSTANT numbers.
2022/09/17: Optimizing numeric constant expressions was done at the wrong place.
2022/09/16: OpenLisp compiler optimizes more numeric constant expressions.
2022/09/15: Add DATE-SEC-TO-GMT to  class.
2022/09/13: Qualified port on macOS 21.6.0 (arm64/x86_64) with clang 14.0.0.
2022/09/13: Significantly improve internal date logic.
2022/09/11: Create tst/testdate.lsp dedicated to date and time tests.
2022/09/10: Add INITIALIZE-OBJET method for  that checks slots values.
2022/09/10: Detect invalid  syntaxes #6* and #0*1.
2022/09/10: Change reader limit to #1000000000* for .
2022/09/10: Fix BIT-xxx wrong number of arguments detection.
2022/09/09: Fix few new minor warnings detected by splint.
2022/09/08: Qualified port on NetBSD 9.3 / gcc 7.5.0 (x86_64).
2022/09/08: Fix  initialization for UNICODE version.
2022/09/08: Fix BIT-NOT bug.
2022/09/08: Fix Word "General Index" automatic generation.
2022/09/08: Qualified port on Debian "sid" / gcc 11.2.0 (riscv64).
2022/09/07: Qualified port on FreeBSD 13.1 / gcc 11.3.0 (x86_64/i686/aarch64).
2022/09/07: Change version to 11.7.0 (beta).




Version 11.6.0



2022/09/07: Final release 11.6.0 with build 8046 (SVN Revision 5672).
2022/09/07: Qualified port on Linux Debian / gcc 12.1.0 (sparc64).
2022/09/07: Qualified port on Linux (loongarch64) with gcc 13.0.0.
2022/09/07: Refactor  implementation.
2022/09/06: Fix olcleanupbv for UNICODE version.
2022/09/06: Add support for SQLite 3.39.3.
2022/09/05: All BIT-xxx logical  operations are implemented.
2022/09/05: Move most code related to bit vector in bitvect.c.
2022/09/04: SELECT and POLL check that vector arguments are .
2022/09/04: Update MAP and MAP-INTO to support  type.
2022/09/03: Add support for  type to CONVERT LAP op-code.
2022/09/03: Fix CREATE-SIMPLE-BIT-VECTOR initialization.
2022/09/03: CONVERT supports conversions from and to .
2022/09/03: CONCATENATE was not supporting .
2022/09/03: Few sequence functions where missing default case (i.e. error).
2022/09/02: Add testbvec.lsp to standard distribution.
2022/09/01: Add CREATE-SIMPLE-BIT-VECTOR function.
2022/08/29: Change  class to inherit from .
2022/08/29: Most sequence functions work with a bit vector object.
2022/08/28: Add  built-in-class and BIT accessors.
2022/08/26: DEFGENERIC compiles methods in declaration order.
2022/08/26: Fix compilation of generic calls which seems too aggressive.
2022/08/25: Qualified port on Linux Fedora 36 / gcc 12.2.1 (aarch64/x86/x86_64).
2022/08/25: IPv6 is compiled by default on Windows with VC++.
2022/08/24: Fix PGO issue on Linux x64.
2022/08/24: Switch to VC++ 17.3.x.
2022/08/22: Better optional IPv6 support on different systems.
2022/08/20: When RECEIVE is called with 2 args, length is computed from msg.
2022/08/19: Qualified port on macOS 21.6.0 (arm64/x86_64) with clang 13.1.6
2022/08/17: When SEND is called with 2 args, length is computed from msg.
2022/08/16: SOCKET now requires the protocol first argument (:TCP | :UDP).
2022/08/15: LISTEN now accepts 1 or 2 arguments (LISTEN socket [backlog size]).
2022/08/15: Add :UDP and :TCP keywords.
2022/08/14: Fix and improve the ntp.lsp network sample.
2022/08/13: Add optional trace to socket.c, fix olrecvfrom.
2022/08/10: GENSYM accepts an optional string that is used as prefix.
2022/08/10: GENSYM takes care of default symbol case (lowercase for OpenLisp).
2022/08/07: Fix FIRST, SECOND .. THENTH with fewer items (not an error but nil).
2022/08/07: More inheritance BUG, fix when field :ALLOCATION changes.
2022/08/06: More inheritance BUG, slots where sometimes internally duplicated.
2022/08/05: Fix another slot inheritance BUG, :INITARG was not always inherited.
2022/08/04: Fix slot inheritance BUG.
2022/08/01: Add PRINT-UNREADABLE-OBJECT to startup.lsp. CLtL compatible.
2022/07/28: Add contrib/avl.lsp and associated testavl.lsp.
2022/07/26: Add support for SQLite 3.39.2.
2022/07/26: REQUIRE/PROVIDE ignore symbol cases.
2022/07/24: Improve avl module by using a class interface.
2022/07/20: Fix EOF detection on UNICODE.
2022/07/16: Windows qa.bat now calls qa.sh. A POSIX shell like CYGWIN is needed.
2022/07/13: Fix parsing of command line options.
2022/07/13: QUIT takes a number or a Lisp expression where NIL=1, non-NIL=0.
2022/07/12: Improve qa.sh, add optional colors.
2022/07/12: Improve compilation of complex DEFSETF forms.
2022/07/10: DATETIME is implemented using DEFCLASS instead of DEFSTRUCT.
2022/07/10: Fix compilation of complex DEFSETF forms (as generated by DEFCLASS).
2022/07/08: Byte structure is implemented as .
2022/07/07: Add :macos or :linux feature when running on those systems.
2022/07/04: DECLARE directive returns nil.
2022/07/04: Qualified port on Hifive Unmatched Ubuntu 22.04 (gcc 11.2.0).
2022/07/04: Qualified port on StarFive VisionFive V1 Debian (gcc 11.3.0).
2022/07/03: Fix yet another :CLASS inherited slot bug. New test added.
2022/07/02: Module sparse.lsp is implemented using classes instead of structs.
2022/07/02: Preserve index of internal :initarg list.
2022/06/29: Update SLOT-XXX functions to support :ALLOCATION :CLASS slots.
2022/06/29: Fix typo of SLOT-EXISTS-P function (was SLOT-EXIST-P).
2022/06/29: Fix DEFCLASS :class slots with pre-defined init functions.
2022/06/28: Add support for SQLite 3.39.0.
2022/06/28: Fix DEFCLASS :class inherited slot access.
2022/06/27: Fix DEFCLASS macro inheritance bug.
2022/06/26: Add almost working :ALLOCATION :CLASS option for DEFCLASS (CLtL).
2022/06/24: Windows 10+ terminal now supports vt100 escape sequences.
2022/06/18: Qualified port on Raspberry Pi1 (Debian Bullseye / gcc 10.2.1).
2022/06/18: Qualified port on Raspberry Pi1 (Debian Buster / gcc 8.3.0).
2022/06/13: Qualified port on NetBSD 9.2 / gcc 7.5.0 (x86_64/i686).
2022/06/08: Improve REGEXE interface.
2022/06/04: Fix compiler issue when REQUIRE is used with a keyword argument.
2022/05/29: Qualified port on Solaris 10 sparc with gcc 9.5.0 (-m64 & -m32).
2022/05/26: APROPOS displays information about variables and functions.
2022/05/26: Add internal "regexp" module for more Windows ports.
2022/05/25: Switch to VC++ 17.2.x.
2022/05/24: Fix PGO compilation on Windows.
2022/05/24: Better handle different SQLITE compilation modes.
2022/05/23: Change version to 11.6.0 (beta).




Version 11.5.0



2022/05/23: Final release 11.5.0 with build 7839 (SVN Revision 5133).
2022/05/22: Qualified port on Linux Debian Bullseye / gcc 11.3.0 (sparc64).
2022/05/22: Qualified port on OpenBSD 7.1 (x86_64/x86) with gcc 8.4.0.
2022/05/22: Qualified port on FreeBSD 13.1 / gcc 10.3.0 (x86_64/i686/aarch64).
2022/05/21: Add RE native module {n,m} POSIX support for simple expressions.
2022/05/20: Fix ASLR on macOS.
2022/05/12: Qualified port on Linux Fedora 36 / clang 14.0 (aarch64/x86_64).
2022/05/12: Qualified port on Linux Fedora 36 / gcc 12.1.1 (aarch64/x86/x86_64).
2022/05/02: Qualified port on Linux Fedora 35 / gcc 11.3.0 (aarch64/x86/x86_64).
2022/05/02: Add support for SQLite 3.38.3.
2022/04/25: Add POSIX Character classes support in RE native module.
2022/04/22: Simple generic functions are discriminating at any position.
2022/04/16: Optimize [GET|SET]-SLOT-INDEX internal functions.
2022/04/15: Improve log-rotate code and associated test.
2022/04/13: Add optional :log-rotate flag for  logger class.
2022/04/11: Specialyze  classes for different output targets.
2022/04/11: Improve logger package in many ways, esp. multicast logger.
2022/04/09: CONNECT and LISTEN no longer internally call BIND.
2022/04/09: Add WITH-MULTICAST-GROUP macro in startup.lsp.
2022/04/09: Add socket BIND function.
2022/04/08: Improve logger with multicast UDP sockets.
2022/04/07: Improve DEFCLASS when slot is overloaded in derived classes.
2022/04/04: Fix slot :initform base redefined in derived with another value.
2022/04/02: CXXR functions were not checking for list on first argument.
2022/04/02: FIRST, SECOND ... TENTH were not checking for proper list.
2022/04/02: Minor optimization for CxxR functions.
2022/04/02: Slowly started to improve error messages.
2022/04/02: Add new error type to improve diagnostics.
2022/04/02: DEFSET was not supporting functions without parameters.
2022/04/01: Add testlog.lsp an auto-test for logger.lsp.
2022/04/01: Qualified port on Windows using clang 14.0.0 (x86_64).
2022/03/31: Use generic functions to handle sparse arrays of one dimension.
2022/03/31: ASDF uses a class instead of a structure.
2022/03/31: Class :initarg can be a keyword (CLtL extension).
2022/03/27: Optimize tailrec calls of functions with only one argument.
2022/03/25: No longer use method blocks.
2022/03/25: Add a set of macros to simplify class.c code.
2022/03/25: Simplify and optimize olcallnextmethod internal function.
2022/03/24: Optimize simple generic function calls.
2022/03/18: The "standard" :method-combination was not in islisp package.
2022/03/17: Small optimization of generic function calls.
2022/03/17: Add crypto.lsp sample.
2022/03/15: Qualified port on macOS 21.4.0 (arm64/x86_64) with clang 13.1.6
2022/03/15: Make  as real class instead of a list
2022/03/13: DEFSTRUCT supports BOA-constructors with  type.
2022/03/13: CREATE can create structure objects implemented with .
2022/03/13: Add support for SQLite 3.38.1.
2022/03/12: Structure with  type works with CREATE or MAKE-xxx.
2022/03/12: Structure definition can specify  type.
2022/03/11: Simplify PRINT-OBJECT/PRINT-FUNCTION for structures and objects.
2022/03/07: Add PRINT-OBJECT CLtL compatible generic function.
2022/03/07: Create a regress.sh script which compares any OpenLisp versions.
2022/03/02: Optimize SUBRC which are now nearly two times faster.
2022/03/02: Add print tests for structure and class instances.
2022/03/02: Print differently instances of structures and .
2022/03/02: Check that defstruct slot is a non-NIL symbol.
2022/03/01: Speedup FUNCALL calls.
2022/02/28: Fix LAP vector 64bits binary format resulting to invalid symbols.
2022/02/27: Printing a function object now displays its symbolic name.
2022/02/27: Calling FUNCTION on a special form returns a function object.
2022/02/26: Simplify and optimize olcallfunctionenv activation block.
2022/02/23: Add support for SQLite 3.38.0.
2022/02/20: Fix typo in help string.
2022/02/20: Fix olformatusertype when trying to print pseudo-symbols.
2022/02/19: Change internal  block. It is faster, smaller and cleaner.
2022/02/19: Simplify, optimize and make generic/method blocks more regular.
2022/02/16: IGNORE-ERRORS no longer enters the debuger when an error happens.
2022/02/15: Fix few macros used by TinyCC.
2022/02/14: Remove wmain that was never used on Windows unicode port.
2022/02/12: Try to suppress ASLR on Darwin. Experimental.
2022/02/08: Change version to 11.5.0 (beta).




Version 11.4.0



2022/02/08: Final release 11.4.0 with build 7441 (SVN Revision 4786).
2022/02/05: Create class hash-table cached methods only if needed.
2022/02/05: Add  class, subclass of .
2022/02/04: Optimize primary methods with a single discriminating argument.
2022/02/02: Add crc32.lst to standard contrib directory.
2022/02/02: Fix possible infinite loops in STRING-REPLACE.
2022/02/01: Gold ports are compiled with thread enabled by default.
2022/02/01: Fix typo when configure uses --enable-thread.
2022/02/01: SET-PACKAGE-SYMBOL checks that no conflics exist with new package.
2022/01/31: Fix a READ-TABLE bug that occured when GC was called.
2022/01/31: Fix an ILOS bug that occured when GC was called in method calls.
2022/01/31: Lisp stack size is now settable on command line (--stack ).
2022/01/29: Fix RECURSE-ARGS C backend which requires fixed number of args.
2022/01/28: Add simple wildcard ISLISP sample to contrib.
2022/01/24: Patch olmakegenericfunction nasty gcc optimization bug with PGO.
2022/01/22: Add GC-COUNT that returns the total number of GC made since start.
2022/01/19: Support more Windows specific code when tcc is used.
2022/01/19: Fix UNICODE registry possible overflow.
2022/01/18: Add signal constants in cstd and, when available, posix package.
2022/01/18: Add with-timeout posix only contrib tool.
2022/01/17: Fix a peephole LAP optimizer bug.
2022/01/15: Improve pseudo-number symbols printer using pipes when needed.
2022/01/15: Add :LITTLE-ENDIAN/:BIG-ENDIAN :64-BIT/:32-BIT to *FEATURES* list.
2022/01/15: Add the exact database driver symbol to *FEATURES* list.
2022/01/14: The *FEATURES* list now contains keywords instead of strings.
2022/01/14: Qualified port on Linux (loongarch64) with clang 11.0.0.
2022/01/14: Adapt test suite for systems where GET-HOST-NAME returns nil.
2022/01/14: Fix wrong test condition olgethostaddresshelper.
2022/01/13: Support more CLtL compatible #+/- cases.
2022/01/10: Compiler source code is moved to compiler directory.
2022/01/09: Add queens.lsp pure ISLISP sample in contrib (was in demos.lsp).
2022/01/09: Move non essential or obsolete components from lib to contrib.
2022/01/08: Move deprecated fasl code from lib to contrib.
2022/01/07: Fix MEMBER-IF[-NOT] when called with a lambda expression. Add tests.
2022/01/07: Fix stringop-overflow warning detected by gcc 12.0.0.
2022/01/07: Qualified port on Linux (loongarch64) with gcc 12.0.0.
2022/01/07: Add test suite for trace utility.
2022/01/06: *TRACE-LEVEL* is now a system dynamic variable reset to 0 on error.
2022/01/06: Rework the trace utility.
2022/01/05: Improve progress visual component.
2022/01/04: Fix [R]ASSOC-IF[-NOT] functions, add missing tests for them.
2022/01/03: Add 'ETA' option to progress component.
2022/01/02: Symbols T and NIL are valid BLOCK/RETURN-FROM identifiers (ISLISP).
2022/01/02: Special form symbols are valid identifiers (ISLISP).
2022/01/01: Added pregexp.lsp and its associated test file to standard distrib.
2022/01/01: Fix Doxygen wrong tag sequence, remove 1.9.3 obsolete variables.
2022/01/01: Add support for SQLite 3.37.1.
2021/12/30: Few fixes for Python 3.10 and above.
2021/12/29: Remove CLOSURE LAP call when LABELS/FLET is unused.
2021/12/28: CREATE-PACKAGE no longer automatically 'use' openlisp package.
2021/12/28: Fix ASDF sample.
2021/12/27: Fix LAP export generated code, no longer use FQN.
2021/12/27: *SITUATION* accepts keywords.
2021/12/27: VC++ 17.x generates wrong code with -02 and PGO, use -Ox instead
2021/12/22: Fix a RECURSE compiler bug (was patched instead of really fixed).
2021/12/21: Compiler restores *modules* to what it was before compiling file.
2021/12/21: Prefer uninterned symbols when dealing with require/provide.
2021/12/21: Compiler restores *features* to what it was before compiling file.
2021/12/20: Add OLSLIBS in cbuild.lsp to generate binaries with static libs.
2021/12/19: Workaround a recent VC++ 17.0.2 PGO optimization bug found with GC.
2021/12/19: Delete packages temporary made by COMPILE-FILE.
2021/12/19: *READ-SUPPRESS* was not correctly checked with some #+/- cases.
2021/12/18: Fix a compiler bug that was wrongly detecting recurive calls.
2021/12/16: ASDF also generates static libraries.
2021/12/16: Fix ollispcall for CPFUN that was testing with wrong macro.
2021/12/15: Change Copyright year to 2022.
2021/12/15: Remove deprecated MAKE function from defstruct.
2021/12/14: Fix codegen with CONSTANT pseudo-code memory access.
2021/12/12: Move complex library to lib directory.
2021/12/10: The complex package is complete, there must be some bugs.
2021/12/10: Fix USE-PACKAGE wrong error when symbols are shadowed.
2021/12/09: Fix configure.ac for autoconf 2.7.
2021/12/09: When a symbol is read with a package, it must exist in this package.
2021/12/08: Small optimization for really huge bignum to float conversion.
2021/12/08: Fix DECLARE macro that infinitly expanded in some cases.
2021/12/08: Switch to autoconf 2.7 to build configure script.
2021/12/07: Improve complex package.
2021/12/06: Optimize mvalues macros with only one argument.
2021/12/05: Fix variable name visibility in mvalues.lsp macros.
2021/12/04: Fix SQRT function error name when argument is < 0.
2021/12/04: Add (DECLARE (WARNING n)) to add or suppress compiler warnings.
2021/12/04: Compiler warns (was an error) when LET* has duplicated variables.
2021/12/02: NTH-VALUE was not compliant, it now evaluates index then form.
2021/12/02: STRING can also convert characters to strings (CLtL compatible).
2021/12/01: Huge rework of multiple-values emulation.
2021/11/30: CONCATENATE and STRING-APPEND ignore all NIL arguments.
2021/11/30: Add a specific test file for multiple-values.
2021/11/29: Add support for SQLite 3.37.0.
2021/11/26: Add progress.lsp which implements visual text mode effects.
2021/11/23: GC closes unclosed streams before they are collected.
2021/11/22: Implement (DECLARE (IGNORE a b ..)).
2021/11/21: Finally get rid of 8.3 names, defstruc is renamed defstruct.
2021/11/20: Add more ASDF compatible functions.
2021/11/19: Change version to 11.4.0 (beta).




Version 11.3.0



2021/11/19: Final release 11.3.0 with build 7045 (SVN Revision 4428).
2021/11/19: Qualified port on OpenBSD 7.0 (x86_64/x86) with gcc 8.4.0.
2021/11/19: Qualified port on Linux Debian Bullseye / gcc 11.2.0 (sparc64).
2021/11/19: Qualified port on Linux Debian Bullseye / gcc 11.2.0 (sparc).
2021/11/18: Qualified port on OpenBSD 6.9 (x86_64/x86) with clang 12.0.1.
2021/11/17: Add architecture size (64bits/32bits) when --version is used.
2021/11/16: Set a+rw permission on html generated documentation.
2021/11/15: Rename build.lsp to cbuild.lsp to avoid conflict with build.h.
2021/11/15: Add build.lsp to the list of standard components.
2021/11/14: Change *QUIET-MODE* from gobal to dynamic variable.
2021/11/13: Qualified port on Debian 11.1 Bullseye RPi4 / gcc 10.2.1 (arm).
2021/11/13: Qualified port on Debian 11.1 Bullseye RPi3 / gcc 10.2.1 (arm64).
2021/11/13: Qualified port on Windows using Cygwin 3.3.2 x64 and gcc 11.2.0.
2021/11/10: Switch to VC++ 2022 v17.0.0 for official builds.
2021/11/08: Change *MODULES and *FEATURES* to be dynamic variables.
2021/11/08: Remove deprecated ADD-FEATURE, REM-FEATURE and LIST-FEATURES.
2021/11/07: Correctly use *MODULES and *FEATURES*.
2021/11/03: Fix #+/#- when --islisp is used.
2021/11/03: Check that #+(NOT ) accepts exactly one argument.
2021/11/02: Add support for #+(OR) #+(AND) special cases.
2021/11/02: Add support for complex feature expressions like #+(AND x (NOT y)).
2021/11/02: Make #+/#- fully compatible with CLtL.
2021/11/01: Better handle complex #+/#- cases.
2021/10/28: Add *READ-SUPPRESS* dynamic variable that controls the reader.
2021/10/20: ASDF calls internally one of the predefined standard operations.
2021/10/16: Small C backend optimization.
2021/10/16: No longer build i686 on macOS. High Sierra is quite old.
2021/10/15: Qualified port on Windows using clang 13.0.0 (x86_64).
2021/10/05: Performance counters are now always used on Windows.
2021/10/05: Fully share Python<->OpenLisp converters.
2021/10/05: Use Windows 11 as Windows standard development platform.
2021/10/03: Add Python amalgamation support.
2021/10/02: Hook is called when GC starts and when it stops: OLGC_ON|OLGC_OFF.
2021/09/30: Python module has its own test file in tst/testpy.lsp.
2021/09/27: Greatly improve Python module.
2021/09/24: Add an example on how OpenLisp can call Python.
2021/09/21: Qualified port on macOS 20.6.0 (arm64) with clang 13.0.0.
2021/09/21: Qualified port on macOS 20.6.0 (x86_64) with clang 13.0.0.
2021/09/17: Add an example on how Python can call OpenLisp.
2021/09/16: Add more Windows API support with tcc build.
2021/09/16: Add Windows 11 detection based on build number (>= 22000).
2021/09/05: Add cl-asdf sample to standard distribution.
2021/09/01: Fix amalgamation warnings with really smart compilers (gcc 11.2.0).
2021/08/31: Qualified port on OpenBSD 6.9 (mips64) with clang 10.0.1.
2021/08/30: Qualified port on Linux Debian Bullseye / gcc 10.2.0 (x86_64).
2021/08/28: Don't activate readline when OpenLisp is launched as pipe.
2021/08/27: The _ANSICHARS/_WIDECHARS value is now computed in config.h.
2021/08/27: Qualified port on cygwin 3.2.0 x86_64/gcc 11.2.0.
2021/08/27: QA scripts test ASDF binary builds.
2021/08/24: ASDF can build binaries out of source tree.
2021/08/22: Update build.lsp with more systems.
2021/08/22: Add fulldev.asdf.
2021/08/21: Add gabriel.asdf.
2021/08/21: Add build.lsp.in that contains some autoconf variables
2021/08/20: Use -static-libgcc on macOS when compiling with gcc.
2021/08/19: ASDF now generates module C stub.
2021/08/18: Allow compiled modules to call a startup function.
2021/08/16: Fix return code on error.
2021/08/15: Add --quit command line option.
2021/08/15: Process (multiple) --eval/--load after all other options.
2021/08/13: No longer use static buffer to format float.
2021/08/13: Fix and optimize float format, esp. with the UNICODE version.
2021/08/12: Add long --eval option, equivalent to deprecated -e.
2021/08/12: Allow to conditionally read undefined packages (#+undef bar::xx).
2021/08/11: Correctly exit if initial script/image has an error.
2021/08/10: Improve and factorize more activation blocks.
2021/08/07: Factorize dynamic-let activation block as used by eval/lap/backend.
2021/08/07: Add --local option to update.sh which allows to test local install.
2021/08/07: Add oltry/olonerror/olfinally macros.
2021/08/06: Change version to 11.3.0 (beta).




Version 11.2.0



2021/08/06: Final release 11.2.0 with build 6867 (SVN Revision 4056).
2021/08/06: Qualified port on FreeBSD 13.0 / gcc 10.3.0 (x86_64/i686/aarch64).
2021/08/05: Qualified port on Solaris 10 sparc with gcc 10.2.1 (-m64 & -m32).
2021/08/05: Qualified port on OpenBSD 6.9 (x86_64/x86) with gcc 8.4.0.
2021/08/03: Qualified port on macOS 20.5.0 (arm64) with tcc 0.9.27.
2021/08/03: Qualified port on macOS 20.5.0 (arm64) with clang 12.0.5.
2021/08/03: Qualified port on macOS 20.5.0 (arm64) with gcc 11.2.0.
2021/08/03: Internal debugger checks for valid object code.
2021/08/01: Qualified port on Linux Fedora 34 / gcc 11.2.1 (aarch64/x86_64).
2021/08/01: Qualified port on macOS 20.4.0 (arm64) with gcc 11.2.0.
2021/07/04: Optimize CATCH/THROW LAP and C backend compiled code.
2021/07/04: SQLite is now thread safe on Windows x64 with latest tcc version.
2021/07/03: Use OLUNWIND_FROM_LAP flag to unwind block from LAP.
2021/07/03: VC++ 16.10.3 fails to compile the UNICODE version with PGO.
2021/07/02: Use Lisp integer in block frame buidl from LAP.
2021/07/02: Fix CATCH LAP which no longer restores saved environment.
2021/06/30: Improve block logic, fix olprenv with some block types.
2021/06/30: Add SVN revision to machine info struct.
2021/06/30: Tested with VC++ 2022 preview v17.0.0 (x86/x86_64).
2021/06/30: Use more common code between eval.c, lap.c and codegen.
2021/06/24: Finally fix EXIT-PROTECT LAP instruction.
2021/06/24: Fix/patch memory error with realpath. Not clear why it failed.
2021/06/24: Add new set of macros used to build common activation frames.
2021/06/19: Add support for SQLite 3.36.0.
2021/06/06: Qualified port on Solaris 10 sparc with gcc 9.4.0 (-m64 & -m32).
2021/05/23: Switch to VC++ 2019 v16.10.0 for official builds.
2021/05/23: Allow registry and ntterm modules with tcc on Windows.
2021/05/14: Qualified port on macOS 20.4.0 (arm64) with gcc 11.1.0.
2021/05/14: Qualified port on macOS 17.7.0 (x86_64) with gcc 11.1.0.
2021/05/02: Qualified port on FreeBSD 13.0 / clang 11.0.1 (x86_64/i686).
2021/05/02: Qualified port on FreeBSD 13.0 / gcc 10.2.0 (x86_64/i686/aarch64).
2021/05/02: Qualified port on Linux Fedora 34 / gcc 11.1.1 (aarch64).
2021/05/02: Qualified port on Linux Fedora 34 / gcc 11.1.1 (x86_64/i686).
2021/04/30: Change version to 11.2.0 (beta).




Version 11.1.0



2021/04/30: Final release 11.1.0 with build 6755 (SVN Revision 3902).
2021/04/30: Fix allocation detection on NetBSD (MAP_FIXED is no longer used).
2021/04/29: Qualified port on FreeBSD 12.2 / gcc 10.2.0 (x86_64/i686/aarch64).
2021/04/28: Qualified port on OpenBSD 6.8 (x86_64) with gcc 8.4.0.
2021/04/28: Qualified port on AIX 7.2 with gcc 8.3.0.
2021/04/28: Qualified port on Linux Fedora 34 / gcc 11.0.1 (aarch64).
2021/04/28: Qualified port on Linux Fedora 34 / gcc 11.0.1 (x86_64/i686).
2021/04/27: Qualified port on macOS 20.4.0 (arm64) with clang 12.0.5.
2021/04/22: When supported by compiler, use variable array in bignum.
2021/04/22: Qualified port on Windows using clang 12.0.0 (x86_64).
2021/04/21: Tested with gcc and -std=c17.
2021/04/21: Fix some cpplint style warnings.
2021/04/19: Qualified port on macOS 19.6.0 (x86_64) with clang 12.0.0.
2021/04/19: Qualified port on macOS 17.7.0 (x86_64) with clang 12.0.0.
2021/04/19: Switch to VC++ 2019 v16.9.4 for official builds.
2021/04/10: OPENLISP environment variable is no longer required on Windows.
2021/04/09: Qualified port on Nvidia Jetson AGX Xavier (aarch64) with gcc 7.5.
2021/04/04: Add support for SQLite 3.35.4.
2021/03/26: Add support for SQLite 3.35.3.
2021/03/23: Qualified port on macOS 17.7.0 (x86_64) with gcc 10.2.1.
2021/03/21: Check and fix all private Doxygen documentation.
2021/03/18: Add support for SQLite 3.35.2.
2021/03/17: Doxygen is almost complete for all OpenLisp code.
2021/03/15: Add support for SQLite 3.35.1.
2021/03/13: Optimize ISQRT Halleck's method a little bit.
2021/03/13: Add support for SQLite 3.35.0.
2021/03/13: Reduce the number of FIXNUM casts by using better return types.
2021/03/12: Fix corner case multiplication overflow detections.
2021/03/11: Fix all clang sanitizer warnings.
2021/03/11: Experimental overflow detection that occurs before any computation.
2021/03/11: Fix all clang static analyser warnings.
2021/03/04: Fix GET-HOST-ADDRESS on macOS.
2021/03/04: Use apple default readline when cross-compiling for x86_64.
2021/03/04: Support PGO on all macOS versions.
2021/03/03: Support PGO on Apple Big Sur.
2021/03/03: Allow cross-compilation for x86_64 on Apple Big Sur M1.
2021/03/03: Switch to VC++ 2019 v16.9.0 for official builds.
2021/03/03: Fix install target.
2021/02/28: Greatly improve and simplifiy ~<~> FORMAT directive.
2021/02/20: Update libreadline location on macOS Big Sur.
2021/02/20: Update some .m4 files.
2021/02/19: Don't use no_pie on macOS M1 which is not supported.
2021/02/19: Qualified port on macOS 20.3.0 (arm64) with clang 12.0.0.
2021/02/19: Better support ~<~> FORMAT directive.
2021/02/05: Promote long command line options '--' (short options remain).
2021/01/27: Add sysinfo page and heap sizes currently used.
2021/01/27: Fix absolute-pathname with empty string on unix.
2021/01/26: Simplify and improve mmap virtual allocator.
2021/01/21: Take care of mmap on more systems with possible additional flags.
2021/01/20: Take care of mmap OpenBSD behavior. Use mquery specific call.
2021/01/14: Documentation is generated by Doxygen v1.9.1.
2021/01/10: Qualified port on OpenBSD 6.8 / clang 10.0.1 (aarch64).
2021/01/01: Add features for pathnames types (windows, vms, unix).
2020/12/31: Apply few changes to better support vms.
2020/12/30: Change copyright end year to 2021.
2020/12/24: Qualified port on FreeBSD 12.2 / tcc 0.9.27 (x64/aarch64).
2020/12/24: Qualified port on OpenBSD 6.8 / tcc 0.9.27 (x64/aarch64).
2020/12/02: Add support for SQLite 3.34.0.
2020/12/01: GC thread is activated on Windows ports with one thread by default.
2020/11/30: Qualified port on MinGW / gcc 10.2.0 (x86_64/i686).
2020/11/21: Qualified port on Debian 10.6 / clang 9.0.1 (riscv64).
2020/11/21: Qualified port on Debian 10.6 / gcc 10.2.0 (riscv64).
2020/11/08: Qualified port on Debian 10.6 (AntiX on PII) / tcc 0.9.27 (i686).
2020/11/06: Use Coverity scan on bignum and fix few potential issues.
2020/11/01: Qualified port on FreeBSD 12.2 / clang 10.0.1 (x86_64/i686).
2020/11/01: Qualified port on FreeBSD 12.2 / gcc 9.3.0 (x86_64/i686).
2020/10/31: Add configure rpl_malloc patch to make malloc GNU compatible (AIX).
2020/10/30: Change version to 11.1.0 (beta).




Version 11.0.0



2020/10/30: Final release 11.0.0 with build 6651.
2020/10/29: Qualified port on FreeBSD 12.2 / gcc 9.3.0 (aarch64).
2020/10/28: Qualified port on Linux Fedora 33 / clang 11.0.0 (aarch64).
2020/10/29: Qualified port on Linux Fedora 33 / gcc 10.2.1 (aarch64).
2020/10/28: Qualified port on Linux Fedora 33 / clang 11.0.0 (x86_64/i686).
2020/10/28: Qualified port on Linux Fedora 33 / gcc 10.2.1 (x86_64/i686).
2020/10/27: Better detect rl_completion_func_t readline type definition.
2020/10/27: Qualified port on NetBSD 9.1 / gcc 7.5.0 (aarch64).
2020/10/27: Qualified port on NetBSD 9.1 / clang 10.0.1 (aarch64).
2020/10/22: Qualified port on OpenBSD 6.8 (x86_64 with clang 10.0.1).
2020/10/07: Make pathname library more compatible with SBCL.
2020/10/02: Add absolute-pathname expanding links if needed.
2020/09/26: Add GETF and REMF P-List functions.
2020/09/25: Qualified port on macOS 19.6.0 (x86_64) with clang 11.0.0.
2020/09/12: Qualified port on Windows using Cygwin 3.1.7 x64 and gcc 10.2.0.
2020/09/06: Add support for ':' option for all integer FORMAT directives.
2020/09/02: Simplify and fix ~s and ~a with 4 numeric arguments.
2020/09/02: Qualified port on Windows using clang beta 12.0.0 (x86_64).
2020/09/01: Add support for ':' option with '$' FORMAT directive.
2020/08/31: Qualified port on Linux Debian Bullseye BETA / gcc 10.2.0 (sparc64).
2020/08/29: Greatly improve float FORMAT compatibility.
2020/08/27: Allow ~v or ~# for any numeric options in FORMAT directives.
2020/08/26: Support more CLtL compatible options for float format directives.
2020/08/24: Fix FLOOR that now internally calls DIV (olxdiv).
2020/08/23: FORMAT fully implements ~r and ~:r directives.
2020/08/21: Add num2text.lsp sample which simulates ~r and ~:r FORMAT.
2020/08/20: Qualified port on macOS 19.4.0 (x86_64) with clang 11.0.0.
2020/08/20: Add support for SQLite 3.33.0.
2020/08/18: Add support for "~r" and "~:r" FORMAT directive.
2020/08/15: Fix typo for clobbered gcc warning.
2020/08/15: Fix ~(~), ~[~] and ~? FORMAT recursive calls.
2020/08/14: Simplify and improve FORMAT internal code.
2020/08/13: Add support for "~(~)" FORMAT directive.
2020/08/06: Shared libs are supported with tcc on all Linux platforms.
2020/07/31: Use gnureadline instead of libedit when available.
2020/07/31: Qualified port on Linux Fedora 32 / gcc 10.2.1 (aarch64).
2020/07/30: Partial support for FORMAT "~?" directive.
2020/07/30: Partial support for FORMAT "~{~}" iteration directive.
2020/07/24: Add roman FORMAT directive support up to 4999.
2020/07/14: Add OpenLisp version on .dylib.
2020/07/08: Handle scale argument for ~f FORMAT directive.
2020/07/07: Handle ~| CLtL FORMAT directive.
2020/07/06: Fix aggressive FORMAT optimizations.
2020/07/06: Calling olfreeobject allows free streams objects.
2020/07/04: Fix ~& FORMAT argument, add more tests.
2020/07/02: Handle ~~ CLtL FORMAT directive.
2020/07/02: Handle ~S/~A padding with all object types (esp. cons and vectors).
2020/07/02: Fix few minpad cases with ~S FORMAT directive.
2020/07/01: Fix ~s FORMAT directive with character and padding.
2020/06/30: Fix MLK when error occurs with nil FORMAT stream.
2020/06/27: Handle colinc, for ~A and ~S FORMAT directives.
2020/06/27: Format directives allow up to 4 specifiers.
2020/06/25: Build .dylib instead of .so shared libs macOS.
2020/06/24: Qualified port on macOS 19.4.0 (x86_64) with tcc 0.9.27.
2020/06/19: Add CLtL V/v FORMAT directive that reads width from argument.
2020/06/19: Add support for SQLite 3.32.3.
2020/06/18: Fix amalgamation build when config.h is used.
2020/06/17: Improve readline and curses detections using standard m4 libs.
2020/06/09: Remove deprecated IEEE* macros.
2020/06/06: Replace CVS by SVN as source control system (finally!!).
2020/06/06: Change SYSTEM-INFO to display hexa numbers with lisp syntax #x.
2020/06/05: Qualified port on OpenBSD 6.7 (x86_64 with gcc 4.2.1/clang 8.0.1).
2020/06/04: Add support for SQLite 3.32.2.
2020/05/31: Qualified port on Debian 10 (mipsel/mipsel64) gcc 8.3.0.
2020/05/27: Doxygen 1.8.18 is the default version for html documentation.
2020/05/24: Qualified port on Linux BusyBox / gcc 7.3.1 (riscv32).
2020/05/24: Use sbcl as Lisp bignum tests generator on Windows and Linux.
2020/05/22: Fix internal error with (ASH n 0) when n is a bignum.
2020/05/20: Qualified port on Linux Fedora 29 / gcc 8.2.1 (riscv64).
2020/05/20: Switch to VC++ 2019 v16.6.0 for official builds.
2020/05/13: Automatically generate config.h.in from autogen.sh (by autoheader).
2020/05/11: Add ax_check_openlisp.m4 autotool macro.
2020/05/10: Qualified port on Linux Fedora 32 / gcc 10.1.1 (aarch64).
2020/05/10: Qualified port on Linux Fedora 32 / gcc 10.1.1 (x86_64/i686).
2020/05/10: Refresh configure.ac using autoupdate script.
2020/05/10: Modernize and fix configure.ac, add AC_COPYRIGHT and AC_REVISION.
2020/05/08: Fix warnings when kernel is compiled by C++ compiler (g++ 10.0.1).
2020/05/08: Change version to 11.0.0 (beta).




Version 10.9.0



2020/05/08: Final release 10.9.0 with build 6526.
2020/05/08: Qualified port on Linux Debian Buster / gcc 9.3.0 (sparc64).
2020/05/07: Fix PostgreSQL support in configure.
2020/04/29: Better check gcc/clang available options. Fix qa.sh on FreeBSD.
2020/04/28: Qualified port on Linux Fedora 32 / clang 10.0.0 (aarch64).
2020/04/28: Qualified port on Linux Fedora 32 / gcc 10.0.1 (aarch64).
2020/04/28: Qualified port on Linux Fedora 32 / clang 10.0.0 (x86_64/i686).
2020/04/28: Qualified port on Linux Fedora 32 / gcc 10.0.1 (x86_64/i686).
2020/04/14: Better support PGO build with clang.
2020/04/13: Switch to VC++ 2019 v16.5.3 for official builds.
2020/04/13: Add support for PGO in user projects.
2020/04/12: Add support for :while in gen-lines which expands to do loop.
2020/04/11: Use gen-lines in cpmodule.lsp instead of format calls
2020/04/10: Add ~* format directive with ':', '@' and numeric options.
2020/04/10: Add ~p tests in testsys.lsp. Handle ~p in compiler arg. checks.
2020/04/09: Add ~p format directive with ':' and '@' options.
2020/04/09: Qualified port on FreeBSD 12.1 / gcc 9.3.0 (aarch64).
2020/04/09: Qualified port on FreeBSD 12.1 / gcc 9.3.0 (x86_64/i686).
2020/04/09: Add macOS support in testpipe.lsp.
2020/04/08: Update codegen.lsp to use only gen-lines for code generator.
2020/04/07: Add support for :case-using in gen-lines.
2020/04/05: Add support for fulldev tests with autoconf builds.
2020/04/05: Fix cbench and ctest when compiling with tcc.
2020/04/01: Qualified port on Linux Fedora 31 / gcc 9.3.1 (x86_64/i686).
2020/04/01: Qualified port on Linux Fedora 31 / gcc 9.3.1 (aarch64).
2020/03/30: Add ECASE CLtL compatible macro.
2020/03/30: Qualified port on Debian 10.3 Buster RPi4 / tcc 0.9.27 (arm).
2020/03/30: Qualified port on Linux Fedora 31 RPi3 / tcc 0.9.27 (aarch64).
2020/03/30: Qualified port on macOS 19.4.0 (x86_64) with clang 11.0.0.
2020/03/29: Qualified port on Debian 10.3 Buster RPi3 / gcc 8.3.0 (aarch64).
2020/03/28: Rewrite gen-lines expander as a function.
2020/03/24: When it applies, start to use few gen-lines calls in codegen.lsp.
2020/03/21: Add more supported keywords to genlines.lsp.
2020/03/18: Remove :loop from genlines.lsp, add :dotimes/:dolist.
2020/03/15: Qualified port on Solaris 10 sparc with gcc 9.3.0 (-m64 & -m32).
2020/03/13: Promote genlines.lsp as part of the standard OpenLisp library.
2020/03/13: Qualified port on Windows using Cygwin 3.1.4 x64 and gcc 9.2.0.
2020/03/10: Building amalgamation requires only amalgamation.c single file.
2020/03/07: Improve amalgamation build.
2020/03/02: Add contrib/rpi.lsp sample which uses posix module.
2020/02/26: External posix working sample using mmap/open/close...
2020/02/26: Qualified port on Windows using clang 11.0.0 (x86_64).
2020/02/26: Qualified port on Linux Fedora 31 / clang 9.0.1 (x86_64/i686).
2020/02/26: Qualified port on Linux Fedora 31 / clang 9.0.1 (aarch64).
2020/02/22: Add optional posix external module.
2020/02/22: External modules can be set in a given package (:in-package ).
2020/02/21: Qualified port on NetBSD 9.0 / gcc 7.4.0 (aarch64).
2020/02/20: Qualified port on NetBSD 9.0 / gcc 7.4.0 (armv7).
2020/02/21: Qualified port on NetBSD 9.0 / gcc 7.4.0 (x86_64/i686).
2020/02/17: External modules support :if-defined keyword when cste is optional.
2020/02/17: Use predefined m4/ax_lib* SQL macros to detect optional SQL client.
2020/02/16: Add shared library support for QNX 6.x port.
2020/02/16: Modernize and cleanup configure.ac.
2020/02/14: Fix X11 graphic lib build.
2020/02/13: Support almagamation with tcc.
2020/02/13: Guard few includes for possible multiple inclusions.
2020/02/10: Rework configure.ac to better use --enable-xxx/--with-xxx options.
2020/02/10: Use --with-xx and --enable-xx in a more coherent way.
2020/02/10: Qualified port on Debian 10.3 Buster RPi4 / gcc 8.3.0 (arm).
2020/02/07: Switch to VC++ 2019 v16.4.4 for official builds.
2020/02/07: When compiling with readline >= 7.0, add color-completion-prefix.
2020/02/05: Add gnuplot demo.
2020/02/05: HAVE_POPEN/HAVE_PCLOSE was removed by mistake from config.h.in.
2020/02/04: If supported, add pallalel build "make -j $(nproc)".
2020/02/03: Qualified port on OpenBSD 6.6 (sparc64 with gcc 4.2.1).
2020/01/30: Qualified port on macOS 19.3.0 (x86_64) with clang 11.0.0.
2020/01/30: Qualified port on Debian 10 Buster RPi4 / clang 9.0.1 (arm).
2020/01/29: Use mt.exe drop down replacement with tcc compiler. Update manifest.
2020/01/28: Add support for SQLite 3.31.1.
2020/01/14: Qualified port on FreeBSD 12.1 / gcc 9.2.0 (aarch64).
2020/01/14: Qualified port on FreeBSD 12.1 / clang 8.0.1 (aarch64).
2020/01/13: Qualified port on Solaris 11 x64 with gcc 7.3.0 (-m64 & -m32).
2020/01/06: Fix Visual C++ project.
2020/01/06: Remove PocketPC material from standard distribution.
2020/01/05: Add update.sh option to run ./configure with --quiet flag.
2020/01/05: Cleanup and improve archive builder.
2020/01/04: Change version to 10.9.0 (beta).




Version 10.8.0



2020/01/03: Final release 10.8.0 with build 6462.
2020/01/03: Improve net/ipaddr.lsp with fixes and IPv6 support.
2019/12/29: Rename all Windows makefiles from makefile.nt to makefile.msvc.
2019/12/28: The JSON pretty printer in now part of json.lsp (was jsonpp.lsp).
2019/12/28: Add *print-pretty* dynamic variable (controls the pretty printer).
2019/12/26: Add json automatic tests.
2019/12/23: Module unicode.lsp has been renamed uchar.lsp.
2019/12/18: Add testuchar.lsp UNICODE Database non-regression tests.
2019/12/17: Move simplex-reader.lsp to simplex.lsp.
2019/12/15: Add contrib/complex.lsp in stdlib.
2019/12/14: Add find-matching-characters unicode function.
2019/12/14: Add unicode and rsa in contrib standard modules list.
2019/12/12: Qualified port on macOS 19.2.0 (x86_64) with clang 11.0.0.
2019/12/10: Improve unicode database.
2019/12/10: Add *print-radix* dynamic variable that controls rational printer.
2019/12/09: Add RSA crypto sample.
2019/12/09: MOD-EXP supports rational numbers.
2019/12/09: EXPT returns a rational when exponent is a negative integer.
2019/12/05: Switch to VC++ 2019 v16.4.0 for official builds.
2019/12/02: Add -rational/-norational command line option.
2019/11/28: Improve JSON lib.
2019/11/25: Qualified port on FreeBSD 12.1 / gcc 9.2.0 (x86_64/i686).
2019/11/19: Qualified port on FreeBSD 12.0 / clang 9.0.0 (x86_64).
2019/11/07: Qualified port on FreeBSD 12.0 / gcc 9.2.0 (aarch64).
2019/11/07: Qualified port on FreeBSD 12.0 / gcc 9.2.0 (x86_64/i586).
2019/10/28: Qualified port on Linux Fedora 31 / gcc 9.2.1 (aarch64).
2019/10/28: Qualified port on Linux Fedora 31 / clang 9.0.0 (aarch64).
2019/10/28: Qualified port on Linux Fedora 31 / gcc 9.2.1 (x86_64/i686).
2019/10/28: Qualified port on Linux Fedora 31 / clang 9.0.0 (x86_64/i686).
2019/10/28: Qualified port on OpenBSD 6.6 (x86_64 with gcc 4.2.1/clang 8.0.1).
2019/10/17: When rational exists,  inherits from .
2019/10/17: Fix lib/classes.lsp tool.
2019/10/17: Add support for SQLite 3.30.1.
2019/10/12: Qualified port on macOS 19.0.0 (x86_64) with clang 11.0.0.
2019/10/05: Add support for SQLite 3.30.0.
2019/10/03: BigQ is always a const object.
2019/10/03: Add Bz prefix to MaxInt and AbsInt macros.
2019/10/02: Qualified port on Windows using clang 10.0.0 (x86_64).
2019/09/25: Fix conversion from rational to float with large numerators.
2019/09/25: Qualified port on MinGW / gcc 9.1.0 (x86_64/i686).
2019/09/24: Switch to VC++ 2019 v16.3.0 for official builds.
2019/09/24: Define BZ_BUCKET_SIZE (32 or 64) before bignum includes.
2019/09/23: Use new BzToDouble function to convert bignums to float.
2019/09/19: Greatly simplify _BIGNUM/_RATIONAL conditional code.
2019/09/19: When -islisp is set, if present, rational numbers are not used.
2019/09/18: Fix EXPT with rational numbers and negative exponents.
2019/09/14: Support rational with base 2 to 36.
2019/09/11: Detect more BIGNUM and RATIONAL parsing errors.
2019/09/10: EXPT supports rational numbers.
2019/09/08: Implement logic to support REM and MOD with rational numbers.
2019/09/08: Fix improper-list detection used by sequence functions.
2019/09/08: Adapt test suite for optional rational numbers.
2019/09/07: Fix CEILING, FLOOR, ROUND and TRUNCATE with rational bignums.
2019/09/07: Fix EQL with rational.
2019/09/07: Make rational the default on selected number of port (tcc).
2019/09/06: Add SET-EXCLUSIVE-OR and NSET-EXCLUSIVE-OR functions.
2019/09/05: Add SUBSET, SET-DIFFERENCE and NSET-DIFFERENCE functions.
2019/09/03: Add UNION, NUNION, INTERSECTION and NINTERSECTION functions.
2019/09/03: Qualified port on Raspberry Pi3 (NetBSD 8.1 gcc 5.5.0/7.4.0).
2019/09/02: Doxygen 1.8.16 is the default version for html documentation.
2019/09/01: Add --clang flag to update.sh for systems having both clang and gcc.
2019/08/31: Switch to VC++ 2019 v16.2.3 for official builds.
2019/08/31: Change version to 10.8.0 (beta).




Version 10.7.0



2019/08/31: Final release 10.7.0 with build 6352.
2019/08/31: Qualified port on Linux Debian buster / gcc 9.2.1 (sparc/sparc64).
2019/08/29: Accept nil for :count, :end, :end1 and :end2 keywords values.
2019/08/28: Better check that SEARCH and MISMATCH use proper lists.
2019/08/27: Sequence functions better check that lists are proper lists.
2019/08/26: Factorize FIND and POSITION which only differ on returned value.
2019/08/25: Add more sequence tests and fix errors found.
2019/08/24: Fix REDUCE list corner cases.
2019/08/24: Better check valid sequence ranges.
2019/08/24: Simplify and optimize :test function value.
2019/08/24: Better detect MEMBER accepted types when other options are supplied.
2019/08/23: Fix POSITION with lists and supplied :test function.
2019/08/23: Implement DELETE|REMOVE-DUPLICATES in sequence.c with more keys.
2019/08/21: Fix internal olswapsequences.
2019/08/21: DELETE-xx with vector sequence looks physically modified.
2019/08/21: DELETE-DUPLICATES use non-recursive and much faster algorithms.
2019/08/20: Fix MEMBER-IF with dotted pair list.
2019/08/19: Fix few LDIFF corner cases.
2019/08/18: Fix compilation of qualified method (:before :after :around).
2019/08/18: Fix SYMBOL-FUNCTION with generic functions.
2019/08/16: Qualified port on Linux CentOS 7.x / gcc 9.2.0 (x86_64/i686).
2019/08/16: Optimize CONCATENATE function.
2019/08/15: Qualified port on Solaris 10 sparc with gcc 9.2.0 (-m64 & -m32).
2019/08/15: DELETE with string sequence looks physically modified.
2019/08/13: Fix more DELETE-xx corner cases when list is physically modified.
2019/08/12: Qualified port on macOS 18.7.0 (i386/x86_64) with clang 10.0.1.
2019/08/11: DELETE-xx functions may physically change lists.
2019/08/11: Fix sequence functions with strings and specialized test function.
2019/08/09: Add APROPOS-LIST CLtL compatible function.
2019/08/08: Add shared lib support on macOS.
2019/08/07: Use -Wl,-no_pie flag on macOS to support core images.
2019/08/05: Change few samples to pure islisp code.
2019/07/16: Add contrib/tagbody.lsp alternate implementation using catch/throw.
2019/07/15: Qualified port on Debian 10 Buster RPi3 / clang 7.0.1 (arm).
2019/07/14: Add -version command line option.
2019/07/12: Change system name on macOS from macosx to macos.
2019/07/10: Change poll interface which now supports read and write outputs.
2019/07/10: Use ws2_32.lib for all Windows build (it reflaces old wsock32.lib).
2019/07/10: Add _WIN32_WINNT version used in system-info.
2019/07/09: Add experimental poll socket support.
2019/07/07: Qualified port on Linux Debian Buster / clang 7.0.1 (x86_64/i386).
2019/07/07: Qualified port on Linux Debian Buster / gcc 8.3 (x86_64/i386).
2019/07/07: Fix olschdir when --enable-unicode is used.
2019/07/06: Fix precedence option between -e and -emacs.
2019/07/06: Better support -lto option.
2019/07/05: Fix macOS build not using -O3.
2019/07/05: Tune compiler options for RPi 32/64.
2019/07/03: Qualified port on OpenBSD 6.5 (x86_64 with gcc 4.2.1/clang 7.0.1).
2019/07/02: Full qualified port on AIX 7.2 with gcc 7.2.0.
2019/07/01: Check exact CC version in configure.ac. Take care of aliases.
2019/06/30: Qualified port on Alpine (musl) / gcc 8.3.0 (x86_64).
2019/06/27: Qualified port on FreeBSD 12.0 / gcc 8.3.0 (aarch64).
2019/06/27: Qualified port on Linux Fedora 30 / gcc 9.1.0 (aarch64).
2019/06/27: Qualified port on Linux Fedora 30 / clang 8.0.0 (aarch64).
2019/06/27: Qualified port on Linux Fedora 30 / gcc 9.0.1 (aarch64).
2019/06/27: Check if CC is gcc or clang to avoid unsupported compiler flags.
2019/06/25: Qualified port on Debian 10 Buster RPi3 / gcc 8.3.0 (arm).
2019/06/20: Fix LAP disassembler probably broken for several years. Need tests.
2019/06/15: Fix UNWIND-PROTECT when closure is made in from.
2019/06/15: Call olunwind as much as possible to unwind blocks.
2019/06/13: Normalize code protected by internal IGNORE-ERRORS forms.
2019/06/12: Improve olunwind to better check blocks it tries to unwind.
2019/06/11: Qualified port on NetBSD 8.1 (x86_64/i686) with gcc 5.5.0.
2019/06/10: Mark exited TAGBODY block as obsolete to fix GO cases from closure.
2019/06/09: Better document olevalgo.
2019/06/09: Add socket-multicast-loopback function.
2019/06/09: Add olprhexdump internal debug function.
2019/06/09: VMS terminal mode looks fully functional for OpenLisp REPL.
2019/06/09: Better check arguments passed to regexp functions. Add tests.
2019/06/08: Add more RETURN-FROM tests.
2019/06/07: Fix PROFILE_CORRECTION configure detection.
2019/06/05: Qualified port on FreeBSD 12.0 / clang 6.0.1 (x86_64/i586).
2019/06/03: Change version to 10.7.0 (beta).




Version 10.6.0



2019/06/06: Final release 10.5.0 with build 6277.
2019/06/03: Add more compiler tests (testcp.lsp).
2019/05/31: Restore the OpenVMS Alpha port using OpenVMS v8.4 and DEC C v7.3.
2019/05/29: Start integration of optional LTTng trace module.
2019/05/27: Switch to VC++ 2019 v16.1.1 for official builds.
2019/05/25: Fix a long-standing and complex TAGBODY bug.
2019/05/24: New -noinit argument launches OpenLisp w/o initial environnement.
2019/05/24: Normalize and optimize block unwind logic.
2019/05/19: Qualified port on MinGW / gcc 8.3 (x86_64/i686).
2019/05/18: Speedup TAGBODY when GO is called from current tagbody block.
2019/05/18: Add more TAGBODY stress tests.
2019/05/16: Complete rewrite of TAGBODY Special Form which fixes many bugs.
2019/05/05: Qualified port on Linux Fedora 30 / gcc 9.1.1 (x86_64/i686).
2019/05/05: Qualified port on Linux CentOS 7.x / gcc 9.1.0 (x86_64/i686).
2019/05/05: Fix gcc 9.1 warning on bignum negative index.
2019/05/04: Only allow symbol tags with TAGBODY when -islisp is set.
2019/04/27: Fix TAGBODY to allow consecutive tags.
2019/04/23: Evaluator checks more improper-list forms.
2019/04/22: Finally fix RETURN-FROM called from closure to exited BLOCK.
2019/04/17: Add support for SQLite 3.28.0.
2019/04/15: Add 'strict-islisp' feature when -islisp is passed to OpenLisp.
2019/04/12: Check that LET, LET* and DYNAMIC-LET binding forms are well formed.
2019/04/12: Check that SETF expand form is well formed.
2019/04/12: Check that RETURN-FROM is well formed.
2019/04/11: Float format supports '@' sign modifier when len is also supplied.
2019/04/11: Check that CATCH/THROW don't accept number or character if -islisp.
2019/04/11: Check that LET, LET* and DYNAMIC-LET bind only variables.
2019/04/11: FLOOR, CEILING, TRUNCATE, ROUND accept only one argument if -islisp.
2019/04/11: Better handle CREATE-ARRAY having 0 dimension size(s).
2019/04/10: Switch to VC++ 2019 v16.0.1 for official builds.
2019/04/09: Check that LET, LET* and DYNAMIC-LET have a variable block.
2019/04/09: Check that CATCH, BLOCK, TAGBODY are well formed expressions.
2019/04/08: Check that THE, ASSURE and CONVERT are well formed expressions.
2019/04/06: Add Tiny C socket support on Windows.
2019/04/06: Add more circlist tests.
2019/04/05: Compiled C backend standard lib was missing circlist.
2019/04/05: LLVM build use _ERRJMP flag to allow Ctrl-C handling on Windows.
2019/04/04: TinyCC builds use _ERRJMP flag to allow Ctrl-C handling on Windows.
2019/04/03: Switch to VC++ 2017 v15.9.11 for official builds.
2019/04/03: Improve APPEND when some lists are nil.
2019/03/30: Improve APPEND with more than 2 lists. Add more APPEND test cases.
2019/03/29: Fix profile-lap call in gabriel.lsp.
2019/03/27: No longer build i386 version on macOS Mojave.
2019/03/27: Fix MOD/DIV and comparisons LAP instructions that may call GC.
2019/03/26: Fix numeric LAP instructions that may call GC.
2019/03/25: Fix LAP too aggresive optimization.
2019/03/23: Qualified port on NetBSD 8.0 (x86_64/i686) with gcc 5.5.0.
2019/03/22: Change version to 10.6.0 (beta).




Version 10.5.0



2019/03/21: Final release 10.5.0 with build 6185.
2019/03/21: Full qualified port on Linux sparc64 Debian Buster / gcc 8.3.
2019/03/21: Add few more peephole optimizations.
2019/03/19: Generate Doxygen with HAVE_DOT = NO to reduce distribution size.
2019/03/19: Qualified port on Windows with clang 9.0.0 (x86_64).
2019/03/06: Switch to JDK 11.0.2.
2019/03/03: Optimize GEQN/GNEQN LAP with small integer constants.
2019/03/03: Optimize C backend when G[N]EQ is followed by JNIL/JTRUE.
2018/03/02: Qualified port on Linux Fedora 29 / gcc 8.3.0 (x86_64/i686).
2019/03/01: Fix comment warning detected by Doxygen 1.8.15.
2019/03/01: Add support for SQLite 3.27.2.0.
2019/02/27: Optimize some C backend instructions for known integer constants.
2019/02/23: Fix sign warning detected by clang on bignum kernel function.
2019/02/23: Build macOS using 10.0 as minimal target (e.g. Snow Leopard).
2019/02/22: Add experimental PGO support with clang on macOS.
2019/02/21: Update compile.lsp script to accept experimental -autolisp option.
2019/02/20: Copy float format string only if a padding has been added.
2019/02/20: Preserve maximal float precision in LAP and C generated code.
2019/02/20: Reset allocated registers before compiling an inner function.
2019/02/19: Peephole optimize GSET/GREF LAP instructions.
2019/02/19: Add system::set-alternate-reader function.
2019/02/15: Switch to VC++ 2017 v15.9.7 for official builds.
2019/02/15: Enviroment variable AUTOLISP allows ;| ... |; comments.
2019/02/15: Enviroment variable AUTOLISP controls how floats can end.
2019/02/15: Add an optional compiler preprocessor pass used by COMPILE-FILE.
2019/02/14: Compiler is executed using its local read table.
2019/02/13: Start to add different compiler Lisp semantic variations.
2019/02/11: Fix all -Wconversion warnings.
2019/02/09: Add -Wconversion when available.
2019/02/08: Add support for SQLite 3.27.0.0.
2019/02/06: Switch to VC++ 2017 v15.9.6 for official builds.
2019/01/29: Improve multiplication overflow detection.
2019/01/29: Fix overflow when makeking a bignum out of most negative integer.
2019/01/28: Fix overflow detection when printing *most-negative-boxed*.
2019/01/27: Fix wrong RANDOM computation on 64bits machines.
2019/01/16: Qualified port on MinGW / gcc 8.2 (x86_64/i686).
2019/01/16: Fix x64 SQLite when used with tcc. __faststorefence is missing.
2019/01/14: Qualified port on FreeBSD 12.0 / gcc 8.2 (x86_64/i586).
2019/01/04: Install html documentation.
2019/01/01: Compile tcc with SQLite.
2018/12/29: Fix Pelles C compiler version.
2018/12/28: Qualified port on MinGW / gcc 8.1 (x86_64/i686).
2018/12/20: No longer build DMC.
2018/12/20: Native Windows LLVM clang compiler is now part of standard builds.
2018/12/19: Modernize style and header of the C module generated code.
2018/12/19: Start to support native Windows with clang 8.0.0.
2018/12/18: No longer build Watcom and IBM VA.
2018/12/09: Prepare Pelles C 9.00 port.
2018/12/04: Add support for SQLite 3.26.0.0.
2018/11/28: Include bignum kernel files in Doxygen documentation.
2018/11/25: Doxygen is almost complete for C public API.
2018/11/24: Start to support Windows ARM64 native port.
2018/11/20: Switch to VC++ 2017 v15.9.2 for official builds.
2018/11/07: Start to generate Doxygen C API.
2018/11/05: Modernize C source style.
2018/11/05: Change version to 10.5.0 (beta).




Version 10.4.0



2018/11/04: Final release 10.4.0 with build 6109.
2018/11/04: Full qualified port on Linux sparc64 Debian Buster / gcc 8.2.
2018/11/04: Qualified port on Debian 8.9 (mips/mips64) gcc 4.9.2.
2018/11/03: Modernize C source style.
2018/11/02: Qualified port on Mac OS X 18.2.0 (i386/x86_64) with clang 10.0.
2018/11/01: Qualified port on Linux Fedora 29 / gcc 8.2.1 (x86_64/i686).
2018/10/28: Qualified port on CentOS 7.4 (Power9 with gcc 4.8.5).
2018/10/21: Qualified port on OpenBSD 6.4 (x86_64 with gcc 4.9.3/clang 6.0.0).
2018/10/09: Switch to VC++ 2017 v15.8.6 for official builds.
2018/08/26: Qualified port on Mac OS X 18.0.0 (i386/x86_64) with clang 10.0.
2018/09/19: Qualified port on Mac OS X 17.7.0 (i386/x86_64) with clang 10.0.
2018/09/18: Qualified port on Solaris 11 sparc with gcc 5.5.0 (-m64 & -m32).
2018/09/01: Switch to VC++ 2017 v15.8.2 for official builds.
2018/08/02: Qualified port on Mac OS X 17.7.0 (i386/x86_64) with clang 9.1.0.
2018/08/01: Qualified port on Solaris 10 sparc with gcc 8.2.0 (-m64 & -m32).
2018/08/01: Qualified port on Linux CentOS 7 / gcc 8.2.0 (x86_64/i686).
2018/06/09: Switch to VC++ 2017 v15.7.3 for official builds.
2018/05/28: Qualified port on Mac OS X 17.5.0 (i386/x86_64) with clang 9.1.0.
2018/05/04: Qualified port on Linux Fedora 28 / gcc 8.1.0 (x86_64/i686).
2018/05/04: Add support for gcc 8.1.
2018/04/15: Add support for SQLite 3.23.1.0.
2018/04/15: Fix too aggressive VC++ 2017 v15.6.5 error when compiling ctest.
2018/04/17: Qualified port on Mac OS X 17.5.0 (i386/x86_64) with clang 9.0.0.
2018/04/07: Switch to VC++ 2017 v15.6.5 for official builds.
2018/03/11: Qualified port on Mac OS X 17.4.0 (i386/x86_64) with clang 9.0.0.
2018/02/18: Qualified port on Linux Fedora 27 / gcc 7.3.0 (x86_64/i686).
2018/02/18: Fix wrong #if/#endif directives in physio.c
2018/01/14: Qualified port on Mac OS X 17.3.0 (i386/x86_64) with clang 9.0.0.
2018/01/14: Remove SIG_IGN warning on macOS.
2017/11/16: Qualified port on Linux Fedora 27 / gcc 7.2.0 (x86_64/i686).
2017/11/05: Java interface uses JDK 9.0 by default.
2017/10/27: Add support for SQLite 3.21.0.0.
2017/09/30: Qualified port on Mac OS X 17.0.0 (i386/x86_64) with clang 9.0.0.
2017/09/21: Qualified port on Mac OS X 16.7.0 (i386/x86_64) with clang 9.0.0.
2017/08/26: Add support for SQLite 3.20.1.0.
2016/08/18: Qualified port on Raspberry Pi3 (Debian Linux stretch gcc 6.2).
2017/08/18: Qualified port on Solaris 10 sparc with gcc 7.2.0 (-m64 & -m32).
2017/05/23: Add support for SQLite 3.19.0.0.
2017/05/06: Qualified port on Solaris 10 sparc with gcc 7.1.0 (-m64 & -m32).
2017/05/05: Qualified port on Linux x64 with gcc 7.1.0.
2017/04/02: BzRandom returns the same consecutive values on all systems.
2017/04/02: Switch to Cygwin 2.8.0 64bits and gcc 5.4.0 (x64).
2017/04/02: Fix potential bug in bignum random function.
2017/04/01: Add support for SQLite 3.18.0.0.
2017/03/29: Qualified port on Mac OS X 16.5.0 (i386/x86_64) with clang 8.1.0.
2017/03/11: Change version to 10.4.0 (beta).




Version 10.3.0



2017/03/05: Final release 10.3.0 with build 6075.
2017/03/05: Full qualified port on AIX 7.2 with gcc 6.1.0.
2017/03/05: Qualified port on Linux ppc64 (-m64) with gcc 4.9.2.
2017/03/05: Qualified port on OpenBSD 6.0 (i386 & x86_64 with gcc 4.9.3).
2017/01/03: Qualified port on Mac OS X 16.4.0 (i386/x86_64) with clang 8.0.0.
2017/02/12: Use TinyCC 0.9.25 whith -m32/-m64 Windows single binary.
2017/01/31: Switch to VC++ 2017 RC for official builds.
2017/01/12: Qualified port on Linux Fedora 25 / gcc 6.3.1 (x86_64/i686).
2016/12/25: Change copyright end year to 2017.
2016/12/18: Qualified port on Linux OpenSUSE / gcc 4.8.5 (aarch64).
2016/11/27: Qualified port on Linux Fedora 25 / gcc 6.2.1 (x86_64/i686).
2016/10/15: Qualified port on Linux Ubuntu / tcc (aarch64).
2016/10/15: Add support for SQLite 3.15.0.0.
2016/10/15: MOD-EXP was defined in wrong package (islisp), moved to openlisp.
2016/10/09: Qualified port on FreeBSD 11.0 / gcc 4.9.5 (x86).
2016/09/20: Remove "set blink-matching-delay 1" which is no more supported.
2016/09/17: Add support for SQLite 3.14.2.0.
2016/09/17: Fix TinyCC compilation in 32bit mode.
2016/09/10: Add missing makefile.tcc in standard distribution.
2016/09/05: Add contrib/prime-test.lsp based on Miller-Rabin algorithm.
2016/09/04: Add MOD-EXP (modular exponentation).
2016/09/03: Qualified port on OpenBSD 6.0 (i386 & x86_64 with gcc 4.9.1).
2016/09/01: Qualified port on OpenBSD 6.0 (i386 with gcc 4.2.1).
2016/08/27: Qualified port on Solaris 10 sparc with gcc 6.2.0 (-m64 & -m32).
2016/05/29: MAX array dimensions changed from 10 to 32.
2016/05/28: Check that array-dimention is not > 10.
2016/04/30: Qualified port on Solaris 10 sparc with gcc 6.1.0 (-m64 & -m32).
2016/04/29: Qualified port on Linux x86_64 with gcc 6.1.0.
2016/04/21: Qualified port on Linux mips EL (-mabi=32/-mabi=64) with gcc 4.9.2.
2016/04/20: Optimize bignum to string conversion (never move on top of buffer).
2016/04/19: Add support for SQLite 3.12.2.0.
2016/04/15: Qualified port on Linux ppc64 (-m32/-m64) with gcc 4.8.3.
2016/04/15: Qualified port on Linux mips BE (-mabi=32/-mabi=64) with gcc 4.6.3.
2016/04/09: Minor optim in olxquo.
2016/02/09: Add support for SQLite 3.12.1.0.
2016/04/05: Switch to VC++ 2015 Update 2 for official builds.
2016/03/20: Try to use clock_gettime on POSIX systems to get olsystime.
2016/03/18: Qualified port on FreeBSD 11.0 / clang 3.7.1 (armv6).
2016/03/07: Qualified port on Raspberry Pi3 (Debian Linux gcc 4.9.2).
2016/02/06: Link samples with -Wl,-Bstatic when gcc is used.
2016/02/06: Add support for SQLite 3.11.1.0.
2016/01/21: Cygwin 2.4.1 64bits uses PGO.
2016/01/21: Switch to Cygwin 2.4.1 64bits and gcc 5.3.0 (x64).
2016/01/21: Add support for SQLite 3.11.0.0.
2016/02/06: Switch to VC++ 2015 Update 1 for official builds.
2016/01/24: Add support for SQLite 3.10.2.0.
2016/01/24: Dramatically improve (ash 1 n) for bignums (computed now in O(1)).
2015/11/29: Qualified port on Linux Ubuntu / gcc 5.3.0 (aarch64).
2015/12/19: Qualified port on Linux Fedora 23 / gcc 5.3.1 (x86_64/i686).
2015/10/25: Full qualified port on AIX 7.1 with gcc 4.8.3.
2015/10/24: Qualified port on NetBSD 7.0 (x86_64) with gcc 4.8.4.
2015/10/24: Add sysinfo-endianness.
2015/10/24: Qualified port on OpenBSD 5.8 (x86_64 + PGO) with egcc 4.9.3.
2015/10/23: Qualified port on Linux Ubuntu / gcc 4.8.4 (aarch64).
2015/10/15: Add support for SQLite 3.9.0.0.
2015/10/09: Fix potential buffer overflow when olstrcmp is used.
2015/10/04: Qualified port on OpenBSD 5.7 (x86_64 + PGO) with gcc 4.2.1.
2015/09/28: Qualified port on Raspberry Pi/Pi2 (Debian Linux gcc 4.9.2).
2015/09/28: Compile with PGO on powerpc64le.
2015/09/27: Qualified port on MinGW / gcc 5.2 (x86_64/i686).
2015/09/27: Remove Borland C++ from list of supported compilers.
2015/09/27: Change version to 10.3.0 (beta).




Version 10.2.0



2015/09/27: Final release 10.2.0 with build 6004.
2015/09/26: Qualified port on Linux Fedora 21 / gcc 4.9.2 (powerpc64le).
2015/09/26: Full qualified port on AIX 7.1 with gcc 4.8.1.
2015/08/22: Switch to VC++ 2015 for official builds.
2015/08/05: Add support for SQLite 3.8.11.1.
2015/08/04: Qualified port on Solaris 10 sparc with gcc 5.2.0 (-m64 & -m32).
2015/07/15: Improve olclearpage speed using different methods.
2015/07/05: Fix few more warnings detected by MSVC 2015 RC1.
2015/06/14: Qualified port on MinGW / gcc 5.1 (x86_64/i686).
2015/06/13: Fix few new warnings detected by MSVC 2015 RC1.
2015/06/10: Qualified port on FreeBSD 10.1 / clang 3.4.1 (armv6).
2015/05/30: Qualified port on Linux Fedora 22 / gcc 5.1.1 (x86_64/i686).
2015/05/09: Fix 'Dereference of null pointer' that could happen in rare cases.
2015/05/08: Add support for SQLite 3.8.10.0.
2015/05/03: Qualified port on Solaris 10 sparc with gcc 5.1.0 (-m64 & -m32).
2015/04/23: Qualified port on Linux RHEL 6.x / gcc 5.1.0 (x86_64/i686).
2015/03/21: Fix Windows 10 detection with VC++ using mt.
2015/03/20: Qualified port on Raspberry Pi2 (ARM7L Debian Linux gcc 4.8.2).
2015/02/28: Add support for SQLite 3.8.8.3.
2015/01/31: Add support for SQLite 3.8.8.2.
2015/01/17: Add support for SQLite 3.8.8.0.
2015/01/14: Use new olmemset macro to initialize string.
2015/01/05: Also use PGO with LAP on Windows.
2015/01/04: Use PGO to compile Windows standard builds.
2015/01/04: Fix a bug on Windows when olpageref was called with an int (32bit).
2015/01/03: Qualified port on NetBSD 6.1.5 (x86_64) with gcc 4.5.3.
2014/12/12: Add support for SQLite 3.8.7.4.
2014/12/11: Qualified port on Linux Fedora 21 / gcc 4.9.2 (x86_64/i686).
2014/12/07: Change copyright end date to 2015.
2014/12/07: Replace few olfix() by new macro olint() that avoids function call.
2014/12/07: Add support for SQLite 3.8.7.2.
2014/11/19: Fix core dump when -e command line expression contains (quit).
2014/11/15: Speedup GC when clearing page mark bits.
2014/11/08: Bignum lib tested with -fsanitize=address and -fsanitize=undefined.
2014/11/06: Add support for SQLite 3.8.7.1.
2014/11/02: Qualified port on MinGW / gcc 4.9.2 (x86_64/i686).
2014/11/01: Qualified port on Solaris 10 sparc with gcc 4.9.2 (-m64 & -m32).
2014/11/01: Qualified port on Linux Debian / gcc 4.9.2 (x86_64).
2014/10/18: Add support for SQLite 3.8.7.0.
2014/10/12: Fix few new warnings detected with MSVC 2013 on GUI Windows part.
2014/10/12: Fix wrong string conversion with UNICODE version of stack.c.
2014/10/12: Switch to MSVC 2013.
2014/10/05: SYSTEM-INFO correctly detects 'Windows 8.1' and above.
2014/10/05: Use VerifyVersionInfo to find real Windows version.
2014/09/13: Support PGO with MSVC 2013 (i386 and x64).
2014/09/13: Fix ntterm.c MSVC Warning detected by 2013 version.
2014/09/07: Remove restrict declaration in olallocrawlist that hangs on VS 2013.
2014/09/01: Change version to 10.2.0 (beta).




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 MSVC 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 MSVC 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 MSVC 2011 -analyze option.
2011/09/20: Add support for Windows 8 ARM (MSVC 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: Ensure 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 MSVC 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: Ensure 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 MSVC 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 MSVC .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 MSVC.
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: Ensure 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 MSVC 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 MSVC 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 MSVC 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 MSVC 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).