X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=9f3de4aca8487edb97e8b0befa90e5811c2271d0;hb=29003bacae52b0b32626b30e67d6f82a9f4dbce7;hp=7a162e2beee661abbce7ea92d02aa3ccd0d0e68c;hpb=9cbef67c0d16955fc77a555e7ad251d93e206524;p=sbcl.git diff --git a/NEWS b/NEWS index 7a162e2..9f3de4a 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,137 @@ ;;;; -*- coding: utf-8; -*- + * new feature: ARRAY-STORAGE-VECTOR provides access to the underlying + data vector of an multidimensional SIMPLE-ARRAY. + * new feature: the system now signals a continuable error if standard + readtable modification is attempted. (thanks to Tobias Rittweiler) + * optimization: faster generic arithmetic dispatch on x86 and x86-64. + * optimization: FORMAT ~D and ~F are now approximately 5% faster. + * tradeoff: constant FORMAT control strings are now compiled unless + SPACE > SPEED (previously only when SPEED > SPACE.) + * bug fix: Red Hat Enterprise 3 mmap randomization workaround. (thanks + to Thomas Burdick) + * bug fix: DEFCLASS and ENSURE-CLASS-USING-CLASS are now expected to + be thread safe. + * bug fix: lexical type declarations are now correctly reported by + SB-CLTL2. (reported by Larry D'Anna) + * bug fix: STRING-TO-OCTETS did not handle :START properly when + using UTF-8 as external format. (thanks to Luis Oliveira) + * bug fix: errors from invalid fill-pointer values to (SETF FILL-POINTER) + are signalled correctly. (thanks to Stas Boukarev) + * bug fix: SET-MACRO-CHARACTER accepts NIL as the readtable + designator. (thanks to Tobias Rittweiler) + * bug fix: SET-DISPATCH-MACRO-CHARACTER accepts NIL as the readtable + designator, and returns T instead of the function. (thanks to + Tobias Rittweiler) + * bug fix: direct superclasses of STANDARD-CLASS and + FUNCALLABLE-STANDARD-CLASS now default to STANDARD-OBJECT and + FUNCALLABLE-STANDARD-OBJECT as required by AMOP. + * bug fix: compiling a call to SLOT-VALUE with a constant slot-name + when no class with the named slot yet exists no longer causes a + compile-time style-warning. + * bug fix: :ALLOCATION :CLASS slots are type-checked properly + in safe code. (reported by Didier Verna) + * bug fix: #430; nested structure constructors can stack allocate. + * bug fix: on some 64-bit platforms dynamic space size was truncated + to #xffff0000 bytes. (reported by Benjamin Lambert) + * bug fix: setting *READ-SUPPRESS* to T no longer renders the default + REPL unusable. (reported by Daniel Herring) + * bug fix: return values of READ-SEQUENCE did not take :START into + account on file streams, regressions since 1.0.12.22. (reported by + Thomas Russ, patch by Paul Khuong) + * bug fix: using SET or (SETF SYMBOL-VALUE) to change the value of a + method specializer used to confuse permuation vector optimization. + * bug fix: system inserted bogus implicit type declarations for local + special variables in DEFMETHOD bodies. + * bug fix: #354; duplicated frames in backtraces due to + non-tail-call-optimized XEPs to functions with return type NIL + have been elimited. + * bug fix: #357; MAKE-INSTANCE/SHARED-INITIALIZE now + initializes structure object slots according to DEFSTRUCT initforms, + and DEFSTRUCT forms :INCLUDEind structure classes defined using + DEFCLASS :METACLASS STRUCTURE-CLASS now inherit their initforms. + (reported by Bruno Haible and Stephen Wilson) + +changes in sbcl-1.0.23 relative to 1.0.22: + * enhancement: when disassembling method functions, disassembly + for the associated fast function is also produced. + * enhancement: system stores DEFTYPE lambda-lists, so DESCRIBE can + report them. + * optimization: printing with *PRINT-PRETTY* true is now more + efficient as long as the object being printed doesn't require + special handling by the pretty printer. + * bug fix: slot symbol-macros from WITH-SLOTS inside DEFMETHOD bodies + now interact correctly with type declarations. + * partial bug fix: PCL detects infinite recursion during wrapper + validation. (thanks to Attila Lendvai) + * bug fix: #426; nested function calls are inlined properly. + Previously if FOO was an inline function, in calls of the form + (FOO (FOO ...)) the outer call was not inlined. + * bug fix: long long arguments passed in registers to alien + functions on PowerPC Linux and NetBSD are now handled correctly + when preceded by SYSTEM-AREA-POINTERs. (reported by Josh Elsasser) + +changes in sbcl-1.0.22 relative to 1.0.21: + * minor incompatible change: LOAD-SHARED-OBJECT no longer by default looks + for the shared object in the current directory, but passes the native + namestring of the designated pathname to the operation system's shared + object loading function as-it. + * minor incompatible change: --disable-debugger toplevel option now takes + effect before processing of initialization files and --eval or --load + options. + * new feature: new commandline argument: --script, which supports + shebang lines. See documentation for details. (based on work by + Kevin Reid) + * new feature: SAVE-LISP-AND-DIE can save current values of + --dynamic-space-size and --control-stack-size in the executable core, + causing it to skip normal runtime option processing. See documentation + for details. (thanks to Zach Beane) + * enhancement: inoccous calls to EVAL or generic functions dispatching + on subclasses of eg. STREAM no longer cause compiler notes to appear. + * enhancement: the system no longer resignals errors from --load and + --eval toplevel arguments as SIMPLE-ERRORS, which caused restarts + associated with the original error to be lost. (thanks to Ariel + Badichi) + * enhancement: :DONT-SAVE keyword argument has been added to + LOAD-SHARED-OBJECT for controlling interaction with + SAVE-LISP-AND-DIE, and UNLOAD-SHARED-OBJECT can be used to undo + the effects of an earlier LOAD-SHARED-OBJECT call. + * bug fix: ADJUST-ARRAY on multidimensional arrays used bogusly give + them a fill pointer unless :DISPLACED-TO or :INITIAL-CONTENTS were + provided. (reported by Cedric St-Jean) + * bug fix: circularity handling in the reader did not treat raw + structure slots correctly. (reported by Cedric St-Jean) + * bug fix: SERVE-EVENT occasionally signaled an error about bogus + file descriptors when there were none. + * bug fix: DEFINE-COMPILER-MACRO support of destructuring lambda-lists + was broken. (reporteed by Willem Broekema) + * bug fix: SB-EXT:NATIVE-NAMESTRING on Windows did not work on + pathnames without a directory. + * bug fix: COMPILE-FILE did not warn about undefined variable + references at toplevel, and LOAD of the resulting fasl did + not signal an error. + * bug fix: functions with non-required arguments used to end up with + (SB-C::&OPTIONAL-DISPATCH ...) as their name. + * bug fix: redefining a function with non-required arguments didn't + update the system's knowledge about its call signature properly. + * bug fix: fixed #431; incompatible alien record type redefinitions + are detected and handled. (reported by Neil Haven) + * bug fix: using RESTRICT-COMPILER-POLICY with DEBUG 3 could cause + PROGV miscompilation. (reported by Matthias Benkard, patch by Juho + Snellman) + * bug fix: on x86 and x86-64 backtraces were sometimes truncated + after alien stack frames. + * bug fix: strings passed to mk{s,d}temp lacked null termination + +changes in sbcl-1.0.21 relative to 1.0.20: + * new feature: the compiler is able to track the effective type of a + generic function across method addition and removal. * new feature: SB-EXT:ATOMIC-INCF allows atomic incrementation of appropriately typed structure slots without locking. + * new feature: SB-EXT:CALL-WITH-TIMING provides access to timing + information like those gathered by TIME using a programming-friendly + interface. + * new feature: TIME reports time taken even if the form performs a + non-local transfer of control. * enhancement: reduced conservativism on GENCGC platforms: on average 45% less pages pinned (measured from SBCL self build). * bug fix: SB-EXT:COMPARE-AND-SWAP on SYMBOL-VALUE can no longer @@ -11,6 +142,12 @@ safe. * bug fix: SB-THREAD:CONDITION-WAIT doesn't allow waits on mutexes owned by other threads anymore. + * bug fix: FIND on lists called KEY outside the specified + subsequence. (reported by budden) + * bug fix: LOG doesn't use single-float intermediate results when + given mixed integer and double-float arguments, leading to better + precision. (reported by Bob Felts) + * bug fix: LOG with base zero returned values of inconsistent type. changes in sbcl-1.0.20 relative to 1.0.19: * minor incompatible change: OPTIMIZE qualities @@ -195,7 +332,7 @@ changes in sbcl-1.0.16 relative to 1.0.15: * minor incompatible change: SB-BSD-SOCKETS:NAME-SERVICE-ERROR now inherits from ERROR instead of just CONDITION. * new feature: SB-INTROSPECT can provide source locations for instances - as well. (thanks to Tobian Ritterweiler) + as well. (thanks to Tobias Rittweiler) * optimization: binding special variables now generates smaller code on threaded platforms. * optimization: MEMBER and ASSOC are over 50% faster for :TEST #'EQ