Release Digest: GNU, September 17, 2002


GNU CLISP 2.30 is now available at
please ask questions about CLISP on <clisp-list@lists.sourceforge.net>.
if you would like to contribute to CLISP development, please subscribe
to <clisp-devel@lists.sourceforge.net> and send patches there.

CLISP Common Lisp Summary

Common Lisp is a high-level, all-purpose, object-oriented, dynamic,
functional programming language.

CLISP is a Common Lisp implementation by Bruno Haible of Karlsruhe
University and Michael Stoll of Munich University, both in Germany.
It mostly supports the Lisp described in the ANSI Common Lisp standard.

CLISP includes an interpreter, a compiler, a debugger, most of CLOS,
a foreign language interface and a socket interface &c.
An X11 interface is available through CLX and Garnet.
Command line editing is provided by GNU ReadLine.

CLISP runs on microcomputers (OS/2, Windows 95/98/2000/NT, Amiga
500-4000, Acorn RISC PC) as well as on Unix workstations (GNU/Linux,
BSD, SVR4, Sun4, DEC Alpha OSF, HP-UX, NeXTstep, SGI, AIX, Sun3 and
others) and needs only 2 MB of RAM.

CLISP is Free Software and may be distributed under the terms of GNU
GPL. You may distribute commercial applications compiled with CLISP, see
file COPYRIGHT in the CLISP distribution.

The user interface comes in German, English, French, Spanish, Dutch and
Russian, and can be changed during run time.

2.30 (2002-09-15)

User visible changes

* CLISP does not come with GNU libiconv anymore.  The most important
  encodings are built-in anyway, and CLISP can use the GNU libc 2.2
  iconv and a GNU libiconv when it is independently installed.

* CLISP does not come with GNU gettext anymore.  This is a separate
  package and should be installed separately, if you wish to use i18n.

* CLISP does not come with GNU readline anymore, because, starting with
  version 4.3, readline supports multibyte characters out of the box.
* CLISP does not come with GNU libsigsegv anymore.  This means that in
  certain cases of infinite recursion, the C stack overflow will not be
  properly detected and will result in a segfault instead of an error.
  You are urged to download and install GNU libsigsegv from
  <ftp://ftp.gnu.org/pub/gnu/libsigsegv/> or
  before configuring CLISP.

* Strings can now hold UCS-4 characters, instead of only UCS-2 characters.
  CHAR-CODE-LIMIT increased from 65536 to 1114112.

* Added a new module - "oracle": an interface to the Oracle ODBMS.
  Thanks to John K. Hinsdale <hin@alma.com>.

* New user variable CUSTOM:PARSE-NAMESTRING-DOT-FILE controls
  how the file names starting with a dot are parsed.
  By default, it is set to :NAME in config.lisp,
  so #P".clisprc" is now #S(PATHNAME :NAME ".clisprc").
  To get the old result of #S(PATHNAME :TYPE "clisprc"),
  set this variable to :TYPE.
  This is an incompatible change.
  See <http://clisp.cons.org/impnotes.html#name-type-split>; for details.

* New user variable CUSTOM:TRACE-INDENT controls TRACE output indentation.
  See <http://clisp.cons.org/impnotes.html#trace>; for details.

  keyword argument.
  See <http://clisp.cons.org/impnotes.html#timeout-k>; for details.

  keyword arguments.
  See <http://clisp.cons.org/impnotes.html#image>; for details.

* You can now shutdown a socket for input or output separately
  See <http://clisp.cons.org/impnotes.html#sost-shut>; for details.

  now contain strings, not pathnames.
  See <http://clisp.cons.org/impnotes.html#loadfile>; for details.

* EXT:GETENV now returns all of the OS environment as an alist
  when its argument is omitted or NIL.
  See <http://clisp.cons.org/impnotes.html#getenv>; for details.

* When configured with --with-export-syscalls,
  several new functions are available:
   POSIX:STREAM-LOCK provides an interface to flock(2);
   POSIX:COPY-FILE provides an interface to link(2)/symlink(2)/rename(2),
     (in addition to the usual file copy);
   POSIX:DUPLICATE-HANDLE provides an interface to dup(2)/dup2(2).
  Thanks to Marco Baringer for COPY-FILE and DUPLICATE-HANDLE.
  See <http://clisp.cons.org/impnotes.html#syscalls>; for details.

* You can now control the CLISP exit code better by passing a
  non-negative integer to EXT:EXIT.
  See <http://clisp.cons.org/impnotes.html#quit>; for details.

* Russian translations of the user interface messages have been added.
  Thanks to Arseny Slobodjuck <ampy@ich.dvo.ru>.

* When built with readline, CLISP will DESCRIBE the current function
  when you hit TAB after a #Space.

* MAKE-ENCODING now checks whether the iconv charset is valid, and
  signals an error if it is invalid unless given the :IF-DOES-NOT-EXIST
  NIL argument.

* New debugger command Quit (:q) aborts to the top-level read-eval-print
  loop immediately, saving you typing :a several times.

* When CUSTOM:PARSE-NAMESTRING-ANSI is non-NIL, do not accept symbols
  as pathname designators.
  See <http://clisp.cons.org/impnotes.html#filename-dict>; for details.

* COMPILE-FILE no longer clobbers an existing *.c file when the Lisp
  file being compiled does not contain any FFI forms.
  See <http://clisp.cons.org/impnotes.html#compilefile>; for details.


* Improved accuracy of some transcendental functions, e.g., now
  (EXPT -5.0 2.0) return #C(25.0 0.0).

* Fixed a bug: Conversion from bytes to string did not work for the encoding
                 :INPUT-ERROR-ACTION :IGNORE).

* Fixed a bug in compiling duplicate keyword arguments.

* Fixed the (destructuring-bind (&key (x x)) ...) bug.

* Wide-mode -W backward compatibility option is now gone
  (defunct since 1998-09-09).  This permits colons in memory image file
  names (necessary on Cygwin).

* CLISP on Cygwin now understands native pathnames like "c:/gnu/clisp/"
  by translating them internally to "/cygdrive/c/gnu/clisp/".
  CLISP on Win32 now understands Cygwin pathnames like "/cygdrive/c/gnu/clisp/"
  by translating them internally to "c:/gnu/clisp/".
  You can disable this by setting CUSTOM:DEVICE-PREFIX to NIL.
  See <http://clisp.cons.org/impnotes.html#device-prefix>; for details.

* Readline is now used properly on Cygwin.

* DIR-KEY now works on Cygwin.


* CLISP now works on SPARC/Linux with glibc 2.2 when built with SAFETY=3.

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis