Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

sbcl-1.0.55

changes in sbcl-1.0.55 relative to sbcl-1.0.54:
  * enhancements to building SBCL using make.sh:
    ** --fancy can be specified to enable all supported feature enhancements.
    ** --with-<feature> and --without-<feature> can be used to specify
       which features to build with.
    ** --arch option can be used to specify the architecture to build for.
       (Mainly useful for building 32-bit SBCL's on x86-64 hosts, not
       full-blows cross-compilation.)
  * enhancement: extended package prefix syntax <pkgname>::<form-in-package>
    which allows specifying name of the default interning package for the
    whole form.
  * enhancement: when *READ-EVAL* is true, arrays with element type other than
    T can be printed readably using #.-based syntax. (Thanks to Robert Brown)
  * enhancement: MAKE-ALIEN signals a storage-condition instead of returning a
    null alien when malloc() fails. (lp#891268)
  * enhancement: SB-EXT:PRINT-UNREADABLY restart for PRINT-NOT-READABLE
    conditions can be conveniently accessed through function with the same
    name, analogously to CONTINUE.
  * enhancement: SB-EXT:*SUPPRESS-PRINT-ERRORS* can be used to suppress errors
    from the printer by type, causing an error marker to be printed instead.
    (Thanks to Attila Lendvai)
  * enhancement: BACKTRACE and DESCRIBE now bind *PRINT-CIRCLE* to T, and
    generally behave better when errors occur during printing.
  * enhancement: the test runner now takes a --report-skipped-tests argument
    to report the individual tests skipped as well as the number of skipped
    tests.
  * enhancement: undefined functions now appear in backtraces as ("undefined
    function") instead of ("bogus stack frame") on x86oids.
  * enhancement: detected deadlocks no longer cause stderr to be spammed, and
    deadlock errors are reported in an easier-to-decipher manner.
  * enhancement: DESCRIBE on type designators reports the expansion in more
    cases.
  * enhancement: SBCL now provides either an explicit :BIG-ENDIAN or
    :LITTLE-ENDIAN in *FEATURES*, instead of :BIG-ENDIAN being implied by lack
    of the :LITTLE-ENDIAN feature. (Thanks to Luís Oliveira, lp#901661)
  * enhancement: better disassembly of segment-prefixes on x86 and other
    instruction prefixes (e.g. LOCK) on x86 and x86-64.
  * optimization: FIND and POSITION on bit-vectors are orders of magnitude
    faster (assuming KEY and TEST are not used, or are sufficiently trivial.)
  * optimization: SUBSEQ on vectors of unknown element type is substantially
    faster. (lp#902537)
  * optimization: specialized arrays with non-zero :INITIAL-ELEMENT can
    be stack-allocated. (lp#902351)
  * optimization: the compiler is smarter about representation selection for
    floating point constants used in full calls.
  * optimization: the compiler no longer refuses to coerce large fixnums to
    single floats inline, except on x86 where this limitation is still
    necessary.
  * bug fix: deadlock detection could report the same deadlock twice, for
    two different threads. Now a single deadlock is reported exactly once.
  * bug fix: interval-arithmetic division during type derivation did not
    account for signed zeros.
  * bug fix: compiler error when typechecking a call to a function with
    non-constant keyword arguments.
  * bug fix: misoptimization of TRUNCATE causing erratic behaviour.
  * bug fix: condition slot accessors no longer cause undefined function
    style-warnings when used in the :REPORT clause of the DEFINE-CONDITION
    form that defines them. (lp#896379)
  * bug fix: DEFGENERIC warns about unsupported declarations, as specified
    by ANSI. (lp#894202)
  * bug fix: SUBTYPEP tests involving forward-referenced classes no longer
    bogusly report NIL, T.
  * bug fix: bogus style-warnings for DEFMETHOD forms that both declared some
    required arguments ignored and performed assignments to others.
    (lp#898331)
  * bug fix: *EVALUATOR-MODE* :COMPILE treated (LET () ...) identically
    to (LOCALLY ...) leading to internally inconsistent toplevel-formness.
  * bug fix: non-toplevel DEFSTRUCT signaled a style warning for unknown type.
  * bug fix: redefining a function whose previous definition contained an
    unknown type no longer causes a style-warning. (lp#806243)
  * bug fix: undefined functions now appear in backtraces as ("undefined
    function") instead of ("bogus stack frame") on non-x86oids.
  * bug fix: backtraces are no longer cut off at ("undefined function") when
    called under certain circumstances (involving a caller-allocated stack
    frame) on PPC.
  * bug fix: RUN-PROGRAM leaked a file-descriptor per call on non-Windows
    systems. (regression since 1.0.53)
  * bug fix: GC deadlocks from dladdr() on certain platforms.
  * bug fix: broken standard streams no longer automatically cause recursive
    errors on debugger entry.
  * bug fix: build ignored --dynamic-space-size=<size> argument to make.sh
    (regression since 1.0.53)
  * bug fix: attempts to stack allocate a required argument to a function with
    an external entry point caused compiler-errors.
  * bug fix: compiler notes for failed stack allocation for a function argument
    no longer claim to be unable to stack allocate the function.
  * bug fix: COERCE now signals a type-error on several coercions to
    subtypes of CHARACTER that are forbidden according to ANSI. (lp#841312)
  * bug fix: missing failure-to-stack-allocate compiler notes for some
    forms of MAKE-ARRAY with dynamic-extent. (lp#902351)
  * bug fix: some of the compile-time side-effects of DEFCLASS were not caught
    by package locks.

sbcl-1.0.54

changes in sbcl-1.0.54 relative to sbcl-1.0.53:
  * minor incompatible changes:
    ** RENAME-FILE on a symbolic links used to rename the linked-to file
       instead of the link.
    ** DELETE-DIRECTORY on symbolic link to a directory used to delete the
       directory, but now signal an error instead. Use TRUENAME to resolve the
       pathname if you wish to delete the linked directory, and DELETE-FILE if
       you wish to delete the
    ** The internal SB-THREAD::SPINLOCK API has been deprecated, and using
       symbols associated with it will trigger a compile-time warning.
  * thread-related enhancements:
    (This work has been funded by the SBCL Threading 2011 IndieGoGo campaign.
     Many thanks to generous donors!)
    ** Threading is now more reliable on non-Linux platforms. We still don't
       consider threads on non-Linux platforms good enough to enable them by
       default, but they're in a clearly better shape now.
    ** Deadlines supported now on all platforms.
    ** All blocking functions in the threading API now have a :TIMEOUT
       argument.
    ** Semaphore notification objects have been added to SB-THREAD.
    ** SB-CONCURRENCY contrib now includes Allegro-style GATE objects.
    ** SB-EXT:COMPARE-AND-SWAP has been extended to support SLOT-VALUE,
       STANDARD-INSTANCE-ACCESS, and FUNCALLABLE-STANDARD-INSTANCE-ACCESS.
    ** Users can now defined new places usable with SB-EXT:COMPARE-AND-SWAP
       using an API anologous to defining new SETFable places.
  * GC-related enhancements and bug fixes:
    ** --dynamic-space-size and --control-stack-size now understand Kb, Mb,
         and Gb suffixes. Default is megabytes as before.
    ** on GENCGC targets, the default dynamic space size is now 512Mb for
       32-bit systems, and 1Gb for 64-bit systems. (OpenBSD/x86-64 is the only
       exception, defaulting to mere 444Mb to fit under default ulimits.) The
       new defaults are in place to prevent hitting swap on low-end systems.
       Use build-time option --dynamic-space-size to build an SBCL with
       another default, or the runtime option to adjust the size at startup: a
       good size is at most equal to the amount of physical memory the system
       has.
    ** on GENCGC targets, nursery and generation sizes now default to 5% of
       dynamic-space size.
    ** on GENCGC targets, SB-KERNEL:MAKE-LISP-OBJ no longer categorically
       refuses to create SIMPLE-FUN objects.
    ** on 64-bit GENCGC targets, setting the nursery size above 4Gb now works.
       (lp#870868)
    ** on CHENEYGC targets, SB-KERNEL:MAKE-LISP-OBJ now does the same
       validation of pointer objects as GENCGC does, instead of a
       comparatively weak bounds-check against the heap spaces.
  * SB-BSD-SOCKETS bug fixes:
    ** GET-PROTOCOL-BY-NAME had a significant memory leak.
    ** GET-HOST-BY-NAME and GET-HOST-BY-ADDRESS small amounts of memory on
       systems with getaddrinfo().
    ** GET-HOST-BY-NAME and GET-HOST-BY-ADDRESS weren't thread or interrupt
       safe outside systems with getaddrinfo().
  * enhancement: ASDF has been updated 2.019.
  * enhancement: special-case TCO prevention for functions which never return
    extended to untrusted types, keeping one more frame's worth of debug
    information around in many cases.
  * enhancement: debug-names of anonymous and local function are more
    descriptive. Affects backtraces and SB-SPROF results. (lp#805100)
  * enhancement: on win32, ABS of complex floats guards better against
    overflows. (lp#888410)
  * enhancement: RUN-PROGRAM now distinguishes exec() failing from child
    process exiting with code 1. (lp#676987)
  * enhancement: convenience function SET-SBCL-SOURCE-LOCATION for informing
    the system where on the filesystem the SBCL sources themselves are
    located.  (Thanks to Zach Beane)
  * enhancement: the compiler is now able to derive tighter bounds for
    floating point numbers in some cases. (Thanks to Lutz Euler, lp#894498)
  * bug fix: on 64-bit targets, atomic-incf/aref does index computation
    correctly, even on wide-fixnum builds. (lp#887220)
  * bug fix: (DIRECTORY "foo/*/*.*") did not follow symlinks in foo/ that
    resolved to directories.
  * bug fix: type mismatch when assigning to lexical variables no longer
    result in fasl-dumping internal type objects. (lp#890750)
  * bug fix: type mismatch on (SETF AREF) and function return values no
    longer result in fasl-dumping internal type objects.
  * bug fix: With several combinations of argument types, for example (EXPT
    <integer> <(complex double)>), EXPT now uses double-precision throughout
    instead of partially calculating only to single-precision.  (lp#741564;
    thanks to Lutz Euler)
  * bug fix: SYMBOL-VALUE-IN-THREAD is no longer able to construct bogus
    objects when interrupted by GC on PPC.

sbcl-sbcl-1.0.54

changes in sbcl-sbcl-1.0.54 relative to sbcl-1.0.53:
  * minor incompatible changes:
    ** RENAME-FILE on a symbolic links used to rename the linked-to file
       instead of the link.
    ** DELETE-DIRECTORY on symbolic link to a directory used to delete the
       directory, but now signal an error instead. Use TRUENAME to resolve the
       pathname if you wish to delete the linked directory, and DELETE-FILE if
       you wish to delete the
    ** The internal SB-THREAD::SPINLOCK API has been deprecated, and using
       symbols associated with it will trigger a compile-time warning.
  * thread-related enhancements:
    (This work has been funded by the SBCL Threading 2011 IndieGoGo campaign.
     Many thanks to generous donors!)
    ** Threading is now more reliable on non-Linux platforms. We still don't
       consider threads on non-Linux platforms good enough to enable them by
       default, but they're in a clearly better shape now.
    ** Deadlines supported now on all platforms.
    ** All blocking functions in the threading API now have a :TIMEOUT
       argument.
    ** Semaphore notification objects have been added to SB-THREAD.
    ** SB-CONCURRENCY contrib now includes Allegro-style GATE objects.
    ** SB-EXT:COMPARE-AND-SWAP has been extended to support SLOT-VALUE,
       STANDARD-INSTANCE-ACCESS, and FUNCALLABLE-STANDARD-INSTANCE-ACCESS.
    ** Users can now defined new places usable with SB-EXT:COMPARE-AND-SWAP
       using an API anologous to defining new SETFable places.
  * GC-related enhancements and bug fixes:
    ** --dynamic-space-size and --control-stack-size now understand Kb, Mb,
         and Gb suffixes. Default is megabytes as before.
    ** on GENCGC targets, the default dynamic space size is now 512Mb for
       32-bit systems, and 1Gb for 64-bit systems. (OpenBSD/x86-64 is the only
       exception, defaulting to mere 444Mb to fit under default ulimits.) The
       new defaults are in place to prevent hitting swap on low-end systems.
       Use build-time option --dynamic-space-size to build an SBCL with
       another default, or the runtime option to adjust the size at startup: a
       good size is at most equal to the amount of physical memory the system
       has.
    ** on GENCGC targets, nursery and generation sizes now default to 5% of
       dynamic-space size.
    ** on GENCGC targets, SB-KERNEL:MAKE-LISP-OBJ no longer categorically
       refuses to create SIMPLE-FUN objects.
    ** on 64-bit GENCGC targets, setting the nursery size above 4Gb now works.
       (lp#870868)
    ** on CHENEYGC targets, SB-KERNEL:MAKE-LISP-OBJ now does the same
       validation of pointer objects as GENCGC does, instead of a
       comparatively weak bounds-check against the heap spaces.
  * SB-BSD-SOCKETS bug fixes:
    ** GET-PROTOCOL-BY-NAME had a significant memory leak.
    ** GET-HOST-BY-NAME and GET-HOST-BY-ADDRESS small amounts of memory on
       systems with getaddrinfo().
    ** GET-HOST-BY-NAME and GET-HOST-BY-ADDRESS weren't thread or interrupt
       safe outside systems with getaddrinfo().
  * enhancement: ASDF has been updated 2.019.
  * enhancement: special-case TCO prevention for functions which never return
    extended to untrusted types, keeping one more frame's worth of debug
    information around in many cases.
  * enhancement: debug-names of anonymous and local function are more
    descriptive. Affects backtraces and SB-SPROF results. (lp#805100)
  * enhancement: on win32, ABS of complex floats guards better against
    overflows. (lp#888410)
  * enhancement: RUN-PROGRAM now distinguishes exec() failing from child
    process exiting with code 1. (lp#676987)
  * enhancement: convenience function SET-SBCL-SOURCE-LOCATION for informing
    the system where on the filesystem the SBCL sources themselves are
    located.  (Thanks to Zach Beane)
  * enhancement: the compiler is now able to derive tighter bounds for
    floating point numbers in some cases. (Thanks to Lutz Euler, lp#894498)
  * bug fix: on 64-bit targets, atomic-incf/aref does index computation
    correctly, even on wide-fixnum builds. (lp#887220)
  * bug fix: (DIRECTORY "foo/*/*.*") did not follow symlinks in foo/ that
    resolved to directories.
  * bug fix: type mismatch when assigning to lexical variables no longer
    result in fasl-dumping internal type objects. (lp#890750)
  * bug fix: type mismatch on (SETF AREF) and function return values no
    longer result in fasl-dumping internal type objects.
  * bug fix: With several combinations of argument types, for example (EXPT
    <integer> <(complex double)>), EXPT now uses double-precision throughout
    instead of partially calculating only to single-precision.  (lp#741564;
    thanks to Lutz Euler)
  * bug fix: SYMBOL-VALUE-IN-THREAD is no longer able to construct bogus
    objects when interrupted by GC on PPC.

sbcl-1.0.53

changes in sbcl-1.0.53 relative to sbcl-1.0.52:
  * enhancement: on 64-bit targets, in src/compiler/generic/early-vm.lisp,
    the parameter n-fixnum-tag-bits may now vary from 1 (fixnum =
    (signed-byte 63)) to 3 (fixnum = (signed-byte 61)) at build-time.
  * enhancement: SB-EXT:WAIT-FOR allows waiting for arbitrary events.
  * minor(?) incompatible(?) change: The default fixnum width on 64-bit
    targets is now 63 bits (up from 61).
  * enhancement: DESCRIBE now reports a lambda-list and source location
    for complext setf-expanders.
  * bug fix: PUSH, PUSHNEW, POP, REMF, INCF, DECF, DEFINE-MODIFY-MACRO,
    GETF, LOGBITP, LDB, and MASK-FIELD now arrange for non-primary values
    of multiple-valued places to be set to NIL, instead of signalling an
    error (per a careful reading of CLHS 5.1.2.3).
  * bug fix: floating-point traps now work on darwin/x86 and /x86-64.
  * bug fix: repair crash in x86oid darwin signal handling emulation
    when built with certain compilers.
  * bug fix: SB-ROTATE-BYTE misrotated to the right when using constant
    rotation arguments on x86-64. (lp#882151)
  * bug fix: low-level control flow optimisations could result in bogus
    code in functions with tail and non-tail calls to local functions on
    x86oids. (lp#883500)
  * bug fix: on SPARC/:sb-unicode, avoid crashing the assembler by trying
    to emit literal characters > (code-char 4095), for comparisons with
    constant characters.
  * bug fix: ROOM reported only the low 32 bits of dynamic space usage
    on 64 bit platforms. (lp#881445)
  * bug fix: DELETE-FILE did not MERGE-PATHNAMES, making it possible to
    delete the wrong file when using relative pathnames. (lp#882877)
  * bug fix: optimized SEARCH of vectors-on-vectors mishandled zero-length
    sequences and :KEY NIL.

sbcl-1.0.52

changes in sbcl-1.0.52 relative to sbcl-1.0.51:
  * enhancement: ASDF has been updated to version 2.017.
  * enhancement: the --core command line option now accepts binaries with
    an embedded core.
  * enhancement: when built with :sb-core-compression, core files (regular
    or executable) can be compressed with zlib.  Use the :COMPRESSION
    argument to SAVE-LISP-AND-DIE to specify a compression level.
  * enhancement: --[no-]merge-core-pages determines whether the runtime
    hints the operating system that identical core pages between SBCL
    processes should share the same physical memory.  Default is to only
    enable this for compressed cores.
  * optimization: SLEEP no longer conses.
  * optimization: *PRINT-PRETTY* no longer slows down printing of strings
    or bit-vectors when using the standard pretty-print dispatch table.
  * bug fix: non-function FTYPE declarations no longer cause a compiler-error.
    (lp#738464)
  * bug fix: compiler-errors causes by MEMBER types in conjunction with with
    AREF, CHAR, etc. (lp#826971)
  * bug fix: compiler-errors causes by integer arguments with composed of
    multiple ranges to ARRAY-IN-BOUNDS-P. (lp#826970)
  * bug fix: ,@ and ,. now signal a read-time error for certain non-list
    expressions. (lp#770184)
  * bug fix: complex single float literals are correctly aligned when used
    as arguments of arithmetic operators.
  * bug fix: on 32-bit platforms, rounding of double floats larger than a
    fixnum is correct.  (reported by Peter Keller)
  * bug fix: stray FD-HANDLERs are no longer left lying around after unwinds
    from RUN-PROGRAM.  (lp#840190, reported by Dominic Pearson; fix from Max
    Mikhanosha)
  * bug fix: redefining classes such that slots with custom allocation are
    added or removed works again.

sbcl-1.0.51

changes in sbcl-1.0.51 relative to sbcl-1.0.50:
  * minor incompatible change: SB-BSD-SOCKET socket streams no longer
    participate in SERVE-EVENT by default: pass :SERVE-EVENTS T to
    MAKE-SOCKET-STREAM if using SERVE-EVENT.
  * enhancement: added support for socket keepalive timeout intervals
    and probe counts on Linux.
  * enhancement: building 32-bit SBCL on Linux/x86-64 now works without a
    chroot. (Use "SBCL_ARCH=x86 sh make.sh" to build.)
  * enhancement: added new toplevel options --quit and --non-interactive
    (lp#822712).
  * enhancement: the Windows port of SBCL now builds and runs on Wine
    (thanks to Anton Kovalenko).
  * enhancement: more, and more correct, SSE instruction definitions on
    x86-64 (thanks to Alexander Gavrilov).
  * enhancement: SB-EXT:SPIN-LOOP-HINT assembles to an instruction designed
    to help the processor execute spin loops, when applicable.  Currently
    implemented for x86 and x86-64.
  * optimization: unsigned integer divisions by a constant are implemented
    using multiplication (affects CEILING, FLOOR, TRUNCATE, MOD, and REM.)
  * optimization: improved type-derivation for LOAD-TIME-VALUE.
  * bug fix: correct RIP offset calculation in SSE comparison and shuffle
    instructions. (lp#814688)
  * bug fix: COERCE to unfinalized extended sequence classes now works.
    (reported by Jan Moringen; lp#815155)
  * bug fix: a compiler error during typecheck generation, reported by Eric
    Marsden. (lp#816564)
  * bug fix: obsolete instance protocol fires when shared slots are added
    or removed.
  * bug fix: fixed-format floating point printing with scaling factors.
    (lp#811386)
  * bug fix: using GCC >= 4.6 to build SBCL on x86 no longer breaks
    backtraces. (lp#818460)
  * bug fix: better backtraces for interrupted syscall frames on x86.
    (lp#549673)
  * bug fix: SSE comparison instructions can be disassembled even when one
    operand is in memory. (lp#814702)
  * bug fix: incomplete writes when not using SERVE-EVENTS. (lp#820599)
  * bug fix: MULTIPLE-VALUE-BIND + VALUES -> LET conversion could lose derived
    type information associated with the VALUES form.
  * bug fix: broken warnings/errors for type-errors involving LOAD-TIME-VALUE
    forms. (lp#823014)
  * bug fix: OPEN :IF-EXISTS :APPEND now returns correct FILE-POSITION before
    first write (lp#561642).
  * bug fix: compiled closures from EVAL could not be DESCRIBEd. (lp#824974)
  * bug fix: bound propagation involving conversion of large bignums to
    floats no longer signals a SIMPLE-TYPE-ERROR, reported by Lutz Euler.
    (lp#819269)
  * bug fix: &REST to &MORE conversion still works in unsafe call to known
    functions; reported by Lutz Euler (lp#826459).
  * bug fix: bogus deadlocks from interrupts and GCs. (lp#807475, regression
    since 1.0.48)

sbcl-1.0.50

changes in sbcl-1.0.50 relative to sbcl-1.0.49:
  * enhancement: errors from FD handlers now provide a restart to remove
    the offending handler.
  * enhancement: SB-INTROSPECT:FIND-DEFINITION-SOURCE now works on structure
    copiers as well.
  * enhancement: location of user or system initialization file can now easily
    be customized for saved cores. See: SB-EXT:*USERINIT-PATHNAME-FUNCTION*
    and SB-EXT:*SYSINIT-PATHNAME-FUNCTION*.
  * enhancement: SB-EXT:MAKE-THREAD accepts an argument list designator for
    the thunk, as a keyword argument, :arguments.
  * enhancement: constraint propagation is simplified (and sped up) when
    COMPILATION-SPEED > SPEED.
  * enhancement: SB-ALIEN exports alien type specifiers SIZE-T and OFF-T.
  * enhancement: debugger understands &MORE arguments better.
  * optimization: extracting bits of a single-float on x86-64 has been
    optimized. (lp#555201)
  * optimization: MAP and MAP-INTO are more efficient for non-simple vectors,
    when (> SPEED SPACE).
  * optimization: local call trampolines (x86 and x86-64) are emitted
    inline.
  * optimization: implicit value cells for dynamic-extent closed-over bindings
    on x86 and x86-64 can hold unboxed values as well.
  * meta-optimization: improved compilation speed, especially for large
    functions. (lp#792363 and lp#394206)
  * bug fix: bound derivation for floating point operations is now more
    careful about rounding possibly closing open bounds. (lp#793771)
  * bug fix: SB-POSIX:SYSCALL-ERROR's argument is now optional. (accidental
    backwards incompatible change in 1.0.48.27)
  * bug fix: occasional debugger errors in when a type-error occured in a
    function with dynamic-extent &rest list.
  * bug fix: &optional and &key supplied-p arguments in DEFSTRUCT
    boa-construtors can be used to initialized structure slots.
  * bug fix: FMAKUNBOUND removes the MACRO-FUNCTION, should one exist.
    (lp#795705, regression)
  * bug fix: DIRECTORY works better on logical pathnames.
  * bug fix: RUN-PROGRAM no longer fails spuriously when argument strings
    are of the order of ARRAY-TOTAL-SIZE-LIMIT. (lp#787237)
  * bug fix: the compiler no longer constant-folds NaNs in
    MAKE-{SINGLE,DOUBLE}-FLOAT. (lp#486812)
  * bug fix: FORMAT now handles floating point rounding correct, eg.
    (format nil "~,1F" 0.01) => "0.0" instead of "0.01" as previously.
    (lp#308961)
  * bug fix: style warning during lambda-list introspection of generic
    functions with both optional and key argments.
  * bug fix: regalloc doesn't barf on unused TNs due to type-directed constant
    folding. (lp#729765)
  * bug fix: Fixed an off-by-one in MAP-ALLOCATED-OBJECTS that might have caused
    infinite loops.

sbcl_1_0_49

changes in sbcl-1.0.49 relative to sbcl-1.0.48:
  * minor incompatible change: WITH-LOCKED-HASH-TABLE no longer disables
    interrupts for its body.
  * enhancement: source locations are now available for files loaded as
    source, compile-time-too evaluation, and initialization files.
  * enhancement: WITH-COMPILATION-UNIT :SOURCE-NAMESTRING allows providing
    virtual source-file information, eg. overriding input-file of COMPILE-FILE
    when a temporary file is used for compilation.
  * enhancement: ASDF has been updated to version 2.015.3.
  * enhancement: backtraces involving frames from the default evaluator are
    more readable.
  * enhancement: RUN-PROGRAM works with user-defined binary input and output
    streams.
  * enhancement: more informative compile-time warnings and runtime errors for
    type-errors detected at compile-time.
  * enhancement: deadlock detection for mutexes and spinlocks.
  * enhancement: dynamic-extent for &rest lists stack allocate only their
    spines, not their argumets. While portable code should not rely on this,
    particularly in combination with inlining, it should make dynamic-extent
    easier to use safely.
  * enhancement: SB-POSIX improvements:
    ** WNOHANG and WUNTRACED are exported.
    ** SYSCALL-ERROR now also provides the name of the failing system call.
  * enhancement: --script improvements:
    ** errors on standard input, output, and error streams are handled and
       cause scripts to exit silently, making them easier to use in shell
       pipelines.
    ** backtraces from scripts now go to standard error instead of the
       terminal even if one is available.
    ** --script can be an argument, causing the script to be loaded from
       standard input.
  * enhancement: MAKE-ALIEN-STRING provides an easy way to transport lisp
    strings to foreign memory.
  * enhancement: (SETF GC-LOGFILE) allows logging garbage collections to
    a file, making it easier to understand heap dynamics.
  * optimization: using a &REST argument only in APPLY or VALUES-LIST calls
    allows the compiler to automatically elide rest-list allocation so long as
    the call sites are in functions that the compiler knows cannot escape.
    (lp#504575)
  * optimization: CALL-NEXT-METHOD using explicit arguments is faster,
    especially in safe code when none of the required arguments have changed
    their identities.
  * bug fix: blocking reads from FIFOs created by RUN-PROGRAM were
    uninterruptible, as well as blocking reads from socket streams created
    with for which :SERVE-EVENTS NIL. (regression from 1.0.42.43)
  * bug fix: SET-SYNTAX-FROM-CHAR now removes dispatch-macro character syntax
    from the to-char if the from-char is not a dispatch-macro character.
  * bug fix: references to undefined variables in function calls that are
    optimized away now signal a runtime error. (lp#722734)
  * bug fix: miscompilation of MULTIPLE-VALUE-CALL when asserting derived
    types from a function defined in the same file. (regression from
    1.0.43.57)
  * bug fix: TRULY-THE forms are now macroexpandable and setf-expandable.
    (lp#771673)
  * bug fix: spurious errors during QUIT when standard streams were closed.

sbcl_1_0_48

changes in sbcl-1.0.48 relative to sbcl-1.0.47:
  * incompatible change: SB!KERNEL:INSTANCE-LAMBDA, deprecated for over five
    years, is now no longer supported.
  * enhancement: read() and write() have been added to SB-POSIX.
  * enhancement: types of DEFSTRUCT constructors are proclaimed more
    accurately, allowing better typechecking of call-sites.
  * enhancement: errors during compile-time-too processing (i.e. EVAL-WHEN)
    are no longer caught. (reverted to pre 1.0.34 behaviour)
  * optimization: slightly faster ISQRT. (lp#713343)
  * bug fix: better support for Solaris /bin/sh in sh-based tests.
  * bug fix: TRACE behaves better when attempting to trace undefined
    functions. (lp#740717)
  * bug fix: missed optimizations for (FUNCALL (LAMBDA ...) ...) in comparison
    to (FUNCALL #'(LAMBDA ...) ...).
  * bug fix: ((LAMBDA ...) ...) forms with invalid argument counts resulted in
    a compile-time error. (lp#720382)
  * bug fix: forms such as (FUNCALL (FUNCTION NAME OOPS) ...) were compiled
    without complaints.
  * bug fix: less verbose source forms for functions from EVAL. (lp#747485)
  * bug fix: sense of SLOT-BOUNDP-USING-CLASS was inverted in a MAKE-INSTANCE
    optimization. (regression from 1.0.45.18/1.0.46.15)
  * bug fix: package locks did not protects against compile-time side-effects
    of DEFUN. (lp#675584)
  * bug fix: --dynamic-space-size argument is validated more carefully.
    (lp#721457)
  * bug fix: memory fault from printing a malformed simple-condition.
    (lp#705690)
  * bug fix: redefining classes so that slot-definition classes change now
    engages the obsolete instance protocol. (lp#766271)
  * bug fix: constant improper lists could break source coverage recording.
    (lp#767959)
  * bug fix: compiling calls to eg. MEMBER with massive constant list arguments
    could exhaust stack.

sbcl_1_0_47

changes in sbcl-1.0.47 relative to sbcl-1.0.46:
  * bug fix: fix mach port rights leaks in mach exception handling code on
    darwin/x86 and /x86-64. (thanks to Willem Oudshoorn for motivation and the
    initial patch)
  * enhancement: --script muffles style-warnings and compiler notes. (lp#677779)
  * enhancement: redefinition warnings for macros from different files. (lp#434657)
  * enhancement: better MACHINE-VERSION on Darwin x86 and x86-64. (lp#668332)
  * enhancement: (FORMAT "foo" ...) and similar signal a compile-time warning. (lp#327223)
  * enhancement: no more "in: LAMBDA NIL" messages from the compiler for forms
    processed using EVAL -- now the appropriate toplevel form is reported instead.
  * enhancement: more legible style-warnings for inappropriate IGNORE and IGNORABLE
    declarations. (lp#726331)
  * enhancement: :NOT-NULL option has been added to alien C-STRING type to indicate
    that NIL/NULL is excluded from the type.
  * enhancement: SB-INTROSPECT:MAP-ROOT allows mapping over pointers contained in
    arbitrary objects.
  * optimization: SLOT-VALUE &co are faster in the presence of SLOT-VALUE-USING-CLASS
    and its compatriots.
  * optimization: core startup time is reduced by 30% on x86-64. (lp#557357)
  * bug fix: SB-DEBUG:BACKTRACE-AS-LIST guards against potentially leaking
    stack-allocated values out of their dynamic-extent. (lp#310175)
  * bug fix: attempts to use SB-SPROF for wallclock profiling on threaded
    x86-64 builds caused a type-error.
  * bug fix: calling COMPILE with something else than a lambda-expression as the
    second argument reports a more sensible error. (lp#718905)
  * bug fix: invalid combinations of :PREDICATE and :TYPE options in DEFSTRUCT
    are detected. (lp#520607)
  * bug fix: constant keyword argument checking didn't take :ALLOW-OTHER-KEYS
    into account.
  * bug fix: SLOT-BOUNDP information is correct during MAKE-INSTANCE in the
    presence of (SETF SLOT-VALUE-USING-CLASS) and SLOT-BOUNDP-USING-CLASS
    methods. (regression from 1.0.45.18)
  * bug fix: INITIALIZE-INSTANCE :AROUND methods supplying initargs via
    CALL-NEXT-METHOD work correctly. (regression from 1.0.45.19)
  * bug fix: several foreign functions accepting string also accepted NIL and
    consequently caused a memory fault at 0 now signal a type-error instead.
    (lp#721087)
  * bug fix: under rare circumstances, constraint propagation could rewrite a
    variable reference to refer to a variable not in scope, causing an error
    during physical environment analysis when attempting to close over the
    variable. (lp#551227)
  * bug fix: SIMPLE-CONDITION :FORMAT-CONTROL defaults to NIL.
Something went wrong with that request. Please try again.