Subject: New version of CLISP

From: haible (Bruno Haible)
Date: Fri, 23 Jun 95 23:22:07 +0200

A new version of CLISP is at the usual place, in
ma2s2.mathematik.uni-karlsruhe.de:/pub/lisp/clisp/source/.

Full source is in the files clispsrc-*.tar.z, context diffs since the last
release are in the file clispsrc-1995-04-25-to-1995-06-23.tar.z.

Change log since 25 April 1995:

23 June 1995
============

Important note
--------------

* Changed bytecode format. All .fas files generated by previous CLISP versions
  are invalid and must be recompiled.

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

* X3J13 vote <106> is implemented: LAST has an optional argument. Thanks to
  Pierpaolo Bernardi.

* X3J13 vote <87> is implemented: New function COMPLEMENT. Thanks to Pierpaolo
  Bernardi.

* X3J13 vote <40> is partially implemented: New macro WITH-STANDARD-IO-SYNTAX.
  Thanks to Pierpaolo Bernardi.

* X3J13 vote <98> is partially implemented: New macro WITH-HASH-TABLE-ITERATOR.
  Thanks to Pierpaolo Bernardi.

* X3J13 vote <97> is implemented: New functions HASH-TABLE-REHASH-SIZE,
  HASH-TABLE-REHASH-THRESHOLD, HASH-TABLE-SIZE, HASH-TABLE-TEST.
  Thanks to Pierpaolo Bernardi.

* X3J13 votes <69> and <70> are implemented: New declaration DYNAMIC-EXTENT.

* The dpANS macro LAMBDA is implemented.

* The dpANS declaration IGNORABLE is implemented.

* The dpANS function CONSTANTLY is implemented. Thanks to Pierpaolo Bernardi.

* Better syntax checking for the CASE macro. Thanks to Pierpaolo Bernardi.

* The user interface language may be chosen through the environment variable
  LANG as well.

* The pretty printer now indents lists spanning more than one line by two
  spaces, instead of one. New variable *PRINT-INDENT-LISTS*.

* *PRINT-PRETTY* is now initially T.

* Foreign function interface: New foreign type constructor FFI:C-ARRAY-MAX,
  implements zero-terminated arrays of bounded size.

* On Unix, 8-bit characters are legal in pathnames if the operating system
  accepts them.

* On DOS, #\Newline is converted to CR/LF when doing character output to
  unbuffered file streams (referring to special files).

* Fixed a bug in the interpreter and compiler: A MULTIPLE-VALUE-SETQ form
  which assigns to a symbol macro expanded to a wrong form; compiling it
  produced a warning. Thanks to Pierpaolo Bernardi.

* Fixed a bug in the compiler: Some CASE form with duplicate keys, when
  compiled, chose the wrong clause to be executed. Thanks to Pierpaolo
  Bernardi.

* Fixed a bug in the #+/#- reader macros. (LIST #+FOO #-BAR 1 2 3) now returns
  (2 3), not (3).

* Fixed a bug in LOG: (LOG x^n x^m), where n, m are integers, |m| > 1, and
  x is a rational number /= 1, now correctly returns n/m. Previously,
  (LOG 2 4) returned 1/0.

* Fixed a CLOS bug: Using the :DOCUMENTATION option in DEFGENERIC declarations
  for function names of the form (SETF symbol) signalled an error. Thanks to
  Pierpaolo Bernardi.

* Fixed a bug in DEFSETF: An IGNORE declaration for the store variable had
  no effect. Thanks to Pierpaolo Bernardi.

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

* Added support for Linux/ELF. Thanks to Marcus Daniels.

* Added support for Solaris/x86. Thanks to Marty Shannon.

* On Solaris, LISTEN and READ-CHAR-NO-HANG did not work on the terminal stream
  if standard input was redirected to come from a file.

* On OS/2, consider the virtual directory \PIPE\ as existent.

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

* A couple of bug fixes and new functions in the STDWIN package. Thanks to
  Pierpaolo Bernardi.

* The structure of external modules has changed a bit.

* Miscellaneous documentation updates.

There is a new set of binaries for Linux, containing two linking sets:
a "base" linking set -- just the well-known functionality, with FFI,
a "full" linking set -- including a wildcard package, a regular expression
                        matching package and an operating system interface
                        (direct access to many C library functions).

                    Bruno Haible
                    [email-masked]