|
From: Christophe R. <cs...@ca...> - 2026-04-29 19:59:35
|
Dear all,
I have released SBCL 2.6.4; the tags in version control, and the
artifacts for download, should now be visible. The most user-visible
changes in this month's release are summarized below.
I intend to be at next month's European Lisp Symposium in Kraków,
logistics permitting. If anyone is planning to show up, please do let
me know that you read these messages, and tell me what you're using SBCL
for. I hope to see some of you there.
Christophe
changes in sbcl-2.6.4 relative to sbcl-2.6.3:
* minor incompatible change: when DEFSETF is called on a name that was
previously used as a (presumed) call to a function, it issues a single
STYLE-WARNING (like DEFMACRO).
* minor incompatible change: SB-EXT:PROCESS-KILL no longer supports the
:PTY-PROCESS-GROUP option (which was never correctly implemented).
* minor incompatible change: the :INITIAL-OFFSET argument for typed
DEFSTRUCT, if given, no longer accepts NIL.
* platform support:
** more likely to support 32-bit linux's struct timeval with 64-bit time_t.
** the runtime's main function is now defined as a weak symbol for
platform/compiler combinations that support it.
** on Windows, individual empty arguments for RUN-PROGRAM are escaped.
** add input/output speed fields for our definition of the termios
structure, addressing a crash in sb-posix:tcsetattr on OpenBSD.
(lp#2150499, thanks to Robert Palm)
* bug fix: address infinite loops in the compiler. (lp#2144911, lp#2148056)
* bug fix: if an FTYPE has been proclaimed for a function, don't mix NULL
with explicitly-typed keyword arguments. (lp#2147050, reported by Vasily
Postnicov)
* bug fix: compiler error from treatment of unused results. (lp#2147383)
* bug fix: compiler error from invalid dimension arguments to MAKE-ARRAY.
(lp#2147384)
* bug fix: compiler error arising from continuing to optimize deleted nodes.
(lp#2147385)
* bug fix: make sure linkage-table alien entries have base-string names.
(lp#2147646, thanks to Seokjun Lee)
* bug fix: make sure CHECK-TYPE's expansion does not include internal
non-externalizable objects. (lp#2148777, reported by Willem Broekema)
* bug fix: alien calls involving passing structs by value are less likely to
read or write wrong areas of memory. (thanks to Jesse Bouwman)
* bug fix: lowering EQUALP to EQUAL handles constant dotted lists correctly.
* bug fix: a number of standard functions perform more explicit type checks
on their arguments.
* bug fix: only return the primary value from (LIST*/APPEND/NCONC <values>).
* bug fix: correct treatment of escaped closing brackets in pathname
patterns.
* bug fix: escape dots in pathnames more correctly.
* bug fix: the hash set for function names will incur collisions less
frequently. (reported by Andrew Wolven)
* bug fix: the system is now capable of expressing select() on the whole
range of possible file descriptors.
* optimization: compiler optimizations for (REPLACE vector list) now apply
given :START1 and/or :END1 keyword arguments.
* optimization: CONCATENATE is faster for concatenating list arguments to a
VECTOR.
* optimization: ROUND for integers is more compact.
* optimization: on 64-bit x86, implement TRUNCATE using the Lemire, Kaser,
Kurz transform.
|