From: Juanjo
Subject: [ANN] ECL 9.7.1
Date: 
Message-ID: <73618be5-e118-40a7-9993-52bcbea4cfdd@j19g2000vbp.googlegroups.com>
ECL 9.7.1:
==========

Available, as usual, in http://ecls.sourceforge.net
Should people find problems with this release, please do not hesitate
contacting us or reporting it through the mailing list.

* Printer:

 - Readtables have a new flag that makes them read-only. Function
	(si::readtable-lock readtable &optional new-flag)
   either reads the state of this flag (if NEW-FLAG is missing) or
   also sets it.

 - The compiler now uses cl_core to efficiently access certain lisp
   constants (standard packages, standard readtables, etc)

 - EXT:OUTPUT-FLOAT-INFINITY works now fine when *print-circle* is T.

 - WITH-STANDARD-IO-SYNTAX now also rebinds *print-pprint-dispatch*.

* Compiler:

 - When printing out data and reading it from a FASL file, the
compiler now
   uses more strict settings avoiding usual interferences such as the
user
   changing the readtable or the printing rules.

 - The compiler no longer enters the debugger when it finds an error
in the
   code it compiles.

 - C:COMPILER-ERROR no longer derives from ERROR or SERIOUS-CONDITION.

 - Trapping of compiler conditions now works even for compiler errors.

 - Handlers of compiler errors can now call (ABORT). COMPILE-FILE will
   interrupt the compilation process, and the outputs values that
signal
   the failure to terminate.

 - ECL no longer emits compiler notes when deleting unreachable code.

 - Compiler messages now show the offending form and file position.

 - DEFCONSTANT only had the expected compile-time side effects in the
bytecodes
   compiler, not in the lisp->C translator.

 - New type information propagators for AREF, ASET, +, *, /, -, COS,
SIN, ACOS,
   ASIN, COSH, ACOSH, ASINH, SINH, ATAN, ATANH, EXP, EXPT, CIS, SQRT,
ISQRT and
   ABS. allow ECL to produce better code even without an additional
   back-propagation phase.

 - Code to perform a type inference pass, with which-way information
has
   been added to ECL. The code is still in a debug phase, with lots of
debug
   output printed and rather incomplete, but it is by default
deactivated and
   should not interfere with usual functioning.

 - The code for inlining functions has been improved. Some safe inline
   expansions that were already available are now actively used thanks
to these
   fixes.

 - Formerly, by historical reasons, many library functions that take a
fixed
   number of arguments were declared as functions with a variable
number of
   arguments. This slows down ECL and prevents detecting certain
errors. In an
   ongoing effort to solve this problem, the C prototypes of COSH,
SINH, CIS,
   ACOSH, ASINH and ISQRT now take only one argument (i.e. cl_cosh
(cl_object x)
   instead of cl_cosh(cl_narg narg, cl_object x, ...))

* Visible changes:

 - The toplevel only traps SERIOUS-CONDITIONS.

 - "make clean" now wipes out the entire content of the build
directory. Please
   use this before re-configuring again ECL so that header and
configuration
   files are properly updated.