GNU CLISP 2.49 (2010-07-07) released

ANSI Common Lisp is a high-level, general-purpose programming language.
GNU CLISP is a Common Lisp implementation by Bruno Haible of Karlsruhe
University and Michael Stoll of Munich University, both in Germany.
It conforms to the ANSI Common Lisp standard, and offers many extensions.
It runs on most GNU and Unix systems (GNU/Linux, GNU/Hurd, FreeBSD, NetBSD,
OpenBSD, Solaris, Tru64, HP-UX, BeOS, IRIX, AIX, Mac OS X and others)
and on other systems (Windows NT/2000/XP/Vista, Windows 95/98/ME)
and needs only 4 MB of RAM.
It is Free Software and may be distributed under the terms of GNU GPL,
while it is possible to distribute commercial proprietary applications
compiled with GNU CLISP.
The user interface comes in English, German, French, Spanish, Dutch,
Russian and Danish, and can be changed during run time.
GNU CLISP includes an interpreter, a compiler, a debugger, CLOS, MOP,
a foreign language interface, a socket interface, i18n, fast bignums,
arbitrary precision floats and more.
An X11 interface is available through CLX, Garnet, CLUE/CLIO.
GNU CLISP runs Maxima, ACL2 and many other Common Lisp packages.

More information at
<> and
Sources and selected binaries are available by anonymous ftp from
and its mirrors.

2.49 (2010-07-07)

User visible changes

* New command line option -disable-readline lets working around bugs and
incompatibilities between readline CLISP was built against and the
library actually installed.
See <> for details.

* FFI:OPEN-FOREIGN-LIBRARY now accepts the :REQUIRE argument.
See <> for details.

* New user variable CUSTOM:*USER-LIB-DIRECTORY* is respected by REQUIRE
and used by "clisp-link install".
Dynamic modules are now the default build option.
See <> and
<> for details.

* Function RENAME-FILE now accepts :IF-EXISTS argument which determines
the action when the destination exists, unless, of course, *ANSI* is T.
See <> for details.

* The replacement value entered by the user in STORE-VALUE and USE-VALUE
restarts is now EVALuated.

* The old user variable CUSTOM:*PRINT-CLOSURE* now controls interpreted
closure output too (RFE#3001956). This is a tricky feature, read up!
See <>.

* Module readline now supports readline 6.1.
(Older versions are, of course, still supported).
See <> for details.

* Module pcre now supports pcre 8.01.
(Older versions are, of course, still supported).
See <> for details.

* Module libsvm does not come with the upstream sources anymore, install
locally and pass --with-libsvm-prefix to the top-level configure instead.
All upstream versions up to 2.91 are supported.
See <> for details.

* Module berkeley-db now supports Berkeley-DB 4.8.
(Older versions are, of course, still supported).
See <> for details.

* Module postgresql now supports PostgreSQL 8.4.
(Older versions are, of course, still supported).
See <> for details.

* Module pari has been updated to support both 64 & 32 bit platforms
with and without GMP.
See <> for details.

* New functions OS:VERSION-COMPARE et al call strverscmp.
See <> for details.

* Bug fixes:
+ Do not eliminate function calls which are advertised to have
exceptional situation in unsafe code (bug#2868166).
+ Fix an internal error in DECLAIM on bad OPTIMIZE quality (bug#2868147).
+ CLEAR-INPUT now clears the EOF condition on file streams (bug#2902716).
+ When quitting on a signal, never enter the debugger (bug#2795278).
+ Respect :FULL T in DIRECTORY :WILD-INFERIORS (bug#3009966).
+ Handle TWO-WAY-STREAM and ECHO-STREAM correctly by
+ Fix unbuffered output pipe stream initialization (bug#3024887).

* ANSI compliance:
+ Implement the ANSI issue COMPILER-DIAGNOSTICS:USE-HANDLER: use the
CL Condition System for compiler diagnostics.
because nothing can be read from such streams (bug#3014921).

Posted by Sam Steingold 2010-07-07