A new version of CLISP - an ANSI Common Lisp implementation - has just been released.
Please visit our homepage to download the sources and some selected binaries.
* The default extension of Lisp source files for CLISP is now ".lisp" instead
of ".lsp". When both "foo.lisp" and "foo.lsp" exist, (LOAD "foo") will load
* Changed bytecode format. All .fas files generated by previous CLISP versions
are invalid and must be recompiled.
User visible changes
* A new version numbering scheme is adopted.
* If an error is signalled by a form supplied with the command-line
option "-x", CLISP now exits with a non-zero status.
* The pretty-printer does not print hanging parenthesis by default now.
*PRINT-RPARS* now defaults to NIL and *PRINT-INDENT-LISTS* to 1, so
that the lists are printed like in CLHS and CLtL.
* New extension: directory access (win32 registry). See impnotes for details.
* Support UNC pathnames (\\host\dir\name.ext) on win32.
* Support the SCREEN package on Win32. Thanks to Arseny Slobodjuck.
* New functions CONVERT-STRING-FROM-BYTES and CONVERT-STRING-TO-BYTES.
* Support for non-blocking binary I/O.
New functions READ-BYTE-LOOKAHEAD, READ-BYTE-WILL-HANG-P, READ-BYTE-NO-HANG.
New generic functions STREAM-READ-BYTE-LOOKAHEAD,
* CONCATENATED-STREAM-STREAMS now returns only the remaining streams,
as per ANSI CL spec.
* Implemented ANSI CL function INSPECT,
and a function LISP:CLHS for access of Common Lisp HyperSpec.
* Characters have now the same names as in Unicode 3.0, with space replaced
* ANSI CL compliance: CALL-NEXT-METHOD and NEXT-METHOD-P are now implemented
as local functions, not local macros. It is now possible to call
(APPLY #'CALL-NEXT-METHOD argument-list-of-unknown-length).
* ANSI CL compliance: LOAD has a new keyword argument :EXTERNAL-FORMAT.
* ANSI CL compliance: When an end-of-stream occurs, READ, READ-CHAR, PEEK-CHAR,
READ-CHAR-NO-HANG, READ-LINE, READ-BYTE, READ-INTEGER, READ-FLOAT, called
with arguments eof-error-p = NIL and without eof-value, now return NIL
instead of #<END OF FILE>.
* ANSI CL compliance: When LISP:*PARSE-NAMESTRING-ANSI* is non-NIL,
PARSE-NAMESTRING parses strings with colons as logical pathnames.
* New supported character sets in package CHARSET: GB18030, BIG5HKSCS.
* Arguments passed to MAKE-PATHNAME with value NIL are not overridden by
pathname slots in the :DEFAULTS argument any more.
* STREAM-ELEMENT-TYPE of a TWO-AWY-STREAM or an ECHO-STREAM now depends on
the stream's constituents. Previously, it was always (OR CHARACTER INTEGER).
* Fixed a bug: REPLACE signalled an error if the source and destination
sequences were the same and the source and destination ranges didn't overlap.
* Fixed a bug: A garbage collection during the execution of a foreign function
callback caused a crash.
* Fixed a bug: Calling READ-LINE on a stream already positioned at EOF caused
a crash on 64-bit platforms.
* Fixed a bug: For long-floats, (EQL x (- x)) returned true.
* Fixed a bug: OPEN now returns NIL when the filename's directory does not
exist and :IF-DOES-NOT-EXIST NIL was specified. Previously, an error was
signalled except when :DIRECTION was :PROBE.
* Fixed a bug: (subtypep 'fundamental-stream 'stream) returned NIL.
* Added support for IA-64 running Linux.
* Added support for BeOS 5. Thanks to Alexis Rivera Rios <firstname.lastname@example.org>.
* Removed support for DOS. Don't worry, OS/2 and Win32 are still supported.