LAMBDA-PARAMETERS-LIMIT are both 64. Up to C-ARGUMENTS-LIMIT may be
passed to a function using C calling conventions. If the function is
to retrieve more arguments, (for instance through a &rest variable),
this can be done, but then the arguments have to be pushed on the lisp
stack. This method allows us to raise the CALL-ARGUMENTS-LIMIT up to
MOST-POSITIVE-FIXNUM. From a users point of view, there is no visible
change, excep the fact that a function may receive more arguments.
The function apply() has been replaced with cl_apply_from_stack().
The former took a pointer to the list of arguments. The latter assumes
that the last "narg" elements on the lisp stack are the arguments of
the function.
+Deftype BIT-VECTOR would not expand to a vector type.
+Each compiled file has an entry point whose name is either
init_CODE() or another name based on the name of the source file.
The algorithm for computing these names has been slightly changed
so that the entry points of ECLS's own library do not conflict with
user defined entry points.
+A LET/LET* form in which the initializers for a variable have not
the expected type produce a warning, but the code is accepted. For
instance (LET (V) (DECLARE (TYPE FIXNUM V)) (SETQ V 1)) now
compiles.
+(SETF name), where name is a symbol, is now a valid function name in all
contexts. It is accepted by DEFUN, FUNCTION, FBOUNDP, FMAKUNBOUND, etc,
and it can be the on the function position in any form.
+New specialized arrays for (UNSIGNED-BYTE 8) and (SIGNED-BYTE 8).
at the top level, it processes their bodies as top level forms as well. For
instance, (LOCALLY (EVAL-WHEN (:COMPILE-TOPLEVEL) (PRINT "HELLO"))), now works.
meaningful names for the exported functions. For instance,
(proclaim '(si::c-export-fname union))
is used to produce a C function with name clLunion, which can be directly used
in other compiled files. This feature has been applied to almost all functions
in the Lisp runtime.