From: Juan Jose Garcia Ripoll <jlr@mp...> - 2005-10-24 09:26:53
I have committed quite many changes today. As some of them are critical,
you are advised to keep a copy of your sources before updating from CVS.
- MULTIPLE-VALUE-SETQ must output only the primary value.
- MAKE-CONDITION now accepts type specifiers such as '(AND
- LOAD can now load code from streams which are not associated to
- DISASSEMBLE now signals a TYPE-ERROR condition when the argument is
neither an extended function designator nor a lambda expression.
- The block name of a function does not involve the the forms in the
lambda list: i.e. (LAMBDA-EXT F (&aux (X (RETURN-FROM F 2)))) is no
- The bytecodes compiler no longer provides special support for
DOLIST/DOTIMES, thereby simplifying both the compiler and the
- On systems with GNU libc, we are able to signal and trap floating
point exceptions of the following kinds: overflow, underflow and
division by zero.
Trapping of these exceptions can be disabled with (SI::TRAP-FPE NIL).
In practice this means overflows in routines like EXP, EXPT, etc, are
And other 10 fixes related to bugs found by Paul Dietz's ANSI
compliance suite, plus a relatively major change which is...
- IMPORTANT: ECL is now entirely responsible for finding references to
all lisp data. That means that the garbage collector will not scan the
static data region of your program (i.e. variables you define in the C
code or in loaded libraries). If you store lisp data somewhere in an
embedding C program, you have to either keep this data in automatic
variables (i.e. variables from within a function, which are stack
allocated), or register the C global variables with
ecl_register_static_root(), or keep also a reference to that data in a
Please report any failure when building ECL.