Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

GNU CLISP 2.30 release

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
<http://sourceforge.net/projects/libsigsegv>
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.

* SOCKET:SOCKET-ACCEPT and SOCKET:SOCKET-CONNECT now accept a :TIMEOUT
keyword argument.
See <http://clisp.cons.org/impnotes.html#timeout-k> for details.

* SAVEINITMEM now accepts :START-PACKAGE, :VERBOSE, and :LOCKED-PACKAGES
keyword arguments.
See <http://clisp.cons.org/impnotes.html#image> for details.

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

* CUSTOM:*SOURCE-FILE-TYPES* and CUSTOM:*COMPILED-FILE-TYPES*
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.

* Type COMPLEX now correctly uses UPGRADED-COMPLEX-PART-TYPE.

* 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
(MAKE-ENCODING :CHARSET CHARSET:UNICODE-32-LITTLE-ENDIAN
: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.

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

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

Posted by Sam Steingold 2002-09-17