Now
MAIN commitmail json YAML
Update to SBCL 1.3.16
changes in sbcl-1.3.16 relative to sbcl-1.3.15:
* optimization: various small tweaks give around 5% faster garbage
collection
* bug fix: better detection of when an impossible code path does
not need a warning. (lp#1668619)
* bug fix: stronger attempts to disable position-independent
executable building. (lp#1668986, patch from Mark Wright)
* bug fix: OPEN :IF-EXISTS NIL signalled a condition on Windows.
(lp#1674437, reported by Jan Idzikowski)
changes in sbcl-1.3.15 relative to sbcl-1.3.14:
* minor incompatible change: the reader will when feasible create
new symbols using a BASE-STRING for the print name. Additionally,
string literals can favor the base-string type if desired, though
the default is to always return UTF-32 strings for compatibility.
A preference for base-string does not disable reading Unicode.
The choice is controlled via (SETF READTABLE-BASE-CHAR-PREFERENCE).
If Unicode was disabled at build time, this setting does nothing.
* enhancement: SBCL generates more debug information by default.
* enhancement: type errors provide context information, such as which
variable is being bound, which slot of which structure is being set.
* enhancement: if #+immobile-symbols is in build-time *FEATURES* (not
enabled by default), then symbols will never be moved in memory
except by SAVE-LISP-AND-DIE. Immobility has helpful implications for
code generation as well as interaction with foreign routines.
This feature can only be enabled if #+immobile-space is enabled.
* enhancement: undefined function errors can be restarted on x86-64, to
either retry calling the function again or call a user supplied function.
* enhancement: sb-ext:restrict-compiler-policy accepts an upper bound in
addition to a lower bound.
* enhancement: #+immobile-code improves the speed of function calling.
Some delay may be noticed when redefining an existing function
from a saved core file however.
* defaults change: sb-ext:*disassemble-annotate* default to NIL, due to its
poor reliability.
* new feature: SB-LINKABLE-RUNTIME, allowing linking with extra object
files to help with delivery of executables. (Thanks to Francois-Rene
Rideau)
* bug fix: data race in GENTEMP fixed - it can no longer return the
same interned symbol to multiple threads if called concurrently
* bug fix: interrupting LOADing of FASLs does not leave functions without
source locations. (lp#540276)
* bug fix: DYNAMIC-EXTENT-declared results of NOTINLINE local functions were
treated as if they were actually stack allocated (lp#1659964)
* bug fix: correctly handle the case of a non-local exit within a function
terminating the extent of dynamic-extent, dynamic-bound variables in the
presence of multiple-values (lp#1655011)
* bug fix: handling of SB-SYS:WITH-PINNED-OBJECTS in the interpreters (both
sb-eval and sb-fasteval) now actually pins objects on gencgc.
* bug fix: AVX registers are preserved during exceptions on x86-64 macOS.
* bug fix: (directory "SOMETHING/*/**/MORE") is no longer equivalent to
(directory "SOMETHING/**/MORE")
* bug fix: better console IO on Windows (lp#1660906)
changes in sbcl-1.3.14 relative to sbcl-1.3.13:
* minor incompatible change: the SB-PCL walker no longer recognizes
macros expanding into a DECLARE expression. This is not a language change,
since ANSI forbids such usage (X3J13 issue DECLARE-MACROS:FLUSH).
* enhancement: for several macros such as MULTIPLE-VALUE-{BIND,SETQ}, COND,
DO{,*,LIST}, {RESTART,HANDLER}-{BIND,CASE}, *CASE, conditions signaled
during macroexpansion point to the form that caused the problem more
accurately.
* enhancement: the "--noinform" command-line option inhibits output from
save-lisp-and-die in addition to removing the startup banner.
* bug fix: PROCESS-KILL failed to return errno if the system call failed
* optimization: slightly more comprehensive treatment of the keyword
arguments to MAKE-ARRAY in compiler transformations.
changes in sbcl-1.3.13 relative to sbcl-1.3.12:
* enhancement: SET triggers package locks on undefined variables.
(lp#1645152)
* enhancement: new Windows specific option to run-program, :escape-arguments
(lp#1503496)
* enhancement: recompiling a MAKE-INSTANCE form with an initarg :INITARG
CONSTANT where CONSTANT names a constant variable picks up the new value
of CONSTANT in case it has been redefined. (lp#1644944)
* optimization: faster TYPEP on undefined at compile-time types and upcoming
class definitions. (lp#1082967)
* optimization: memory consumption of each STANDARD-OBJECT instance is
reduced by 2 words if the compact-instance-header feature is enabled.
* optimization: CONDITION instances are quicker to allocate.
* optimization: unoptimized calls to FILL on specialized vectors are now
just as fast as T vectors.
* bug fix: get-timezone returns corret DST on 64-bit Windows. (lp#1641058)
* bug fix: cross reference information in fasls is no longer incompatible
between different cores (lp#1648186)
changes in sbcl-1.3.16 relative to sbcl-1.3.15:
* optimization: various small tweaks give around 5% faster garbage
collection
* bug fix: better detection of when an impossible code path does
not need a warning. (lp#1668619)
* bug fix: stronger attempts to disable position-independent
executable building. (lp#1668986, patch from Mark Wright)
* bug fix: OPEN :IF-EXISTS NIL signalled a condition on Windows.
(lp#1674437, reported by Jan Idzikowski)
changes in sbcl-1.3.15 relative to sbcl-1.3.14:
* minor incompatible change: the reader will when feasible create
new symbols using a BASE-STRING for the print name. Additionally,
string literals can favor the base-string type if desired, though
the default is to always return UTF-32 strings for compatibility.
A preference for base-string does not disable reading Unicode.
The choice is controlled via (SETF READTABLE-BASE-CHAR-PREFERENCE).
If Unicode was disabled at build time, this setting does nothing.
* enhancement: SBCL generates more debug information by default.
* enhancement: type errors provide context information, such as which
variable is being bound, which slot of which structure is being set.
* enhancement: if #+immobile-symbols is in build-time *FEATURES* (not
enabled by default), then symbols will never be moved in memory
except by SAVE-LISP-AND-DIE. Immobility has helpful implications for
code generation as well as interaction with foreign routines.
This feature can only be enabled if #+immobile-space is enabled.
* enhancement: undefined function errors can be restarted on x86-64, to
either retry calling the function again or call a user supplied function.
* enhancement: sb-ext:restrict-compiler-policy accepts an upper bound in
addition to a lower bound.
* enhancement: #+immobile-code improves the speed of function calling.
Some delay may be noticed when redefining an existing function
from a saved core file however.
* defaults change: sb-ext:*disassemble-annotate* default to NIL, due to its
poor reliability.
* new feature: SB-LINKABLE-RUNTIME, allowing linking with extra object
files to help with delivery of executables. (Thanks to Francois-Rene
Rideau)
* bug fix: data race in GENTEMP fixed - it can no longer return the
same interned symbol to multiple threads if called concurrently
* bug fix: interrupting LOADing of FASLs does not leave functions without
source locations. (lp#540276)
* bug fix: DYNAMIC-EXTENT-declared results of NOTINLINE local functions were
treated as if they were actually stack allocated (lp#1659964)
* bug fix: correctly handle the case of a non-local exit within a function
terminating the extent of dynamic-extent, dynamic-bound variables in the
presence of multiple-values (lp#1655011)
* bug fix: handling of SB-SYS:WITH-PINNED-OBJECTS in the interpreters (both
sb-eval and sb-fasteval) now actually pins objects on gencgc.
* bug fix: AVX registers are preserved during exceptions on x86-64 macOS.
* bug fix: (directory "SOMETHING/*/**/MORE") is no longer equivalent to
(directory "SOMETHING/**/MORE")
* bug fix: better console IO on Windows (lp#1660906)
changes in sbcl-1.3.14 relative to sbcl-1.3.13:
* minor incompatible change: the SB-PCL walker no longer recognizes
macros expanding into a DECLARE expression. This is not a language change,
since ANSI forbids such usage (X3J13 issue DECLARE-MACROS:FLUSH).
* enhancement: for several macros such as MULTIPLE-VALUE-{BIND,SETQ}, COND,
DO{,*,LIST}, {RESTART,HANDLER}-{BIND,CASE}, *CASE, conditions signaled
during macroexpansion point to the form that caused the problem more
accurately.
* enhancement: the "--noinform" command-line option inhibits output from
save-lisp-and-die in addition to removing the startup banner.
* bug fix: PROCESS-KILL failed to return errno if the system call failed
* optimization: slightly more comprehensive treatment of the keyword
arguments to MAKE-ARRAY in compiler transformations.
changes in sbcl-1.3.13 relative to sbcl-1.3.12:
* enhancement: SET triggers package locks on undefined variables.
(lp#1645152)
* enhancement: new Windows specific option to run-program, :escape-arguments
(lp#1503496)
* enhancement: recompiling a MAKE-INSTANCE form with an initarg :INITARG
CONSTANT where CONSTANT names a constant variable picks up the new value
of CONSTANT in case it has been redefined. (lp#1644944)
* optimization: faster TYPEP on undefined at compile-time types and upcoming
class definitions. (lp#1082967)
* optimization: memory consumption of each STANDARD-OBJECT instance is
reduced by 2 words if the compact-instance-header feature is enabled.
* optimization: CONDITION instances are quicker to allocate.
* optimization: unoptimized calls to FILL on specialized vectors are now
just as fast as T vectors.
* bug fix: get-timezone returns corret DST on 64-bit Windows. (lp#1641058)
* bug fix: cross reference information in fasls is no longer incompatible
between different cores (lp#1648186)