Subject: CVS commit: pkgsrc/lang/sbcl
From: Robert Swindells
Date: 2023-11-28 16:03:55
Message id: 20231128150355.9E982FA40@cvs.NetBSD.org

Log Message:
Update to sbcl-2.3.11.

Enable NetBSD/i386 build again.

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. (#2042937)
    * bug fix: fix type derivation on compiling SB-ROTATE-BYTE forms
      with non-zero POSITION in the byte specifier. (#2042775)
    * bug fix: fix multiple assembler errors when compiling
      MAKE-ARRAY, MAKE-STRING and similar with a large constant
      size. (#2037347, #2038744)
    * bug fix: fix internal error when compiling (SETF SBIT) with a
      large constant index. (#2037415)
    * bug fix: fix internal compiler error on invalid lambda list
      parameters in LABELS. (#2040334)
    * bug fix: fix internal compiler error when compiling some
      infinitely-recursive LABELS forms. (#2042704)
    * bug fix: fix internal compiler error when attempting to inline a
      jump to a label that has been deleted. (#2043262)
    * bug fix: FILL-POINTER should never be made to go negative. (#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.

Changes in sbcl-2.3.10 relative to sbcl-2.3.9

    * enhancement: The compiler now allows stack allocating vectors of
      any size on all safety levels, not just those which it can prove
      are of sub-page sizes. It can do this because it now inserts
      code to check for stack overflow explicitly on higher safety
      levels.
    * enhancements to the disassembler:
        * on arm64, x86-64, DISASSEMBLE annotates references to static
          symbols.
    * bug fix: calls to generic functions now detect erroneous
      keywords (in the sense of CLHS 7.6.5) passed as arguments even
      when auxiliary methods are applicable.
    * bug fix: the standard method on SB-MOP:COMPUTE-EFFECTIVE-METHOD
      no longer inserts calls to implementation-defined local
      macros. (reported by Daniel KochmaƄski)
    * bug fix: compiler error from state-machine-like LABELS forms in
      some circumstances. (#2037318)
    * bug fix: fix compile-time error in constant-folding RATIONAL on
      literal float infinities. (#2037455)
    * bug fix: failure on x86-64 to assemble code for EQL tests of
      comparisons with immediates. (#2037456)
    * bug fix: infinite loop in the compiler for simplification of
      type tests of complicated union types. (#2038112, reported by
      Paul M. Rodriguez)
    * bug fix: inability to dump a literal displaced array containing
      copies of its displacement target. (#2038233, reported by James
      Kalenius)
    * bug fix: compiler error in LOGBITP type derivation. (#2038241)
    * bug fix: compiler error in AREF type derivation. (#2038659)
    * bug fix: compiler internal consistency failure in overflow type
      checks. (#2038736)
    * bug fix: work around an infinite loop in type simplification by
      not providing such types from the compiler. (#2038980, reported
      by Richard Holcombe)
    * bug fix: spurious run-time argument count errors from generic
      function calls on arm64. (#2039006, reported by fiddlerwoaroof)
    * bug fix: errors in SCALE-FLOAT on floating-point
      infinities. (#2039613)
    * bug fix: ROOM is slightly more robust to
      incompletely-initialized instances at the point of running
      ROOM. (Reported by Andreas Franke)
    * bug fix: finalizers saved through SAVE-LISP-AND-DIE and
      subsequently executed do not trigger memory faults. (Reported by
      Bohong Huang)
    * optimization: improvements to type derivation for ISQRT,
      INTEGER-LENGTH, LOGCOUNT, LOG, DENOMINATOR.

Changes in sbcl-2.3.9 relative to sbcl-2.3.8

    * enhancement: stack allocation via DYNAMIC-EXTENT now applies to
      all values that a variable can take on (for example via SETQ),
      not just the initial binding. This permits for example building
      complex or recursive structures on the stack more easily via
      iteration. See the updated manual entry for more details.
    * minor incompatible change: some interfaces in the SB-POSIX
      contrib module adhere to the spec that a NULL result from the C
      library is an error if and only if errno was altered by the
      call. SYSCALL-ERROR will be signaled if so.
    * enhancement: the SB-POSIX contrib module provides DO-PASSWDS and
      DO-GROUPS to allow users to iterate over password and group
      databases safely.
    * platform support:
        * support for Darwin on x86 and PowerPC has been
          restored. (#2033287, thanks to Kirill A. Korinsky, Sergey
          Fedorov and barracuda156)
    * bug fix: miscompilation due to erroneous type derivation in the
      presence of multiplication of fixnums by ratios. (#2033695,
      reported by Patrick Dussud)
    * bug fix: compiler error when compiling signed- and unsigned
      64-bit type checks in some cases. (#2033997, reported by Eric
      Smith)
    * bug fix: compiler error when the :INITIAL-CONTENTS argument to
      MAKE-ARRAY is a constant non-sequence. (#2037328)
    * bug fix: compiler error when constant-folding sequence functions
      with :TEST or :KEY functions erroring on the given
      sequence. (#2037341)
    * bug fix: compiler error when arguments to array or sequence
      functions imply a very large sequence size. (#2037443, #2037348)
    * bug fix: compiler error when the return value of ADJUST-ARRAY is
      not used. (#2037450)
    * optimization: function types derived by the compiler can in some
      cases be propagated backwards through the intermediate
      representation.
    * optimization: better type derivations for LDB, LOGBITP, RATIO.
    * optimization: eliminate bound checks in more cases involving
      transitive comparisons.

Files:
RevisionActionfile
1.102modifypkgsrc/lang/sbcl/Makefile
1.26modifypkgsrc/lang/sbcl/PLIST
1.78modifypkgsrc/lang/sbcl/distinfo