Download Latest Version sbcl-2.5.6-source.tar.bz2 (8.3 MB)
Email in envelope

Get an email when there's a new version of Steel Bank Common Lisp

Home / sbcl / 2.3.11
Name Modified Size InfoDownloads / Week
Parent folder
README 2023-11-27 4.1 kB
sbcl-2.3.11-documentation-html.tar.bz2 2023-11-27 234.1 kB
sbcl-2.3.11-release-notes.txt 2023-11-27 4.1 kB
sbcl-2.3.11-source.tar.bz2 2023-11-27 7.7 MB
sbcl-2.3.11-x86-64-linux-binary.tar.bz2 2023-11-27 12.2 MB
sbcl-2.3.11-crhodes.asc 2023-11-27 634 Bytes
Totals: 6 Items   20.1 MB 6
changes in sbcl-2.3.11 relative to sbcl-2.3.10:
  * minor incompatible change: streams with an external-format specified with
    :REPLACEMENT will use their replacement data once per stream unit that
    causes a decoding error (rather than, in some cases, once for a sequence
    of bytes none of which is a valid character start position for that
    external-format).
  * minor incompatible change: external-format designators with unsupported or
    unrecognized options now signal an error when used.
  * enhancement: During generic function dispatch, for a generic function
    using standard- or short-method-combination, if there are no applicable
    primary methods the system will call the generic function
    SB-PCL:NO-PRIMARY-METHOD, whose default behaviour is to signal an error.
    Users may define methods on this generic function.
  * enhancement: external formats for unibyte encodings and utf-8 now support
    newline variants.
  * enhancement: character decoding and encoding errors signalled by stream or
    octet functions now provide a USE-VALUE restart for handlers to provide
    replacement input or output.
  * enhancement: READ-SEQUENCE and WRITE-SEQUENCE support user-defined
    sequences; the default implementation proceeds element-by-element, reading
    or writing single bytes or characters to or from the stream as
    appropriate.
  * bug fix: OCTETS-TO-STRING using unibyte external formats with unallocated
    codepoints (e.g. iso-8859-3) correctly signal or use replacements rather
    than taking bits from the address of NIL and converting those bits to
    a character.
  * bug fix: FILE-STRING-LENGTH now returns NIL if the input datum is not
    encodable in the stream's external format.
  * bug fix: table-based multibyte external formats (EUC-JP, Shift-JIS, GBK)
    now honour a replacement character (in the external format or through
    restarts) when encoding to octets.
  * bug fix: converting from octets using the UCS-2, UCS-4 and UTF-32 external
    formats no longer reads past the end of an octet array with a non-integral
    number of two- or four-byte units.
  * bug fix: converting from octets using the UCS-2, UCS-4, UTF-16 or UTF-32
    external formats now returns a simple string, as required by the type
    declaration of OCTETS-TO-STRING.
  * bug fix: providing an invalid external format argument to OPEN or
    WITH-OPEN-FILE (or the internal MAKE-FD-STREAM) no longer leaks a file
    descriptor.
  * bug fix: SB-ROTATE-BYTE recognizes out-of-relevant-range BYTE
    specifications for integers before attempting to cons up enormous bignums
    for masking and shifting.  (lp#2042937)
  * bug fix: fix type derivation on compiling SB-ROTATE-BYTE forms with
    non-zero POSITION in the byte specifier.  (lp#2042775)
  * bug fix: fix multiple assembler errors when compiling MAKE-ARRAY,
    MAKE-STRING and similar with a large constant size.  (lp#2037347, lp#2038744)
  * bug fix: fix internal error when compiling (SETF SBIT) with a large
    constant index.  (lp#2037415)
  * bug fix: fix internal compiler error on invalid lambda list parameters in
    LABELS.  (lp#2040334)
  * bug fix: fix internal compiler error when compiling some
    infinitely-recursive LABELS forms.  (lp#2042704)
  * bug fix: fix internal compiler error when attempting to inline a jump to a
    label that has been deleted.  (lp#2043262)
  * bug fix: FILL-POINTER should never be made to go negative.  (lp#2042452)
  * optimization: external formats with :REPLACEMENT no longer bind handlers
    for coding errors around conversion functions, and so should cons less and
    be faster.
  * optimization: when the :EXTERNAL-FORMAT argument to STRING-TO-OCTETS or
    OCTETS-TO-STRING is a compile-time constant, the external format is
    resolved at load time rather than on each call.
  * optimization: the compiler is able to constrain the types of inputs to
    some functions given a derived or asserted type of the function's return
    value.
  * optimization: the compiler performs fewer redundant type checks in ASSOC,
    GETF and similar functions.

Source: README, updated 2023-11-27