I've just released and tagged sbcl-1.0.31. I've also interacted with
yet another new SourceForge file release system; if something is odd
with the released files, please let me know.
changes in sbcl-1.0.31 relative to sbcl-1.0.30:
* improvement: stack allocation is should now be possible in all nested
inlining cases: failure to stack allocate when equivalent code is manually
open coded is now considered a bug.
* improvements related to Unicode:
** the Unicode character database has been upgraded to the
Unicode 5.1 standard, giving names and properties to a number of new
characters, and providing a few extra characters with case
** the system now recognizes and produces names for Unicode Hangul
** the EBCDIC-US external-format is now supported for octet operations
(as well as for stream operations).
* new feature: experimental :EMIT-CFASL parameter to COMPILE-FILE can
be used to output toplevel compile-time effects into a separate .CFASL
* optimization: COERCE to VECTOR, STRING, SIMPLE-STRING and recognizable
one-dimenstional subtypes of ARRAY is upto 70% faster when the coercion is
* optimization: TRUNCATE on known single- and double-floats is upto 25%
* optimization: division of floating point numbers by constants uses
multiplication by reciprocal when an exact reciprocal exists.
* optimization: multiplication of single- and double-floats floats by
constant two has been optimized.
* optimization: ARRAY-IN-BOUNDS-P is resolved at compile-time when
sufficient type information is available. (thanks to Leslie Polzer)
* optimization: SLOT-VALUE and (SETF SLOT-VALUE) with constant slot names on
known structure objects are as efficient as defstruct generated accessors.
* optimization: unused vector creation can now be optimized away.
* improvement: ASDF systems can now depends on SB-INTROSPECT.
* improvement: a STYLE-WARNING is signalled when a generic function
clobbers an earlier FTYPE proclamation.
* improvement: the compiler is able to track the effective type of
generic function across method addition and removal even in the
absence of an explicit DEFGENERIC.
* improvement: DESCRIBE now reports on symbols naming undefined
but assumed or declared function as well.
* improvement: recompilation of systems using SB-GROVEL now works
(thanks to Leslie Polzer)
* improvements to SB-CLTL2 (thanks to Larry D'Anna):
** functions DECLARATION-INFORMATION, PARSE-MACRO, and ENCLOSE have been
** AUGMENT-ENVIRONMENT and DEFINE-DECLARATION have been implemented.
** DECLARATION-INFORMATION now supports declaration name DECLARATION as
well as user defined declaration names.
** VARIABLE-INFORMATION is now aware of alien variables.
* improvement: improved address space layout on OpenBSD (thanks to Josh
* improvement: pretty-printing of various Lisp forms has been improved
(thanks to Tobias Rittweiler)
* bug fix: calls to DECODE-FLOAT and INTEGER-DECODE-FLOAT whose value was
unused were deleted in safe code. (reported by John Fremlin)
* bug fix: a failing AVER compiling certain MAKE-ARRAY forms. (reported
by James Wright)
* bug fix: some out-of-line array predicates were missing (reported by
* bug fix: a failing AVER in CONVERT-MV-CALL has been fixed. (thanks to
* bug fix: a failing AVER in %ALLOCATE-CLOSURES conversion has been fixed
(thanks to Larry D'Anna)
* bug fix: SLEEP supports times over 100 million seconds on long on OpenBSD
as well. (reported by Josh Elsasser)
* bug fix: DELETE-FILE on streams no longer closes the stream with :ABORT T,
leading to possible attempts to delete the same file twice. See docstring
on DELETE-FILE for details. (reported by John Fremlin)
* bug fix: DELETE-FILE once again deletes the file named by the pathname
designator argument, rather than its truename. (reported by Luis
* bug fix: the low-level debugger had 32-bit assumptions and was missing
information about some array types. (thanks to Luis Oliveira)
* bug fix: moderately complex combinations of inline expa