;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.0.48:
- * enhancement: source locations are now available for files loaded as source,
- compile-time-too evaluation, and initialization files.
+changes 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).
+ * 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)
+
+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.
+
+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: 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: 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 and safer to use.
+ 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.
+ 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)
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.
changes in sbcl-1.0.48 relative to sbcl-1.0.47:
* incompatible change: SB!KERNEL:INSTANCE-LAMBDA, deprecated for over five