[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
New CLISP version
- To: clisp-list@ma2s2.mathematik.uni-karlsruhe.de
- Subject: New CLISP version
- From: haible (Bruno Haible)
- Date: Fri, 7 Jan 94 19:25:59 +0100
- Cc: AI.Repository@cs.cmu.edu, friedman@gnu.ai.mit.edu
Once more, there is a new version of CLISP at the usual place:
ma2s2.mathematik.uni-karlsruhe.de:/pub/lisp/clisp/source .
Excerpt from the change log:
Important note
--------------
* Changed bytecode format. All .fas files generated by previous CLISP versions
are invalid and must be recompiled.
User visible changes
--------------------
* X3J13 votes <186> and <31> are implemented: the Common Lisp Condition System.
New macros
DEFINE-CONDITION, IGNORE-ERRORS, HANDLER-CASE, HANDLER-BIND,
RESTART-CASE, WITH-RESTARTS, WITH-SIMPLE-RESTART, RESTART-BIND,
WITH-CONDITION-RESTARTS,
new types
RESTART, CONDITION, SERIOUS-CONDITION, ERROR, PROGRAM-ERROR, CONTROL-ERROR,
ARITHMETIC-ERROR, DIVISION-BY-ZERO, FLOATING-POINT-OVERFLOW,
FLOATING-POINT-UNDERFLOW, CELL-ERROR, UNBOUND-VARIABLE, UNDEFINED-FUNCTION,
TYPE-ERROR, PACKAGE-ERROR, STREAM-ERROR, END-OF-FILE, FILE-ERROR,
STORAGE-CONDITION, WARNING,
SIMPLE-CONDITION, SIMPLE-ERROR, SIMPLE-TYPE-ERROR, SIMPLE-WARNING,
new functions
MAKE-CONDITION, SIGNAL, COMPUTE-RESTARTS, FIND-RESTART, INVOKE-RESTART,
INVOKE-RESTART-INTERACTIVELY, ABORT, CONTINUE, MUFFLE-WARNING, STORE-VALUE,
USE-VALUE, INVOKE-DEBUGGER, RESTART-NAME,
ARITHMETIC-ERROR-OPERATION, ARITHMETIC-ERROR-OPERANDS, CELL-ERROR-NAME,
TYPE-ERROR-DATUM, TYPE-ERROR-EXPECTED-TYPE, PACKAGE-ERROR-PACKAGE,
STREAM-ERROR-STREAM, FILE-ERROR-PATHNAME, SIMPLE-CONDITION-FORMAT-STRING,
SIMPLE-CONDITION-FORMAT-ARGUMENTS,
new variables
*BREAK-ON-SIGNALS*, *DEBUGGER-HOOK*.
See impnotes.txt for details. Thanks to David Gadbois who wrote most of this.
* X3J13 vote <40> is partially implemented: New variable *PRINT-READABLY*.
* X3J13 vote <34> is implemented: Arrays and packages may now appear as
constants in compiled code.
* X3J13 vote <90> is implemented: FUNCTIONP on symbols and conses now always
returns NIL. The type FUNCTION is disjoint from SYMBOL and CONS.
(COERCE object 'FUNCTION) is implemented.
Warning: Old style calls like
(FUNCTIONP object)
may need to be converted to
(OR (FUNCTIONP object)
(SYMBOLP object)
(AND (CONSP object) (EQ (CAR object) 'LAMBDA))
)
This fixes a CLOS bug: (TYPEP object 'FUNCTION) wasn't equivalent to
(TYPEP object (FIND-CLASS 'FUNCTION)).
* Two new debugger commands Break+ and Break- permit to set resp. remove
breakpoints at specified EVAL or APPLY frames.
* Warnings and errors produced by COMPILE-FILE are now accompanied by
source line number information.
* The sub-char passed as second argument to read dispatch macros is now
exactly the first non-digit read from the stream. Previously it was its
upper-case equivalent.
* DEFPACKAGE now accepts an option (:DOCUMENTATION doctring).
* DIRECTORY now accepts a keyword argument :CIRCLE. If it is non-NIL,
the directory search for ".../" and "**/" wildcards on Unix avoids endless
loops that may result from symbolic links.
* The variable *LOAD-PATHS* in the Unix versions of config.lsp now uses
"~/" (the home directory at run time) instead of #"~/" (the home directory
at installation time). Thanks to Gabor Herr.
* Unix and OS/2 versions: New dangerous functions MAKE-PIPE-IO-STREAM,
RUN-SHELL-COMMAND and RUN-PROGRAM.
* Unix version only:
The command shell used by MAKE-PIPE-...-STREAM is now always /bin/sh; the
environment variable SHELL is only used as interactive shell.
Fixed a race condition in the functions EXECUTE, MAKE-PIPE-INPUT-STREAM,
MAKE-PIPE-OUTPUT-STREAM that caused the child process to fail mysteriously.
* Attacks such as (DO-ALL-SYMBOLS (S) (UNLESS (CONSTANTP S) (SET S NIL)))
no longer crash CLISP.
* Fixed a CLOS bug: DEFCLASS failed to signal an error if several direct slots
had identical names.
* Fixed a bug in the reader: When reading hash tables which contain #n#
references, the hash codes must be recomputed after resolving the
references. Thanks to Marcus Daniels.
* Fixed a bug in the printer: Printed representations with two different
#1= definitions could result when PRINT-OBJECT methods were called while
*PRINT-CIRCLE* was true. Thanks to Marcus Daniels.
Portability
-----------
* Fixed five bugs in the number crunching routines that appeared on
64-bit processors or in combination with the WIDE tagging scheme.
* More support for 64-bit processors like DEC Alpha.
* Added support for NeXT running NeXTstep 3.1. Thanks to Marcus Daniels.
* Added support for Amiga 3000 running AMIX Unix. Thanks to Michel Loi.
* Fixed a problem with Ctrl-C on HP-UX. Thanks to Gabor Herr.
* Added support for HP9000/300 running HP-UX. Thanks to Gabor Herr.
* Added support for WATCOM C 9.5 on DOS.
* Amiga version: Tolerate memory outside the 27-bit addressable range.
* Remove support for the Atari ST assembly language version CLISP1.
Other modifications
-------------------
* Added some documentation of the GNU readline library.
* Changed the default memory size back from 2.5 megabytes to 2 megabytes.
* Miscellaneous documentation updates.
CLISP now compiles and runs on
* microcomputers:
* Atari ST/TT
* Amiga 500-4000
* DOS
* MS Windows 3.1
* OS/2 2.0
* Unix workstations:
* PC, Linux
* PC, USL SVR4
* Sun4, SunOS 4 or 5
* HP9000/800, HP-UX
* SGI Mips, Irix 4 or 5
* DEC Alpha AXP, OSF 1.3
* DECstation 5000, Ultrix 4.2
* IBM RS/6000, AIX 3.2
* M88000
* Sun386, SunOS 4
* Sun3, SunOS 4 (?)
* HP9000/300, HP-UX or NetBSD
* Apple MacII, A/UX (?)
* Amiga 3000, Amiga Unix 2.1
* NeXT, NeXTstep 3.1
* PC, 386BSD or NetBSD
* PC, Coherent 4.0
* Atari ST/TT, MiNT (?)
New binaries have been built for:
Sun4, SunOS 5.2 982055 Dec 3 sun4-sunos52/clisp.tar.z
Binaries have been rebuilt for the following architectures:
Linux 1128826 Jan 7 linux/clisp-english.tar.z
Linux 1134023 Jan 7 linux/clisp-deutsch.tar.z
DEC Alpha AXP, OSF 1.3 1379905 Dec 5 decalpha-osf/clisp.tar.z
Amiga 500-4000 536424 Dec 11 amiga/CLisp-931211-Part1-high.lha
Amiga 500-4000 542329 Dec 11 amiga/CLisp-931211-Part1-low.lha
Amiga 500-4000 532023 Dec 11 amiga/CLisp-931211-Part2.lha
Bruno Haible
haible@ma2s2.mathematik.uni-karlsruhe.de