X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=f565ca5eb7a58b2e8551c45df9ecbc4176f7aa9e;hb=cd08dc8fd4d4b77fdbe87addb06e97cde247bbf9;hp=8d37f2648059767e0919c4cd6eaaa250183189ce;hpb=9ca04e5fe7bc37286c120bc84cfd4abf05e51327;p=sbcl.git diff --git a/NEWS b/NEWS index 8d37f26..f565ca5 100644 --- a/NEWS +++ b/NEWS @@ -1,11 +1,192 @@ ;;;; -*- coding: utf-8; -*- +changes in sbcl-1.0.6 relative to sbcl-1.0.5: + * bug fix: GETHASH, (SETF GETHASH), CLRHASH and REMHASH are now + interrupt safe. + * bug fix: GC race condition occasionally resulting in crashes with + the error message "SIG_STOP_FOR_GC blocked at a bad place" has been + fixed. + * bug fix: &ENVIRONMENT variables in macro lambda lists can now be + declared ignored. + * bug fix: DEFSETF lambda lists without &ENVIRONMENT no longer cause + a STYLE-WARNING to be signalled (regression from 1.0.4.) + +changes in sbcl-1.0.5 relative to sbcl-1.0.4: + * incompatible change: removed writer methods for host-ent-name, + host-ent-addresses -- changing the values did not update the DNS + information anyway. + * minor incompatible change: changed experimental JOIN-THREAD interface + * documentation: the manual now lists reader and writer methods + in class slot documentation sections. (thanks to Richard M Kreuter) + * documentation: unwinding from asyncronous events has been + documented as unsafe. + * documentation: SB-SYS:WITHOUT-GCING has been documented as unsafe + in multithreaded application code. + * optimization: GET-INTERNAL-REAL-TIME has been optimized on POSIX + platforms. (thanks to James Anderson for the optimization hint) + * optimization: REPLACE, SUBSEQ, and COPY-SEQ are now optimized in + more cases. + * optimization: STRING-{EQUAL,LESSP,GREATER-P} and their NOT- + variants no longer cons. + * optimization: Direct calls to CHAR-{EQUAL,LESSP,GREATERP} and + their NOT- variants no longer cons. + * optimization: EQUAL hash tables no longer use SXHASH for objects + of all data types, but instead use an EQL hash for types for which + EQUAL is the same as EQL. + * optimization: the non-inlined generic versions of AREF and (SETF AREF) + are significantly faster. + * optimization: new STRING-OUTPUT-STREAM implementation is much + faster for large outputs and conses 30% less on average. + * enhancement: XREF information is now collected for references made + to global variables using SYMBOL-VALUE and a constant argument. + * enhancement: SIGINT now causes a specific condition + SB-SYS:INTERACTIVE-INTERRUPT to be signalled. + * bug fix: FILE-POSITION used to signal an error in some cases where + ANSI requires it to return NIL. + * bug fix: ADJUST-ARRAY is now interrupt-safe. + * bug fix: adding and removing fd-handlers is now interrupt-safe. + * bug fix: inlined calls to C now ensure 16byte stack alignment on + x86/Darwin. + * bug fix: bad type declaration in the CLOS implementation has + been fixed. (reported by James Anderson) + * bug fix: incorrect ROOM reporting on x86-64 has been fixed. + (thanks to Lutz Euler) + * bug fix: DEFSETF now allows &ENVIRONMENT and disallows &AUX as + required by the CLHS. (reported by Samium Gromoff) + * bug fix: dead unbound variable references now signal an error. + (reported by Marco Monteiro) + * bug fix: / with an unused value was being deleted in safe code. + (thanks to Marco Monteiro and Kevin Reid) + * bug fix: number of characters that can be written onto a single + line in a file is unlimited. + * bug fix: some GC deadlocks caused by asynchronous interrupts have + been fixed by inhibiting interrupts for when GC is disbled. + * bug fix: some interrupt safety issues with GETHASH, (SETF + GETHASH), CLRHASH and REMHASH have been fixed. + * bug fix: binding *BREAK-ON-SIGNALS* to a value that is not a type + specifier no longer causes infinite recursion. + * bug fix: SB-EXT:MUFFLE-CONDITIONS declarations no longer trigger a + bogus warning in DEFMETHOD bodies. (reported by Kevin Reid) + * bug fix: an &environment argument with the correct variable information + is passed to macros that are expanded during byte compilation. + (reported by Samium Gromoff) + * bug fix: a logic error was causing the hash function for bignums to + have excessive amounts of collisions. (reported by Faré Rideau) + * bug fix: modifying the contents of an array could change the return + value of SXHASH on that array, which is only allowed for strings + and bit vectors. (bug introduced in 0.9.16) + * improvement: the x86-64/darwin port now passes all tests (except + for the debugger tests) but should still be considered + experimental until this is fixed. + * improvement: a style-warning is signaled for CASE (etc) clauses with + duplicate keys. (thanks to Kevin Reid) + * improvement: macos/x86 and macos/x86-64 now use mach exception + handlers for dealing with illegal instructions (for trapping and + error handling) and memory protection violations (for GC). + +changes in sbcl-1.0.4 relative to sbcl-1.0.3: + * new platform: experimental support for x86-64/darwin (MacOS). + * incompatible change: the thread-safe (on most platforms) getaddrinfo + and getnameinfo sockets functions are used instead of gethostbyaddr + and gethostbyname, on platforms where the newer functions are available. + As a result, the ALIASES field of HOST-ENT will always be NIL on these + platforms. + * change: runtimes with embedded cores (i.e. saved with :EXECUTABLE T) + don't print the startup banner, but behave as if --noinform was passed + as a command line argument. (thanks to Kevin Reid) + * new experimental feature: added JOIN-THREAD (by NIIMI Satoshi) + * optimization: code using alien values with undeclared types is much faster. + * optimization: the compiler is now able to open code SEARCH in more cases. + * optimization: more compact typechecks on x86-64 (thanks to Lutz Euler) + * bug fix: using standardized COMMON-LISP special variables as loop + variables no longer signals bogus package lock violations. (reported + by Eric Marsden) + * bug fix: declaring local loop variables to be of a range-limited type + such as (SINGLE-FLOAT 1.0 2.0) no longer causes a compile-time error. + (reported by Andras Simon) + * bug fix: >= and <= gave wrong results when used with NaNs. (Some NaN + bugs remain on x86-64.) + * bug fix: the #= and ## reader macros now interact reasonably with + funcallable instances. + * bug fix: type-checks for function arguments were compiled using the + compiler policy settings of the wrong lexical environment (in 1.0.2 + and 1.0.3). + * bug fix: SHADOW accepts characters as string designators, as required + by the spec (thanks to Eric Marsden) + * bug fix: fixed GC safety issues when foreign functions are called with + non-base strings as arguments + * bug fix: more consistent error output for fatal-compiler-warnings, like + reader errors + * bug fix: functions with proper names were showing up as NIL in + backtraces (reported by Edi Weitz, regression in 1.0.2) + +changes in sbcl-1.0.3 relative to sbcl-1.0.2: + * new platform: NetBSD/PPC. (thanks to Aymeric Vincent) + * optimization: calls of the form (AREF FOO (+ INDEX )) now + produce more efficient code on the x86 if the compiler can determine + that (+ INDEX ) does not require a bounds check and FOO + has an element type at least 8 bits wide. + * bug fix: references to undefined variables are handled the same way + in toplevel forms as in the normal compiler + * bug fix: the build scripts again work with non-bash /bin/sh (thanks + to Magnus Henoch) + * bug fix: use "gtar" as the asdf-install *TAR-PROGRAM* on NetBSD + (thanks to Jon Buller) + * improvement: faster compilation times for complex functions + * improvement: added readlink support to SB-POSIX (thanks to Richard + M Kreuter) + +changes in sbcl-1.0.2 relative to sbcl-1.0.1: + * improvement: experimental support for mach exception handling on + x86/macos. requires building with :MACH-EXCEPTION-HANDLER feature + to use. + * improvement: support for GBK external format. + (thanks to Chun Tian (binghe)) + * improvement: the debugger now displays variables that have been closed + over, in code compiled with (DEBUG 2) or higher + * improvement: support for executable cores on NetBSD (thanks to + Richard Kreuter) + * new feature: added a RESTART-FRAME debugger command + * new feature: new generic function SB-GRAY:STREAM-FILE-POSITION can + be used to provide an implementation for FILE-POSITION on Gray streams + (thanks to Eric Marsden) + * new feature: add syslog, openlog and closelog support to SB-POSIX + (thanks to Richard Kreuter) + * optimization: the function call overhead in code compiled with + a high DEBUG optimization setting is significantly + * bug fix: an error is signaled for attempts to use READ-SEQUENCE + for a (SIGNED-BYTE 8) stream and (UNSIGNED-BYTE 8) vector, or vice versa. + (thanks to Tony Martinez) + * bug fix: the initforms for DEFMETHOD &AUX parameters are only + evaluated once (reported by Kevin Reid) + * bug fix: the :SHOW-PROGRESS keyword parameter to SB-SPROF:WITH-PROFILING + works again (thanks to Kilian Sprotte) + * bug fix: an error is signaled for tagbodies with duplicate tags + (thanks to Stephen Wilson) + * bug fix: NIL can be used as a tagbody tag (thanks to Stephen Wilson) + * bug fix: Win32 port can now handle foreign code unwinding Lisp + stack frames from alien callbacks. + * bug fix: ATANH returned incorrect results on win32 (thanks to Pierre Mai) + * bug fix: SBCL works on Linux/ppc systems with a kernel configured to use + 65k pages (thanks to David Woodhouse) + * bug fix: fix SB-POSIX dirent and socket on NetBSD (thanks to Richard Kreuter) + changes in sbcl-1.0.1 relative to sbcl-1.0: + * new platform: FreeBSD/x86-64, including support for threading. + * new feature: the compiler stores cross-referencing information + abount function calls (who-calls), macroexpansion (who-macroexpands) + and special variables (who-binds, who-sets, who-references) for code + compiled with (< SPACE 3). This information is available through the + sb-introspect contrib. + * new feature: users may subclass SEQUENCE, and have instances of + these classes interoperate with standard Common Lisp functions if + a number of methods are defined. (This feature is experimental + and the interface subject to change based on feedback from SBCL + users and the general community) * improvement: sb-sprof traces call stacks to an arbitrary depth on x86/x86-64, rather than the previous fixed depth of 8 + * improvement: another pthread back-end of mutex "pthread-futex". * bug fix: non-ascii command-line arguments are processed correctly (thanks to Yaroslav Kavenchuk) - * bug fix: TRACE :ENCAPSULATE NIL (and function end breakpoints) - work on Windows. * bug fix: non-required arguments were not passed correctly when a method defined using DEFMETHOD was called from a mop-generated method using CALL-NEXT-METHOD (reported by Pascal Costanza) @@ -16,12 +197,23 @@ changes in sbcl-1.0.1 relative to sbcl-1.0: * bug fix: non ordinary lambda-list keyword in ordinary lambda lists signal a PROGRAM-ERROR, not a BUG. * bug fix: SB-POSIX:READDIR works when built with large file support. + * bug fix: ENOUGH-NAMESTRING works relative to #p"/" as well. (thanks + to Marco Monteiro) + * enhancement: DESTRUCTURING-BIND lambda-list uses &BODY instead of &REST + for better automatic indentation support. (thanks to Matt Pillsbury) * optimization: loading generic functions no longer takes O(n^2) time, proportional to the amount of methods in the generic function (reported by Todd Sabin and Jeremy Brown) * optimization: the FIND and POSITION family of sequence functions are significantly faster on arrays whose element types have been declared. + * improvements to the Windows port: + ** Intermittent heap corruption problems have been fixed. (thanks + to Alastair Bridgewater) + ** TRACE :ENCAPSULATE NIL (and function end breakpoints) + work on Windows. + ** Lisp is able to unwind foreign exception frames from alien + callbacks. (thanks to Alastair Bridgewater) changes in sbcl-1.0 relative to sbcl-0.9.18: * improvement: experimental support for threading on FreeBSD/x86.