Subject: New version of old CLISP

From: haible (Bruno Haible)
Date: Tue, 23 Aug 94 15:55:50 +0200

A new version of my current personal source of CLISP is at the usual place, in
ma2s2.mathematik.uni-karlsruhe.de:/pub/lisp/clisp/source-haible/clispsrc.tar.z.

Change log since 4 July 1994:

23 August 1994
==============

User visible changes
--------------------

* X3J13 vote <64> is implemented: New macro DESTRUCTURING-BIND.

* The function ED can now edit functions that have been entered in
  interpreted form even if they have later been compiled.

* New function UNCOMPILE. (UNCOMPILE function-name) undoes the effect of
  (COMPILE function-name) if the function's definition had been entered
  in interpreted form.

* The OPEN option :IF-EXISTS :RENAME-AND-DELETE now deletes the renamed
  file. Previously :RENAME-AND-DELETE was equivalent to :RENAME.

* (LISP-IMPLEMENTATION-VERSION) returns a more precise version string.

* Readline library: Completion of a function call with no arguments
  automatically adds the closing parenthesis.

* Readline library: When a closing parenthesis is typed, the corresponding
  opening parenthesis is displayed.

Portability
-----------

* Added support for Convex. Thanks to Marcus Daniels.

* Added support for SCO. Thanks to Cathy Bareiss and Marcus Daniels.

* More NeXTstep support.

* More Sinix support. Thanks to Manfred Weichel.

* Updated support for AmigaOS. Thanks to Jörg Höhle.

* Some modification for the sake of gcc-2.6.

* Added GNU malloc. For HP-UX.

* Added a bunch of character set conversion utilities. Covers the ASCII,
  ISO Latin-1, IBM PC, HP Roman8, NeXTstep and Atari ST character sets.

* The `configure' script now prints its results.

* Floating point computations on some CPUs (Sparc, HP-PA, M88000, RS/6000):
  Fixed some confusion between overflow and NaN and between underflow and zero.

* Removed support for Atari Turbo-C (now known as PURE-C).

Other modifications
-------------------

* Copyright clarification.

* Generational garbage collection. This works only for Unix implementations
  with powerful virtual memory management, currently only SunOS.

* Improved virtual memory efficiency:
  - Memory model SPVW_PAGES: don't put a piece of management data into
    every page.
  - Memory model SPVW_BLOCKS: compact conses, don't shuffle them, so that
    they are kept sorted according to their age.
  - Memory model SPVW_PURE_BLOCKS: pages containing garbage are
    immediately freed.

* Unix version only: To reduce the startup time, try to use mmap() instead
  of read() for the startup file.

* Added a readline manual page.

* Miscellaneous documentation updates.

Be forewarned that the generational garbage collection may not work on
various Unix systems. I have tested it on SunOS 4 and 5, it does not
work on unmodified Linux and may uncover operating system bugs on other
systems. Please tell me about your experiences.

                    Bruno Haible
                    [email-masked]