-
sbcl-1.2.154bc676e3 · ·
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.14abbbd362 · ·
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.13e9a09536 · ·
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.126f689c23 · ·
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.11969d9c67 · ·
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.10e9071b4c · ·
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.911817b82 · ·
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.89049357f · ·
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.76baceca1 · ·
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).
-
show6baceca1 · ·
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).
-
sbcl-1.2.6e569d733 · ·
changes in sbcl-1.2.6 relative to sbcl-1.2.5: * enhancement: SERVE-EVENTS uses the poll() system call in lieu of select() if the OS has the former. Previously poll() was used only if waiting on exactly one file descriptor. * enhancement: efficiency of access to untagged structure slots is improved on x86-64, and the order of slots in memory is exactly as specified by defstruct, simplifying use of structures as arguments to foreign calls. * bug fix: SB-DEBUG:ARG now works in all TRACE options which evaluate forms. (lp#1357826) * bug fix: GC memory corruption during internal memory handling. * bug fix: duplicate effective-slot-definition objects as compared by EQ on name could be present in CLASS-SLOTS of a class whose metaclass was structure-class or condition-class. (lp#1049423) * bug fix: HANDLER-BIND with empty bindings works again; regression in 1.2.5. (lp#1388707) * bug fix: ATOMIC-INCF works on structure slots in interpreted code. (lp#1381867) * bug fix: MAKE-ARRAY properly handles character types like (eql #\a) and (member #\a #\c). (lp#1392068) * bug fix: READ sometimes accidentally preserved a whitespace character after a token when it should not have. (lp#327790)
-
sbcl-1.2.57db8f1a3 · ·
changes in sbcl-1.2.5 relative to sbcl-1.2.4: * enhancement: sb-bsd-sockets now has basic support for IPv6 * enhancement: An sb-unicode package has been added, containing many functions related to handling Unicode text * enhancement: The reader now normalizes symbols to Normalization Form KC (NFKC). This behavior can be disabled with SB-EXT:READTABLE-NORMALIZATION * enhancement: a style-warning is signaled if OPTIMIZE declarations multiply specify a quality with differing values. (lp#310267) * bug fix: conservatively pointed to pages wipe out unused dwords so that they cannot act as false roots in turn. * bug fix: the walker's handling of lexical variable and symbol-macro bindings is improved (lp#375326, lp#1368305) * bug fix: HANDLER-{BIND,CASE} no longer drop into ldb when a clause contains an undefined condition type; regression in 1.1.19 (lp#1378939) * bug fix: in interpreted code, inequality predicates did not type-check arguments that weren't examined, and a 1-argument use of MIN or MAX accepted a complex number. (lp#1373702) * bug fix: APROPOS and APROPOS-LIST handle inherited symbols correctly. (lp#1364413, thanks to Zach Beane)