Tags give the ability to mark specific points in history as being important
-
sbcl-1.3.0
dab9ef7a · ·changes in sbcl-1.3.0 relative to sbcl-1.2.16: * minor incompatible change: the environment passed to a macro/setf/deftype expander is not always an object of type SB-KERNEL:LEXENV. It can be nil, as is permissible by the standard. * enhancement: ported to ARM64 Linux. * enhancement: a new interpreter is included which has many benefits over sb-eval. It is disabled by default. See src/interpreter/README for instructions to enable it, and further details. * bug fix: calling COMPILE when SB-EXT:*EVALUATOR-MODE* was :INTERPRET would fail to perform "normal semantic processing such as macro expansion" as stipulated by X3J13 issue LOAD-TIME-EVAL. * bug fix: SB-UNICODE:CONFUSABLE-P no longer treats "<" and the empty string as confusable. (lp#1504739) * bug fix: (ASSERT (COMPUTE-IT ...)) would expand incorrectly if COMPUTE-IT was a local macro that shadowed a global function. * bug fix: SB-POSIX:CFSETISPEED and SB-POSIX:CFSETOSPEED now work properly on platforms that use only the minimum specified set of fields in struct termios (verified on Linux, still known not to work on FreeBSD and NetBSD, very probably others). (partial fix for lp#1500951) -
sbcl-1.2.16
02b0f4b2 · ·changes in sbcl-1.2.16 relative to sbcl-1.2.15: * enhancement: by default, timers with a repeat interval do not "catch up" by repeatedly calling their function after a clock discontinuity such as a suspend and resume cycle * bug fix: correctly restore multiple values on the stack in the presence of alien calls. (lp#1489590) * bug fix: MAKE-STRING-OUTPUT-STREAM enforces that :ELEMENT-TYPE is a subtype of CHARACTER. * bug fix: an EQL method specializer no longer causes garbage retention if there are no extant methods using the specializer. (lp#492851) -
sbcl-1.2.15
4bc676e3 · ·changes in sbcl-1.2.15 relative to sbcl-1.2.14: * new feature: DEPRECATION declaration for functions, variables and types causes {EARLY,LATE,FINAL}-DEPRECATION-WARNING to be signaled when subject of the declaration is used. Integrated with DESCRIBE, DOCUMENTATION and SB-CLTL2:{VARIABLE,FUNCTION}-INFORMATION. Documented in the "Deprecation" section of the manual. * enhancement: ASDF updated to 3.1.5. (lp#1476867) * enhancement: definitions within PROGN get proper source locations when compiled (needs latest Slime to take advantage of this). (lp#1473147) * enhancement: source locations for DEFCLASS slots now point directly to the slot definitions, not the whole DEFCLASS form. * bug fix: better source location in the presence of quoted forms. (lp#1370561) * bug fix: better source locations inside backqoute. (lp#1361502) * bug fix: HANDLER-BIND requires that the handler-function be a function designator at the time of binding establishment. (lp#1480679) * bug fix: inlined functions surrounded by nested macrolets are properly inlined. (lp#309123) -
sbcl-1.2.14
abbbd362 · ·changes in sbcl-1.2.14 relative to sbcl-1.2.13: * minor incompatible change: The name of a compiled anonymous lambda as returned by the third value of FUNCTION-LAMBDA-EXPRESSION can have a lambda-list-like list following the introductory LAMBDA that is not in general a syntactically valid lambda list. Specifically, it won't retain default values, supplied-p variables, or &KEY or &AUX bindings. * enhancement: DESTRUCTURING-BIND has been totally reimplemented from scratch to address a handful of performance and correctness issues. Some minor behavioral differences exist regarding order of evaluation of default forms for unsupplied &OPTIONAL and &KEY arguments when nested destructuring patterns are involved. (lp#707556, lp#707573, lp#707578, lp#708051) * enhancement: DEFCONSTANT and DEFSTRUCT respect package locks. (lp#1186238, lp#1036716) * enhancement: sb-unicode:normalize-string has a new optional argument, FILTER, a callback which controls which decomposed characters are collected. Useful for stripping away diacritics more efficiently. * bug fix: (TYPE-OF ARRAY) for a non-simple array is subject to change after a call of ADJUST-ARRAY. (lp#1333731) * bug fix: Dynamic-extent allocation with a loop between allocating a value and the start of its environment no longer discards the allocated data when the loop is taken. (lp#1472785) * bug fix: Variable-reference elimination no longer generates incorrect code under certain circumstances. (lp#1446891) * bug fix: variables with EQL types are no longer treated as constants by VOPs, which caused problems with closures being allocated for such variables, but they remained unused. (lp#1390149) * bug fix: Windows installer generates registry key name correctly. (lp#1476447) -
sbcl-1.2.13
e9a09536 · ·changes in sbcl-1.2.13 relative to sbcl-1.2.12: * incompatible change: on success, TRY-SEMAPHORE and WAIT-ON-SEMAPHORE return the new count * enhancement: WAIT-ON-SEMAPHORE accepts a decrement parameter * enhancement: JOIN-THREAD allows distinguishing timeout vs. abort in all situations * enhancement: On Windows DBG_PRINTEXCEPTION_C is handled and its message is printed. (lp#1437947) * bug-fix: TRUENAME works properly on broken symlinks presented as directories. (lp#1458164) * bug fix: Inlined DPB and DEPOSIT-FIELD don't interfere with left-to-right order of argument evaluation. (lp#1458190) * bug fix: (SETF (LDB (BYTE 1 2 JUNK) X) 0) is rightly rejected. * bug fix: DEFSETF lambda lists should not permit argument destructuring. * bug fix: calls to (SETF SLOT-VALUE) on a missing slot would in certain situations incorrectly return the result of a SLOT-MISSING method instead of always returning the new value. (lp#1460381) * bug fix: a DEFMACRO occurring not at toplevel and capturing parts of its lexical environment (thus being a closure) caused expressions involving the macro name to cause corruption in the pretty-printer due to faulty introspection of the lambda list of a closure. * bug fix: out of line MAP/MAP-INTO check that the results produced by the function are of the matching sequence type. (lp#1459581) * bug fix: pretty-printing of '(LET `((,X ,Y)) :B) is handled correctly. -
sbcl-1.2.12
6f689c23 · ·changes in sbcl-1.2.12 relative to sbcl-1.2.11: * minor incompatible change: the SB-C::*POLICY* variable is no longer a list. Code which manipulated it as such (including but not limited to non-bundled releases of ASDF) will need to be revised. * enhancement: The input stream for COMPILE-FILE implements STREAM-LINE-COLUMN. * enhancement: EVAL errors that occur by way of LOAD report the starting line and column number of the erring toplevel form. (lp#565247) * optimization: better MAP and MAP-INTO on known vector result types. * bug fix: Read/modify/write macros accessing a place which is a composition of CAR+CDR operations, such as (SHIFTF (CADR X) (ELT V 0)), do not access subforms more than once. (lp#1450968) * bug fix: short form of DEFSETF no longer allows trailing junk. * bug fix: DEFINE-MODIFY-MACRO respects the provisions of CLHS 5.1.3 regarding argument evaluation order. (lp#1452539) * bug fix: POP works as specified in CLHS if the setter for its argument has a side-effect on the existing CAR value. (lp#1454021) * bug fix: Reading "#()" with a positive numeric argument signals a reader error. As specified, reading "#1()" has undefined consequences, so correct portable code should be indifferent to this. (lp#1252100) * bug fix: Malformed reader conditionals such as "(#-no-such-feature)" and "(#+sbcl)" no longer parse as NIL. (lp#1454400) -
sbcl-1.2.11
969d9c67 · ·changes in sbcl-1.2.11 relative to sbcl-1.2.10: * enhancement: SET-PPRINT-DISPATCH will warn when given an expression in which any part is unrecognizable as a legal type-specifier. The dispatch table will be altered, but the new entry is disabled. Subsequent type-defining forms will cause pprint-dispatch tables to re-examine whether any disabled entries should be enabled. (lp#1429520) * enhancement: Loading code containing calls to a deprecated function will, under most circumstances, signal warnings similar to compiling such code. The usual caveat holds about not detecting calls through a computed name, as in (funcall (intern "DEPRECATED-FUN" "SB-EXT")). * enhancement: (SB-EXT:COMPILE-FILE-LINE) is a new macro that expands to a constant (VALUES integer integer) indicating the source line/column from which it was read, intended for logging Lisp runtime errors in a style similar to that afforded by the C preprocessor __LINE__ macro. Similarly (SB-EXT:COMPILE-FILE-POSITION) returns a position in characters. * enhancement: improved source locations for VOPs, alien types and declarations. * bug fix: functions in :FINAL deprecation have the correct docstring. No visible change, as no such functions presently exist. (lp#1439151) * bug fix: (SETF (FDEFINITION this) (FDEFINITION OTHER)) signals an error if OTHER names either a macro or special-operator. (lp#1439921) -
sbcl-1.2.10
e9071b4c · ·changes in sbcl-1.2.10 relative to sbcl-1.2.9: * minor incompatible change: all SOCKINT::WIN32-* functions have been deprecated with EARLY deprecation state * minor incompatible change: performing introspection via the system-internal SB-INT:INFO function could expose that :TYPE :TRANSLATOR is not necessarily a function, as it always was before. (Affects swank-fancy-inspector) * enhancement: The value of SXHASH on bit-vectors of length equal to the word size now depends on the vector's contents instead of being constant; its value on bit-vectors of length divisible by the word size now depends also on the contents of the vector's last word. * bug-fix: sb-bsd-sockets on win32 uses proper C function declarations. (lp#1426667) * bug fix: A new dead code elimination phase removes dead code loops that confuse stack analysis. (lp#1255782, lp#308914) * bug fix: A toplevel form which was simple enough to bypass the main compiler in COMPILE-FILE, and which contained an empty SETQ or PROGN would produce an invalid fasl file. (lp#1427050) * bug fix: The compiler no longer signals an internal error when encountering invalid FUNCTION forms like (function 1) * bug fix: express proper dependencies in the ASDF contrib, to support systems where make runs in parallel. (lp#1434768; thanks to Nikhil Benesch) -
sbcl-1.2.9
11817b82 · ·changes in sbcl-1.2.9 relative to sbcl-1.2.8: * minor incompatible change and bug fix: unboxed numeric constants on x86oids are arranged in memory differently, and the disassembler does not show them separately in DISASSEMBLE, but does if DISASSEMBLE-CODE-COMPONENT is used. (lp#1421987) * optimization: The compiler's treatment of type specifiers makes it slightly faster and more memory-efficient. Portable code should be indifferent to this change, however, users of SB-INTROSPECT:FUNCTION-TYPE might notice that (MEMBER T NIL) and (MEMBER NIL T) are both internally collapsed to the former, so that the latter can never be obtained as part of an FTYPE. * optimization: a TYPEP call in which the second argument is not a QUOTE form but nevertheless recognized as a compile-time constant might open-code the test. One scenario for this involves backquote, such as (TYPEP x `(my-type ,some-arg)). Code which relied upon deferring until runtime should declare (NOTINLINE TYPEP). [Due to the sematic constraints of DEFTYPE etc in in CLHS 3.2.2.3, code requiring delayed evaluation could be unportable though.] * enhancement: unused variables at the top-level are now reported. (lp#492200) * bug fix: DEFCLASS handles cyclic {super,meta}class relations better (lp#1418883) * bug fix: compiler no longer signals an error when compiling certain function calls. (lp#1416704, lp#404441, lp#1417822, lp#1234919) * bug fix: compiler doesn't stumble on a LOGIOR transform. (lp#1389433) * bug fix: more robust debugger and backtraces. (lp#1413850, lp#1099500, lp#1412881, lp#945261, lp#1419205, lp#1409402) * bug fix: files larger than 4GB can now be compiled. * bug fix: x86 truncated results from 64-bit foreign functions to 32 bits. * bug fix: file-position didn't work on large files on win32. (lp#1271545) * bug fix: callbacks from foreign threads can work without enabling sb-safepoint. * bug fix: sb-introspect:function-lambda-list works properly on interpeted macros. (lp#1387404) * bug fix: ADJUST-ARRAY properly handles non-adjustable arrays. (lp#886418) * bug fix: compiler no longer fails to dump a multidimensional array constant involving a circular reference to itself * bug fix: conditional and nested DX allocation no longer confuse the compiler in STACK analysis. (lp#1044465) * bug fix: sb-rotate-byte constant folding bug fixed. (lp#1423682) -
sbcl-1.2.8
9049357f · ·changes in sbcl-1.2.8 relative to sbcl-1.2.7: * enhancement: better error and warning messages. (lp#1314767, lp#736383) * enhancement: backtrace for invalid argument count produces the exact supplied arguments including the extra ones, on x86, x86-64 and ARM. * enhancement: a STYLE-WARNING is signaled for DEFSTRUCT accessors which are used before the structure is defined; similarly for the predicate. * optimization: FORMAT NIL with only ~a and string arguments is transformed into CONCATENATE. * optimization: POSITION and FIND when inlined into code that is compiled with qualities of safety < 2 and speed > space will no longer signal an error on circular lists, but will potentially loop forever if given no :END constraint. As was always the case, calls that are not inlined are safe regardless of lexical policy. * bug fix: CLOS methods compiled with (OPTIMIZE (DEBUG 0)) no longer cause debugger failure when printing a backtrace * bug fix: more resilience to deleted code. (lp#1308328, lp#1390544) * bug fix: the CLHS example of MAKE-LOAD-FORM involving TREE-WITH-PARENT did not work, and now it does. -
sbcl-1.2.7
6baceca1 · ·changes in sbcl-1.2.7 relative to sbcl-1.2.6: * optimization: returning constant values refers to preboxed constants more reliably. (lp#1398785) * enhancement: a STYLE-WARNING is produced if a compiler-macro is defined for a function after at least one ordinary (not inlined) call to that function was compiled, indicating a likely compilation order problem. Likewise a warning ensues if a call is compiled to a function that is subsequently proclaimed INLINE. * enhancement: always lose() when something goes wrong while saving a core (instead of just printing an error on stderr in some situations). * enhancement: frames in the debugger are now restartable by default. * bug fix: restore error handling on Windows x86. * bug fix: MAKE-SEQUENCE detects type errors in its :INITIAL-ELEMENT at compile-time when possible. (lp#330299) * bug fix: parsing of malformed type specifiers no longer results in a memory-fault-error. * bug fix: LOOP properly destructures nested lists in WITH. * bug fix: MACROEXPANDing the redefinition of an alien structure type no longer signals the wrong error. * bug fix: PROGV doesn't get confused by forced DEBUG 3 (lp#1405456).