;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.0.41
- * optimization: the default implementation of
+changes relative to sbcl-1.0.44:
+ * optimization: mutated closed-over variables that are only accessed by
+ DYNAMIC-EXTENT closures (currently only FLET and LABELS functions
+ declared to be DYNAMIC-EXTENT) are stored directly in their containing
+ stack frame, rather than allocating a VALUE-CELL (lp#586103).
+ * optimization: UNWIND-PROTECT cleanup functions are now declared
+ DYNAMIC-EXTENT.
+ * bug fix: backtracing function with &REST arguments now shows the full
+ argument list. (lp#310173)
+ * bug fix: return types for functions with complex lambda-lists are now
+ derived properly (lp#384892)
+ * bug fix: when SPEED > SPACE compiling CONCATENATE 'STRING with constant
+ long string arguments slowed the compiler down to a crawl.
+ * bug fix: closure VALUE-CELLs are no longer stack-allocated (lp#308934).
+
+changes in sbcl-1.0.44 relative to sbcl-1.0.43:
+ * enhancement: RUN-PROGRAM accepts :EXTERNAL-FORMAT argument to select the
+ external-format for its :INPUT, :OUTPUT, AND :ERROR :STREAMs.
+ * enhancement: ALLOCATION-INFORMATION also provides the page the object
+ resides on.
+ * enhancement: default dynamic-space size can be configured at build-time
+ without touching source, using the --dynamic-space-size argument to make.sh.
+ * enhancement: DESCRIBE recognizes symbols naming optimization policy
+ qualities, and mentions ALWAYS-BOUND declarations.
+ * enhancement: ATOMIC-INCF now supports AREF of (SIMPLE-ARRAY SB-EXT:WORD (*))
+ as a place.
+ * enhancement: ASDF has been updated to 2.009.
+ * enhancement: the system detects known type-erros in calls better,
+ signalling a full warning about violated proclaimed FTYPEs and violations
+ of derived FTYPEs within the same file, including self-calls.
+ * enhancement: new function: SB-EXT:DELETE-DIRECTORY is now provided.
+ * optimization: constant-folding exploits numeric and character types, in
+ addition member types.
+ * optimization: numeric, character and member types that are inhabited by
+ exactly one value are tested with EQL.
+ * optimization: more conditional branches are eliminated during IR1.
+ Branches are simplified before performing if/if-conversion, and simple
+ equivalent branches (that only read the same constant or variable) are
+ merged.
+ * improvements to the Windows port:
+ ** change: canonical unparsing form for pathname namestrings now uses / as
+ directory separator. NATIVE-NAMESTRING still uses \ as the separator.
+ ** bug fix: stackoverwriting due to incorrect usage of PeekConsoleInput
+ on Windows. (thanks to Kalyanov Dmitry)
+ ** bug fix: build now works on cygwin with GCC 4.x installed. (thanks to
+ Kalyanov Dmitry)
+ ** bug fix: run-sbcl.sh now works on Cygwin. (thanks to Kalyanov Dmitry)
+ * bug fix: compiler failed to derive the result-type of MAKE-ARRAY as
+ (AND VECTOR (NOT SIMPLE-ARRAY)) when appropriate. (lp#309130)
+ * bug fix: (THE (VALUES ...)) in LOAD-TIME-VALUE caused a compiler-error.
+ (lp#646796)
+ * bug fix: interrupts arriving during CL:OPEN caused an error.
+ * bug fix: overeager character buffering could cause input to block
+ spuriously when reading from a pipe (lp#643686)
+ * bug fix: more efficient timer expiry should avoid starvation on systems
+ where number of SIGALRMs per second is restricted. (lp#375515)
+ * bug fix: non-unicode builds no longer fail (broken since 1.0.36.15).
+ * bug fix: compile-times no longer scale linearly with the size of
+ quoted lists in source-code. (lp#654289)
+ * bug fix: better errors for unknown external-formats in OPEN. (lp#561974)
+ * bug fix: DEBUG>SPEED no longer degrades ALIEN-FUNCALL performance quite
+ so badly. (lp#654485)
+ * bug fix: SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME no longer signals
+ an error for eg. STRUCTURE. (lp#458015)
+ * bug fix: LOOP WITH NIL = ... signalled an unused variable style-warning.
+ (lp#613871, thanks to Roman Marynchak)
+ * bug fix: more reliable &REST list type derivation. (lp#655203)
+ * bug fix: PPRINT-LOGICAL-BLOCK multiply-evaluated :PER-LINE-PREFIX,
+ and issued pointles code-deletion notes for it, :PREFIX, and :SUFFIX.
+ * bug fix: the compiler didn't utilize the proclaimed ftype for functions
+ also declared NOTINLINE. (lp#655581)
+ * bug fix: the compiler could attempt to emit constant left shifts of
+ greater value than n-word-bits. (lp#309063)
+ * bug fix: (SETF SYMBOL-FUNCTION) and (SETF FDEFINITION) clear derived
+ type information for the function being set. (lp#659220)
+ * bug fix: the system used to signal bogus STYLE-WARNINGs when functions
+ containing self-calls were recompiled with a new signature, and failed
+ to warn when a self-call using the old signature was left in. (lp#655126)
+ * bug fix: incorrect FILE-POSITION on streams opened using :EXTERNAL-FORMAT
+ :DEFAULT when the default external had character size other than 8 bits.
+ (lp#657183)
+ * bug fix: derived types of functions in the same file were implicitly
+ trusted, leading to potential heap corruption when those function were
+ defined incompatibly. (lp#657499)
+ * bug fix: existing ASDF source registries are ignored when building
+ contribs (lp#659105)
+ * bug fix: short-form DEFSETF checks that the second argument is a symbol
+ (lp#655824, thanks to Roman Marynchak)
+ * bug fix: (SETF MACRO-FUNCTION) clobbered macro-definitions before
+ package-lock violation was detected. (lp#660752)
+ * bug fix: the system can store different docstrings for a single function
+ under different names. (lp#661631, regression from 1.0.29.24)
+ * bug fix: source-locations of DEFGENERIC forms weren't getting recorded
+ properly. (lp#384801)
+ * bug fix: (COERCE X '(SIMPLE-VECTOR 5)) and similar coercions to vectors
+ of specified length could confuse the type derivation in unsafe code.
+ (lp#655872)
+ * bug fix: SB-POSIX:FORK now signals an error if an attempt to
+ fork with multiple Lisp threads running is made on every platform,
+ not just Darwin. (lp#451111)
+ * bug fix: SB-BSD-SOCKETS and SB-SIMPLE-STREAMS could leave stale finalizers
+ around when core was saved, which could cause undefined behaviour when the
+ core was reified.
+ * bug fix: Allow UNTRACE of functions that are no longer defined
+ (lp#667657, thanks to Attila Lendvai)
+ * bug fix: MAKE-ARRAY calls with invalid keyword argument lists now signal a
+ compile-time warning (lp#664373, thanks to Stas Boukarev)
+
+changes in sbcl-1.0.43 relative to sbcl-1.0.42:
+ * incompatible change: FD-STREAMS no longer participate in the serve-event
+ event-loop by default. (lp#316072)
+ ** In addition to streams created by explicit calls to MAKE-FD-STREAM this
+ affects streams from CL:OPEN.
+ ** Streams from SOCKET-MAKE-STREAM still participate in serve-event by
+ default, but this is liable to change: applications needing serve-event
+ for socket streams should explicitly request it using :SERVE-EVENTS T
+ in the call.
+ * enhancement: SB-EXT:WORD type is provided for use with SB-EXT:ATOMIC-INCF
+ &co.
+ * enhancement: CLOS effective method functions and defclass slot typechecking
+ function now have debug names for use in backtraces and profiles.
+ * enhancement: ASDF has been updated to version 2.004. (lp#605260, thanks to
+ Faré Rideau)
+ * enhancement: symbols are printed using fully qualified names in several
+ error and warning messages which are often associated with package
+ conflicts or mixups (lp#622789, thanks to Attila Lendvai)
+ * bug fix: SB-BSD-SOCKETS:SOCKET-CONNECT was not thread safe. (lp#505497,
+ thanks to Andrew Golding)
+ * bug fix: reading /proc files on Linux works. (lp#425199)
+ * bug fix: DOTIMES accepted literal non-integer reals. (lp#619393, thanks to
+ Roman Marynchak)
+ * bug fix: WRITE-TO-STRING compiler macro binding special variable names,
+ breaking code that tried to write the value of a printer control variable.
+ (lp#581564, thanks to Stas Boukarev)
+ * bug fix: WRITE compiler macro did not handle output stream designators
+ correctly. (lp#598374, thanks to Stas Boukarev)
+ * bug fix: better availability of names of foreign functions in backtraces
+ on Linux. (lp#626962, thanks to Stas Boukarev)
+ * bug fix: scripting and build for Solaris and FreeBSD. (lp#615497,
+ lp#627581, thanks to Josh Elsasser and Jim Wise)
+ * bug fix: build fixes for OpenBSD -current and 4.8 (lp#615489, lp#615492,
+ thanks to Josh Elsasser)
+ * bug fix: using aliases for builtin classes as defmethod specializers
+ without adding DEFTYPEs for them works. (lp#618387)
+ * bug fix: timetravel by getrusage() no longer causes type-errors during GC.
+ (lp#544421)
+ * bug fix: legally dynamic-extent lists and vectors used as
+ initialization arguments to MAKE-ARRAY can be stack allocated. (lp#586105)
+ * bug fix: inline-expansion creating references to dead lambda-variables
+ (lp#454681, thanks to Alexey Dejneka)
+ * bug fix: better error message for bogus numerical arguments to RANDOM.
+ (lp#598986, thanks to Stas Boukarev)
+ * bug fix: the compiler occasionally inlined references from incompatible
+ environments occurs. (lp#308951)
+ * bug fix: the compiler threw an error when trying to compile a local
+ function (labels or flet) known to take a specialized complex argument.
+ (not in launchpad, reported by sykopomp in #lispgames)
+ * bug fix: package-locks failed to protect against compile-time effects of
+ DEFUN when the symbol previously had a macro definition. (lp#576637)
+ * bug fix: spurious ignore warnings even given (DECLARE IGNORE) in methods
+ when parameter bindings mutated. (reported by Faré Rideau; lp #611361)
+ * bug fix: workaround for compiler hang in ORDER-UVL-SETS (lp#308914)
+ * bug fix: evaluation in debugger REPL works using the global context when
+ in frames that do not have sufficient debug information.
+ * bug fix: exceeding FD_SETSIZE limit now results in an sensible error
+ (lp#316068)
+ * bug fix: (SETF DOCUMENTATION) of a macro works properly. (lp#643958, thanks
+ to Stas Boukarev)
+ * bug fix: interrupt taking longer than the requested period caused SLEEP
+ to hang on Darwin. (lp#640516, thanks to Joe Lebroco for the analysis)
+
+changes in sbcl-1.0.42 relative to sbcl-1.0.41
+ * build changes
+ ** Cross-compilation host is now specified to make.sh using
+ command-line argument --xc-host=<command> instead of a positional
+ argument. (thanks to Daniel Herring)
+ ** Install location can be specified to make.sh using command-line
+ argument --prefix=<path>. (lp#550889s, thanks to Daniel Herring)
+ * optimization: The default implementation of
COMPUTE-DISCRIMINATING-FUNCTION does much less wasted work.
* enhancement: Explicit memory barrier operations are now available for use
by multithreaded code. See documentation for details.
+ * enhancement: Experimental support for threading on Linux/PPC.
+ * bug fix: RENAME-PACKAGE returns the package. (Thanks to Eric Marsden)
+ * bug fix: EXPT signals an error if first argument is a zero and second
+ argument is a floating point zero. (lp#571581, thanks to Roman Marynchak)
+ * bug fix: DEFTYPE signals an error for non-list lambda-lists.
+ (lp#576594, thanks to Roman Marynchak)
+ * bug fix: make ASDF-INSTALL compatible with the now-included ASDF2.
+ (lp#612998, reported by Phil Hargett; patch from Jim Wise)
changes in sbcl-1.0.41 relative to sbcl-1.0.40:
* optimization: validity of observed keyword initargs to MAKE-INSTANCE is