Tags give the ability to mark specific points in history as being important
-
sbcl.1.0.33
0593a8eb · · -
sbcl_1_0_33
0593a8eb · ·changes in sbcl-1.0.33 relative to sbcl-1.0.32: * new port: support added for x86-64 NetBSD. (thanks to Aymeric Vincent) * improvement: support O_LARGEFILE access to files larger than 2GB on x86-64/linux. (thanks to Daniel Janus; launchpad bug lp#453080) * new feature: SB-INTROSPECT:WHO-SPECIALIZES-DIRECTLY to get a list of definitions for methods specializing on the passed class itself. * new feature: SB-INTROSPECT:WHO-SPECIALIZES-GENERALLY to get a list of definitions for methods specializing on the passed class itself, or on subclasses of it. * new build flag: :sb-xref-for-internals; SBCL will collect xref information about itself during the build (e.g. for M-? in Slime), if this flag is enabled in customize-target-features.lisp. This will increase the core size by about 5-6mb, though, so it's mostly interesting to SBCL developers. * new feature: various GENCGC tuning parameters have been experimentally documented and exported from SB-EXT. See documentation for details. * fixes and improvements related to Unicode and external formats: ** the Unicode character database has been upgraded to the Unicode 5.2 standard, giving names and properties to a number of new characters, and providing a few extra characters with case transformations. ** improvement: restarts for providing replacement input/output on coding errors for fd-stream external formats. ** improvement: where :<encoding> is a keyword corresponding to an external format the system supports, it is now possible to specify (:<encoding> :replacement <character>) as an external format which will automatically substitute <character> on encoding or decoding errors for streams and for STRING-TO-OCTETS and its inverse. (launchpad bug lp#317072) ** improvement: the file streams underlying the standard streams (such as *STANDARD-INPUT*, *TERMINAL-IO*) are opened with an external format which uses the replacement mechanism to handle encoding errors, preventing various infinite error chains and unrecoverable I/O confusion. ** minor incompatible change: the utf-8 external format now correctly refuses to encode Lisp characters in the surrogate range (char-codes between #xd800 and #xdfff). ** fix a typo preventing conversion of strings into octet vectors in the latin-2 encoding. (reported by Attila Lendvai; launchpad bug lp#471689) ** fix a bug in the octet multibyte handling of decoding errors and the USE-VALUE restart. (launchpad bug lp#314939) ** fix the bug underlying the expected failure in the FORCE-END-OF-FILE restart on fd-stream decoding errors. ** fix a bug in the ATTEMPT-RESYNC fd-stream decoding restart when the error is near the end of file. ** fix a double-error case in unibyte octet conversions, when the first use of USE-VALUE is ignored. ** fix bugs in handling of undefined code points in unibyte encodings. ** fix LISTEN (and consequent hangs in READ-CHAR-NO-HANG) on bivalent streams after an UNREAD-CHAR. * enhancement: SB-INTROSPECT:ALLOCATION-INFORMATION also reports if the object is allocated in a boxed region of dynamic space. * enhancement: SB-POSIX:FORK now signals an error if an attempt to fork with multiple Lisp threads running is made, instead of going ahead with unpredictable consequences. (reported by Leslie Polzer) * bug fix: uses of slot accessors on specialized method parameters within the bodies of SLOT-VALUE-USING-CLASS methods no longer triggers a type error while finalizing the class. This fix may cause classes with slot accessors to be finalized later than previously. (reported by Lars Rune Nøstdal; launchpad bug lp#473699) * bug fix: restore buildability on the MIPS platform. (regression from 1.0.30.38, reported by Samium Gromoff) * bug fix: inspecting closures is less likely to fail with a type error. * bug fix: no timer starvation when setting the system clock back. (launchpad bug lp#460283) * bug fix: WITH-STANDARD-IO-SYNTAX now binds *PRINT-PPRINT-DISPATCH* to the standard pprint dispatch table as specified by CLHS. * bug fix: give CLISP a hint about a type declaration to enable it to build the cross-compiler without warnings. (thanks to Josh Elasser; launchpad bug lp#396597) * bug fix: correctly dump literal objects in defaulting forms of arglists. (reported by Attila Lendvai; launchpad bug lp#310132) * bug fix: distinguish in type specifiers between arrays that might be complex and arrays that are definitely complex. (launchpad bug lp#309129) * bug fix: SUBTYPEP knows that the SYMBOL type is not SUBTYPEP the KEYWORD type. (reported by Levente Mészáros; launchpad bug lp#485972) * bug fix: setting the value of a symbol-macro within a method in the presence of type declarations works properly again. (reported by Iban Hatchondo; launchpad bug lp#485019) -
sbcl.1.0.32
143578d5 · · -
sbcl_1_0_32
143578d5 · ·changes in sbcl-1.0.32 relative to sbcl-1.0.31: * optimization: faster FIND and POSITION on strings of unknown element type in high SPEED policies. (thanks to Karol Swietlicki) * optimization: faster CONCATENATE 'STRING in low SPEED policies (reported by David Vázquez) * improvement: better error signalling for bogus parameter specializer names in DEFMETHOD forms (reported by Pluijzer) * bug fix: DELETE-FILE once again works on logical pathnames (regression since 1.0.30.49) * bug fix: LOGICAL-PATHNAME signals a TYPE-ERROR if pathspec is specified incorrectly. * bug fix: redefinition of a class via DEFCLASS without :DEFAULT-INITARGS removes previous default initargs (reported by Lars Rune Nøstdal and Samium Gromoff) * bug fix: correct WHO-CALLS information for inlined lambdas with complex lambda-lists. (reported by Peter Seibel) * bug fix: SAVE-LISP-AND-DIE option :SAVE-RUNTIME-OPTIONS did not work correctly when starting from an executable core without saved runtime options (reported by Faré Rideau, thanks to Zach Beane) * bug fix: (SETF SLOT-VALUE) signalled a warning which should have been an optimization note instead. (reported by Martin Cracauer) * bug fix: WITH-SLOTS did not work with THE forms. (thanks to David Tolpin) * bug fix: Have RUN-PROGRAM with :INPUT T only run the subprocess in a new process group if it doesn't need to share stdin with the sbcl process. (thanks to Leslie Polzer) * bug fix: SATISFIES could be misoptimized to refer to a local function. (reported by Stanislaw Halik) -
-
sbcl.1.0.31
4afe2bbc · · -
-
sbcl_1_0_31
4afe2bbc · ·changes in sbcl-1.0.31 relative to sbcl-1.0.30: * improvement: stack allocation is should now be possible in all nested inlining cases: failure to stack allocate when equivalent code is manually open coded is now considered a bug. * improvements related to Unicode: ** the Unicode character database has been upgraded to the Unicode 5.1 standard, giving names and properties to a number of new characters, and providing a few extra characters with case transformations. ** the system now recognizes and produces names for Unicode Hangul syllable characters. ** the EBCDIC-US external-format is now supported for octet operations (as well as for stream operations). * new feature: experimental :EMIT-CFASL parameter to COMPILE-FILE can be used to output toplevel compile-time effects into a separate .CFASL file. * optimization: COERCE to VECTOR, STRING, SIMPLE-STRING and recognizable one-dimenstional subtypes of ARRAY is upto 70% faster when the coercion is actually needed. * optimization: TRUNCATE on known single- and double-floats is upto 25% faster. * optimization: division of floating point numbers by constants uses multiplication by reciprocal when an exact reciprocal exists. * optimization: multiplication of single- and double-floats floats by constant two has been optimized. * optimization: ARRAY-IN-BOUNDS-P is resolved at compile-time when sufficient type information is available. (thanks to Leslie Polzer) * optimization: SLOT-VALUE and (SETF SLOT-VALUE) with constant slot names on known structure objects are as efficient as defstruct generated accessors. * optimization: unused vector creation can now be optimized away. * improvement: ASDF systems can now depends on SB-INTROSPECT. * improvement: a STYLE-WARNING is signalled when a generic function clobbers an earlier FTYPE proclamation. * improvement: the compiler is able to track the effective type of generic function across method addition and removal even in the absence of an explicit DEFGENERIC. * improvement: DESCRIBE now reports on symbols naming undefined but assumed or declared function as well. * improvement: recompilation of systems using SB-GROVEL now works (thanks to Leslie Polzer) * improvements to SB-CLTL2 (thanks to Larry D'Anna): ** functions DECLARATION-INFORMATION, PARSE-MACRO, and ENCLOSE have been documented. ** AUGMENT-ENVIRONMENT and DEFINE-DECLARATION have been implemented. ** DECLARATION-INFORMATION now supports declaration name DECLARATION as well as user defined declaration names. ** VARIABLE-INFORMATION is now aware of alien variables. * improvement: improved address space layout on OpenBSD (thanks to Josh Elsasser) * improvement: pretty-printing of various Lisp forms has been improved (thanks to Tobias Rittweiler) * bug fix: calls to DECODE-FLOAT and INTEGER-DECODE-FLOAT whose value was unused were deleted in safe code. (reported by John Fremlin) * bug fix: a failing AVER compiling certain MAKE-ARRAY forms. (reported by James Wright) * bug fix: some out-of-line array predicates were missing (reported by Stelian Ionescu) * bug fix: a failing AVER in CONVERT-MV-CALL has been fixed. (thanks to Larry D'Anna) * bug fix: a failing AVER in %ALLOCATE-CLOSURES conversion has been fixed (thanks to Larry D'Anna) * bug fix: SLEEP supports times over 100 million seconds on long on OpenBSD as well. (reported by Josh Elsasser) * bug fix: DELETE-FILE on streams no longer closes the stream with :ABORT T, leading to possible attempts to delete the same file twice. See docstring on DELETE-FILE for details. (reported by John Fremlin) * bug fix: DELETE-FILE once again deletes the file named by the pathname designator argument, rather than its truename. (reported by Luis Oliveira) * bug fix: the low-level debugger had 32-bit assumptions and was missing information about some array types. (thanks to Luis Oliveira) * bug fix: moderately complex combinations of inline expansions could be miscompiled if the result was declared to be dynamic extent. * bug fix: on x86, SAP-REF of sizes greater than 8 bits with offsets of the form (+ <variable> <integer>) were miscompiled under certain circumstances. * bug fix: in some cases no compiler note about failure to stack allocate was emitted, even if the objects were in fact heap allocated. * bug fix: minor violation of "otherwise inaccessible" rule for stack allocation could cause objects users might reasonably expect to be heap allocated to be stack allocated. * bug fix: DESCRIBE signalled an error for generic functions under certain circumstances. (thanks to Leslie Polzer) * bug fix: Fixed spelling of an error message. -
sbcl.1.0.30
c0f43bb6 · · -
-
sbcl_1_0_30
c0f43bb6 · ·changes in sbcl-1.0.30 relative to sbcl-1.0.29: * minor incompatible change: SB-THREAD:JOIN-THREAD-ERROR-THREAD and SB-THREAD:INTERRUPT-THREAD-ERROR-THREAD have been deprecated in favor of SB-THREAD:THREAD-ERROR-THREAD. * new contrib module: SB-QUEUE provides thread-safe lockless FIFO queues. * new feature: docstrings for local and anonymous functions are no longer discarded. (thanks to Leslie Polzer) * new feature: SB-THREAD:SYMBOL-VALUE-IN-THREAD provides access to symbol values in other threads. * new feature: SB-INTROSPECT:ALLOCATION-INFORMATION provides information about object allocation. * optimization: division of a real float by a complex float is implemented with a specialised code sequence. * optimization: MAKE-INSTANCE with non-constant class-argument but constant keywords is an order of magnitude faster. * optimization: MAKE-INSTANCE with constant keyword arguments is x2-4 faster in the presence of :AROUND or non-standard primary INITIALIZE-INSTANCE methods, and similarly for non-standard metaclass classes as long as there are no methods additional on MAKE-INSTANCE. * optimization: more efficient type-checks for FIXNUMs when the value is known to be a signed word on x86 and x86-64. * optimization: compiler now optimizes (EXPT -1 INTEGER), (EXPT -1.0 INTEGER), and (EXPT -1.0d0 INTEGER) into an ODDP test. (thanks to Stas Boukarev and Paul Khuong) * optimization: compiler is smarter about delegating argument type checks to callees. * optimization: several character functions are now compiled somewhat more efficiently. (reported by Lynn Quam) * optimization: the compiler now derives simple types for LOAD-VALUE-FORMs. * improvement: less unsafe constant folding in floating point arithmetic, especially for mixed complex/real -float operations. * optimization: constant double and single floats are stored in native unboxed format on x86[-64]. * optimization: smarter code for arithmetic operations with constant floats, complex floats, or integers on x86[-64]. * optimization: smarter code for conjugate/multiplication of float complexes and abs/negate of floats on x86-64. * optimization: more efficient complex float and real float operations on x86-64. * improvement: complex float division is slightly more stable. * improvement: DESCRIBE output has been reworked to be easier to read and contains more pertinent information. * improvement: failure to provide requested stack allocation compiler notes provided in all cases (requested stack allocation not happening without a note being issued is now considered a bug.) * bug fix: SB-POSIX exports the documented types and functions FILE-DESCRIPTOR and FILENAME, and also the corresponding -DESCRIPTOR types. (reported by "abhi") * bug fix: on 64 bit platforms FILL worked incorrectly on arrays with upgraded element type (COMPLEX SINGLE-FLOAT), regression from 1.0.28.55. (thanks to Paul Khuong) * bug fix: looping around HANDLER-CASE could silently consume stack space on each iteration. (reported by "foobar") * bug fix: better error signalling when calls to functions seeking elements from lists (eg. ADJOIN) are compiled with both :TEST and :TEST-NOT. (reported by Tobias Rittweiler) * bug fix: regressions in DIRECTORY from 1.0.28.61: pattern matching of directory components now works as it used to. (various prolems reported by Michael Becker, Gabriel Dos Reis, Cyrus Harmon, and Harald Hanche-Olsen) * bug fix: :PTY option in RUN-PROGRAM was broken with stream arguments. (reported by Elliot Slaughter, thanks to Stas Boukarev) * bug fix: bogus undefined variable warnings from fopcompiled references to global variables. (thanks to Lars Rune Nøstdal) * bug fix: foreign function names should now appear in backtraces on FC6 as well. (reported by Tomasz Skutnik and Tobias Rautenkranz) * bug fix: SETF compiler macro documentation strings are not discarded anymore. * bug fix: GENTEMP is now unaffected by pretty printer dispatch table. (thanks to Alex Plotnick) * bug fix: SLEEP accepts large integer arguments, truncating them to SIGNED-WORD on the assumption that sleeping for 68 years is sufficient for anyone. (reported by Leslie Polzer, thanks to Stas Boukarev) * bug fix: compiler notes for expensive slot type checks could be emitted at runtime MAKE-INSTANCE calls. (reported by Samium Gromoff) -
-
-
-
-
sbcl.1.0.29
e834360d · · -
sbcl_1_0_29
e834360d · ·changes in sbcl-1.0.29 relative to 1.0.28: * IMPORTANT: bug database has moved from the BUGS file to Launchpad https://bugs.launchpad.net/sbcl Bugs can be reported directly there, or by sending email to sbcl-bugs@lists.sourceforge.net (no subscription required.) * minor incompatible change: under weak type checking policy integer types are weakened less aggressively. * minor incompatible change: SAVE-LISP-AND-DIE :TOPLEVEL function is now allowed to return, which causes SBCL to quit with exit status 0. Previously if the function returned with a small integer return value, that value was accidentally reused as the exit status. * new feature: SB-EXT:DEFINE-HASH-TABLE-TEST allows defining new arguments to MAKE-HASH-TABLE :TEST, and MAKE-HASH-TABLE has been extended with :HASH-FUNCTION argument. Refer to user manual for details. * new feature: SB-EXT:DEFGLOBAL macro allows defining global non-special variables. * new feature: SB-EXT:GET-TIME-OF-DAY provides access to seconds and microseconds since the Unix epoch on all platforms. * new feature: SB-EXT:ALWAYS-BOUND proclamation inhibits MAKUNBOUND, and allows the compiler to safely elide boundedness checks for special variables. * new feature: SB-EXT:GLOBAL proclamation inhibits SPECIAL proclamations for the symbol, prohibits both lexical and dynamic binding. This is mainly an efficiency measure for threaded platforms, but also valueable in expressing intent. * new feature: UNC pathnames are now understood by the system on Windows. * optimization: the compiler uses a specialized version of FILL when the element type is know in more cases, making eg. (UNSIGNED-BYTE 8) case almost 90% faster. * optimization: accesses to potentially non-simple arrays where element type is known are 50% faster. * optimization: compiler now generates faster array typechecking code. * optimization: ARRAY-DIMENSION is now faster for multidimensional and non-simple arrays. * optimization: multidimensional array accesses in the absence of type information regarding array rank are approximately 10% faster due to open coding of ARRAY-RANK. * optimization: result of (FILL (MAKE-ARRAY ...) ...) and (REPLACE (MAKE-ARRAY ...) ...) can be stack allocated if the result of MAKE-ARRAY form can be. * optimization: result of call to VECTOR can now be stack allocated. * optimization: MAKE-ARRAY with :INITIAL-CONTENTS is now vastly faster as long as the resulting array is one-dimensional and has a known element type. In particular, :INITIAL-CONTENTS (LIST ...) where the length of the list matches the known length of the vector does not allocate the list as an intermediate step. Ditto for VECTOR and simple backquoted forms. * optimization: MAKE-ARRAY can now stack allocate in the presence of :INITIAL-CONTENTS and :INITIAL-ELEMENT as long as the result has a known element type, and is known to be simple and one dimensional. * improvement: SBCL now emits a compiler note where stack allocation was requested but could not be provided (not in all cases, unfortunately) * improvement: better MACHINE-VERSION responses. (thanks to Josh Elsasser) * improvement: pretty-printing loop has been implemented properly. (thanks to Tobias Rittweiler) * documentation: CLOS slot typechecing policy has been documented. * bug fix: FILE-AUTHOR no longer signals an error on Windows. * bug fix: SB-SPROF could be foiled by foreign code not have a frame pointer, leading to memory faults. (thanks to Bart Botta) * bug fix: better floating point exception handling on x86/OpenBSD. (thanks to Josh Elsasser) * bug fix: exit status from QUIT when called under --script was lost (reported by Hubert Kauker) * bug fix: MAKE-ARRAY for non-zero :INITIAL-ELEMENT always used the same implementation of FILL to initialize the array, even if a more efficient one was available (reported by Stas Boukarev, thanks to Paul Khuong) * bug fix: potential miscompilation of array stack allocation on x86 and x86-64. (reported by Time Tossavainen) * bug fix: some forms of AND, OR, and COND resulted in expansions that could result in their subforms being treated as top level forms. (reported by James Knight) * bug fix: On x86/x86-64 alien functions declared to return integers shorter than a machine register could leave garbage in the high bits of the result register (bug 316325). * bug fix: disable address space randomization Linux/x86-64 as well, not just x86-64. (reported by Ken Olum) * bug fix: Attempting to DEREF an (ALIEN (* T)) would produce a WARNING and generate incorrect code. * bug fix: #201; type inference for CONS and ARRAY types could derive wrong results in the presence of eg. RPLACA or ADJUST-ARRAY. * bug fix: special variables with a proclaimed specific subtype of FUNCTION could not be assigned to or bound with PROGV. (reported by Lorenz Mösenlechner) * bug fix: the value of CL:- in the inspector was the previous expression evaluated rather than the expression being evaluated. * bug fix: constants can no longer be locally declared special. * bug fix: signals delivered to threads started from foreign land (read: directly by pthread_create, not by MAKE-THREAD) are redirected to a Lisp thread by blocking all signals and resignalling. * bug fix: SHARED-INITIALIZE initialized unbound :ALLOCATION :CLASS slots from :INITFORM, if any. -
sbcl.1.0.28
2b8c64a5 · · -
sbcl_1_0_28
2b8c64a5 · ·changes in sbcl-1.0.28 relative to 1.0.27: * a number of bugs in cross-compilation have been fixed, with the ultimate result that building under (at least) clisp should be much more reliable. * minor incompatible changes: echo-streams now propagate unread-char to the underlying input stream, and no longer permit unreading more than one character. * improvement: on x86/x86-64 Lisp call frames now have the same layout as C frames, allowing for instance more reliable backtraces. * improvement: the debugger REPL can now reference lexical variables by name directly for code compiled with (DEBUG 3). * improvement: errors from malformed declarations now have better source paths associated with them. (thanks to Tobias Rittweiler) * optimization: faster local calls on x86/x86-64 * bug fix: some error messages for out-of-bound array indexes confused the index and the bound. (thanks to Stas Boukarev) * bug fix: pretty printing malformed DEFPACKAGE forms (thanks to Sidney Markowitz) * bug fix: running regressions tests in shells without OSTYPE set now works. (reported by Harald Hanche-Olsen) * bug fix: more robust static space exhaustion signalling from MAKE-STATIC-VECTOR (thanks to Daniel Lowe) * bug fix: (SETF DOCUMENTATION) for anonymous function now throws the docstring away instead of storing it under names such as (LAMBDA (X)). (reported by Leslie Polzer) * bug fix: timers could go off in the wrong order, be delayed indefinitely (thanks to Ole Arndt for the patch) * bug fix: RESTART-FRAME and RETURN-FROM-FRAME stack corruption * bug fix: the discriminating function for PRINT-OBJECT no longer preserves potentially-invalid effective methods in its cache. * bug fix: SB-INTROSPECT:FIND-DEFINITION-SOURCE now works with funcallable instances as well (thanks to Paul Khuong) * bug fix: using RUN-PROGRAM does not interfere with SB-POSIX:WAIT, SB-POSIX:WAITPID and their C equivalents. * bug fix: RUN-PROGRAM does not crash on Darwin when stressed. -
sbcl.1.0.27
2227ef81 · ·