Skip to content

Tags: gsorbier/sbcl

Tags

sbcl-1.4.7

Toggle sbcl-1.4.7's commit message
changes in sbcl-1.4.7 relative to sbcl-1.4.6:

  * enhancement: better handling of unknown keyword arguments (lp#1750466)
  * enhancement: namestrings can now be computed for certain pathnames that
    previously did not have namestrings because of #\. characters in their
    name and/or type components.
  * bug fix: compiling a SLEEP call with a float positive infinity argument no
    longer causes an internal error (lp#1754081)
  * bug fix: keyword arguments provided to a generic function with
    EQL-specialized methods are checked more correctly (reported by Syll,
    lp#1760987)

sbcl-1.4.6

Toggle sbcl-1.4.6's commit message
changes in sbcl-1.4.6 relative to sbcl-1.4.5:

  * enhancement: DISASSEMBLE on a symbol naming a macro will disassemble
    the expander, not the code that traps attempted FUNCALL of the macro.
  * enhancement: The sb-sprof contrib now provides an experimental interface
    for accessing collected profiler data.
  * enhancement: The instruction-level profiling of the sb-prof contrib
    annotates the disassembler output more efficiently.
  * optimization: improved dynamic-extent handling of nested variables.

sbcl-1.4.5

Toggle sbcl-1.4.5's commit message
changes in sbcl-1.4.5 relative to sbcl-1.4.4:

  * minor incompatible change: building with/without the :sb-package-locks
    feature is no longer an option. Package locks are always compiled in,
    and removing :sb-package-locks from *features* will have no effect.
  * enhancement: FIND-PACKAGE does not acquire a mutex
  * enhancement: cheneygc can perform heap relocation on startup
  * enhancement: in threaded builds, finalizers execute in a system-internal
    thread so that a user thread which invokes GC is unblocked from performing
    work as soon it returns from GC and invokes any post-GC hooks.
    As such, it is more important than before to avoid assumptions about
    special variable bindings in finalizers, even in single-threaded code.
  * optimization: faster (funcall (or function symbol)) on x86-64.

sbcl-1.4.4

Toggle sbcl-1.4.4's commit message
changes in sbcl-1.4.4 relative to sbcl-1.4.3:

  * bug fix: pathname accessors such as PATHNAME-DIRECTORY work on
    SYNONYM-STREAMs.
  * bug fix: (pathname-{device,directory,name,type} ... :case :common) works
    as expected. In particular MAKE-PATHNAME composed with the accessors
    roundtrips properly when both use the same :case. (lp#1739906)
  * bug fix: DIRECTORY no longer gets confused when the value of
    *DEFAULT-PATHNAME-DEFAULTS* has a name or type component. (lp#1740563)
  * bug fix: pattern pieces in pathname components are correctly escaped
    during unparsing.
  * bug fix: DELETE-DIRECTORY no longer signals an error when the directory is
    supplied as a pathname with name and/or type components containing escaped
    characters. (lp#1740624)
  * bug fix: weak hash-tables no longer cause GC time to scale superlinearly
    (lp#1241771)
  * bug fix: CANCEL-FINALIZATION operates in approximately constant time
    per operation (lp#1587983)
  * bug fix: big-endian MIPS systems now (mostly) work again (broken since
    1.3.14.x).
  * bug fix: backtrace from arg-count errors on systems other than x86, x86-64,
    ARM, and ARM64 now works again.
  * bug fix: backtrace from asynchronous interrupts on non-x86, non-x86-64
    systems should now be more reliable.
  * enhancement: warnings and errors referring to bindings established by LET,
    LET*, FLET and LABELS point to the offending form more accurately.
  * enhancement: backtrace for invalid argument count produces the exact
    supplied arguments including the extra ones on all platforms (no longer
    just x86, x86-64, ARM, and ARM64).

sbcl-1.4.3

Toggle sbcl-1.4.3's commit message
changes in sbcl-1.4.3 relative to sbcl-1.4.2:

  * enhancement: SLEEP respects deadlines established by SB-SYS:WITH-DEADLINE.
  * bug fix: DECODE-TIMEOUT and operators accepting a timeout no longer signal
    an error when called with an argument that is of type (real 0) but not
    (unsigned-byte 62) (lp#1727789)
  * bug fix: fixed heap exhaustion bug when consing millions of small objects
  * bug fix: sb-safepoint builds are now a lot less prone to deadlocks and odd
    crashes (lp#1424031, lp#1268710)
  * bug fix: argumentless CALL-NEXT-METHOD where specialized-to-T or
    unspecialized parameters are mutated now uses the original (non-mutated)
    parameter values (lp#1734771)
  * bug fix: memory faults from lisp no longer use (thread-and-interrupt
    unsafe) global storage for fault addresses (everywhere), and now have
    cleaner backtraces (on x86 and x86-64). (lp#309068)
  * bug fix: pathnames with a directory component of the form
    (:absolute {:up,:wild,:wild-inferiors}) no longer fail to unparse.
    (lp#1738775)
  * bug fix: more reliable signal handling on macOS.

sbcl-1.4.2

Toggle sbcl-1.4.2's commit message
changes in sbcl-1.4.2 relative to sbcl-1.4.1:

  * minor incompatible change: SB-EXT:QUIT is no longer marked as deprecated
    and behaves like SB-EXT:EXIT.
  * enhancement: ASDF updated to 3.3.1. The ASDF release is dedicated to
    the late Elias Pipping who put enormous amounts of work into it despite
    his terminal illness. Thank you and rest in peace.  (lp#1681201)
  * enhancement: alien routines compiled with '-fsanitize=thread' and/or
    '-fsanitize=memory' cause fewer false positives in error reporting.
  * optimization: fewer instances of consing float constants at runtime.
  * bug fix: a number of compiler bugs detected by Paul F. Dietz' randomized
    tester.  (lp#1731503, lp#1730699, lp#1723993, lp#1730434, lp#1661911,
    lp#1729639, lp#1729471, lp#1728692)
  * bug fix: better errors from NAMESTRING and friends on pathnames with no
    namestrings.  (lp#792154)
  * bug fix: EQUAL and EQUALP compiler transforms were too confident in
    deriving a result.  (lp#1732277, lp#1732225)
  * bug fix: FILL sometimes returned the underlying data vector rather than
    the given array.  (lp#1732553)
  * bug fix: SEARCH returned the wrong answer in some cases.  (lp#1732952)
  * bug fix: the type (COMPLEX INTEGER) behaves more as specified by Function
    TYPEP, which has stronger constraints than System Class COMPLEX.
    (Reported by Eric Marsden, lp#1733400)

sbcl-1.4.1

Toggle sbcl-1.4.1's commit message
changes in sbcl-1.4.1 relative to sbcl-1.4.0:

  * optimization: faster foreign callbacks.
  * enhancement: complex arrays can be stack allocated.
  * enhancement: PROCESS-KILL now exists on win32 and PROCESS-PID actually
    returns the PID.
  * optimization: the register allocation method used by the compiler when
    optimizing for speed is now faster for functions with large bodies.
  * bug fix: SB-INTROSPECT:ALLOCATION-INFORMATION works on big-endian CPUs
    (fixes lp#490490 for real rather than by disabling a test)
  * bug fix: code objects and bignums of large enough size to be placed
    on GC pages without any other object no longer cause accidental copying
    during garbage collection. (gencgc only)
  * bug fix: sb-fasteval failure with 0-argument lambdas (lp#1722715)
  * bug fix: RUN-PROGRAM doesn't leak handles on win32 and PROCESS-CLOSE
    doesn't crash. (lp#1724472)

sbcl-1.4.0

Toggle sbcl-1.4.0's commit message
changes in sbcl-1.4.0 relative to sbcl-1.3.21:

  * minor incompatible change: DESTRUCTURING-BIND treats non-toplevel () as
    nested empty pattern. This seems to be what the standard mandates, so
    conforming code should not be affected.
  * ehancement: (GC :GEN 7) with gencgc will zero-fill dead pseudo-static
    objects so that they do not spuriously cause reachability of objects that
    would have been otherwise dead.
  * enhancement: PROCESS-STATUS now tracks stopped and continued processes
    properly (also fixes lp#1624941, based on patch by Elias Pipping).
  * bug fix: INSPECT handles errors signaled while printing slot
    values. (lp#454682)
  * bug fix: DESCRIBE works on classes like it used to.
  * bug fix: *LOAD-PATHNAME* and *LOAD-TRUENAME* are bound to pathnames
    when processing a sysinit or userinit file
  * bug fix: save-lisp-and-die is able to collect more garbage on non-x86oid
    gencgc targets.
  * bug fix: fixed out-of-bounds array read in optimized POSITION on bit-vectors
  * bug fix: signal emulation respects the 128-byte stack red zone on x86-64
    macOS.

sbcl-1.3.21

Toggle sbcl-1.3.21's commit message
changes in sbcl-1.3.21 relative to sbcl-1.3.20:

  * minor incompatible change: the CLOBBER-IT restart for defstruct redefintion
    has been removed after a 15 year deprecation cycle. Use the new name,
    RECKLESSLY-CONTINUE. Note also that this restart is hidden if deemed unsafe
    due to altered placement of untagged slots in the structure.
  * enhancement: the assignment of -DSBCL_PREFIX= in src/runtime/GNUmakefile
    can be removed as a local patch, which results in an sbcl executable
    that finds its core file relative to itself by looking in "../lib/sbcl".
  * enhancement: backends using the generational GC are able to relocate
    dynamic space anywhere the operating system places it.
    This feature can be disabled by removing :relocatable-heap from the
    build configuration. Not supported on Windows.
  * enhancement: DEFMETHOD no longer signals IMPLICIT-GENERIC-FUNCTION-WARNING.
  * enhancement: better type conflict detection for high order functions, e.g.
    (find x "123" :test #'=)
  * enhancement: the tabular output of ROOM is aligned dynamically, preventing
    misaligned tables for larger sizes or counts.
  * enhancement: ROOM reports on immobile space if applicable.
  * optimization: optimized external-format routines.
  * bug fix: SB-INTROSPECT:ALLOCATION-INFORMATION returns :IMMOBILE
    instead of :FOREIGN for objects in immobile space.
  * bug fix: dotted lists in special forms and function call forms signal
    an appropriate error
  * bug fix: EQUALP hash tables with pathname keys now ignore internal slots.
    (lp#1712944, reported by Jason Miller)

sbcl-1.3.20

Toggle sbcl-1.3.20's commit message
changes in sbcl-1.3.20 relative to sbcl-1.3.19:

  * minor incompatible change: DEF{GENERIC,METHOD} no longer accept some
    illegal lambda lists such as (defgeneric bar (foo &key foo)) or
    (defgeneric baz (t)) that were accepted before.
  * optimization: a valueless &AUX binding in a BOA constructor does not
    force all slots reads in safe code to perform a full type check.
  * optimization: ATOMIC-PUSH and ATOMIC-POP generate better code
  * bug fix: the low-level debugger would erroneously print - or not print
    as the case may be - "(bad-address)" for some objects depending whether
    the --dynamic-space-size argument was used at Lisp startup
  * bug fix: a DEFCONSTANT with a non non-eql-comparable object as the value
    could cause miscompilation if that constant appeared as the default
    expression for an &OPTIONAL binding
  * bug fix: generic function lambda lists are now checked for repeated
    and otherwise illegal entries. (lp#1704114)
  * bug fix: setting gencgc_verbose = 1 could cause deadlock in fprintf()
    depending on the platform's stdio implementation. The relevant code
    has been changed to use snprintf() and write() instead.