Tags give the ability to mark specific points in history as being important
-
sbcl_1_0_44
37df3b7a · ·changes in sbcl-1.0.44 relative to sbcl-1.0.43: * enhancement: RUN-PROGRAM accepts :EXTERNAL-FORMAT argument to select the external-format for its :INPUT, :OUTPUT, AND :ERROR :STREAMs. * enhancement: ALLOCATION-INFORMATION also provides the page the object resides on. * enhancement: default dynamic-space size can be configured at build-time without touching source, using the --dynamic-space-size argument to make.sh. * enhancement: DESCRIBE recognizes symbols naming optimization policy qualities, and mentions ALWAYS-BOUND declarations. * enhancement: ATOMIC-INCF now supports AREF of (SIMPLE-ARRAY SB-EXT:WORD (*)) as a place. * enhancement: ASDF has been updated to 2.009. * enhancement: the system detects known type-erros in calls better, signalling a full warning about violated proclaimed FTYPEs and violations of derived FTYPEs within the same file, including self-calls. * enhancement: new function: SB-EXT:DELETE-DIRECTORY is now provided. * optimization: constant-folding exploits numeric and character types, in addition member types. * optimization: numeric, character and member types that are inhabited by exactly one value are tested with EQL. * optimization: more conditional branches are eliminated during IR1. Branches are simplified before performing if/if-conversion, and simple equivalent branches (that only read the same constant or variable) are merged. * improvements to the Windows port: ** change: canonical unparsing form for pathname namestrings now uses / as directory separator. NATIVE-NAMESTRING still uses \ as the separator. ** bug fix: stackoverwriting due to incorrect usage of PeekConsoleInput on Windows. (thanks to Kalyanov Dmitry) ** bug fix: build now works on cygwin with GCC 4.x installed. (thanks to Kalyanov Dmitry) ** bug fix: run-sbcl.sh now works on Cygwin. (thanks to Kalyanov Dmitry) * bug fix: compiler failed to derive the result-type of MAKE-ARRAY as (AND VECTOR (NOT SIMPLE-ARRAY)) when appropriate. (lp#309130) * bug fix: (THE (VALUES ...)) in LOAD-TIME-VALUE caused a compiler-error. (lp#646796) * bug fix: interrupts arriving during CL:OPEN caused an error. * bug fix: overeager character buffering could cause input to block spuriously when reading from a pipe (lp#643686) * bug fix: more efficient timer expiry should avoid starvation on systems where number of SIGALRMs per second is restricted. (lp#375515) * bug fix: non-unicode builds no longer fail (broken since 1.0.36.15). * bug fix: compile-times no longer scale linearly with the size of quoted lists in source-code. (lp#654289) * bug fix: better errors for unknown external-formats in OPEN. (lp#561974) * bug fix: DEBUG>SPEED no longer degrades ALIEN-FUNCALL performance quite so badly. (lp#654485) * bug fix: SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME no longer signals an error for eg. STRUCTURE. (lp#458015) * bug fix: LOOP WITH NIL = ... signalled an unused variable style-warning. (lp#613871, thanks to Roman Marynchak) * bug fix: more reliable &REST list type derivation. (lp#655203) * bug fix: PPRINT-LOGICAL-BLOCK multiply-evaluated :PER-LINE-PREFIX, and issued pointles code-deletion notes for it, :PREFIX, and :SUFFIX. * bug fix: the compiler didn't utilize the proclaimed ftype for functions also declared NOTINLINE. (lp#655581) * bug fix: the compiler could attempt to emit constant left shifts of greater value than n-word-bits. (lp#309063) * bug fix: (SETF SYMBOL-FUNCTION) and (SETF FDEFINITION) clear derived type information for the function being set. (lp#659220) * bug fix: the system used to signal bogus STYLE-WARNINGs when functions containing self-calls were recompiled with a new signature, and failed to warn when a self-call using the old signature was left in. (lp#655126) * bug fix: incorrect FILE-POSITION on streams opened using :EXTERNAL-FORMAT :DEFAULT when the default external had character size other than 8 bits. (lp#657183) * bug fix: derived types of functions in the same file were implicitly trusted, leading to potential heap corruption when those function were defined incompatibly. (lp#657499) * bug fix: existing ASDF source registries are ignored when building contribs (lp#659105) * bug fix: short-form DEFSETF checks that the second argument is a symbol (lp#655824, thanks to Roman Marynchak) * bug fix: (SETF MACRO-FUNCTION) clobbered macro-definitions before package-lock violation was detected. (lp#660752) * bug fix: the system can store different docstrings for a single function under different names. (lp#661631, regression from 1.0.29.24) * bug fix: source-locations of DEFGENERIC forms weren't getting recorded properly. (lp#384801) * bug fix: (COERCE X '(SIMPLE-VECTOR 5)) and similar coercions to vectors of specified length could confuse the type derivation in unsafe code. (lp#655872) * bug fix: SB-POSIX:FORK now signals an error if an attempt to fork with multiple Lisp threads running is made on every platform, not just Darwin. (lp#451111) * bug fix: SB-BSD-SOCKETS and SB-SIMPLE-STREAMS could leave stale finalizers around when core was saved, which could cause undefined behaviour when the core was reified. * bug fix: Allow UNTRACE of functions that are no longer defined (lp#667657, thanks to Attila Lendvai) * bug fix: MAKE-ARRAY calls with invalid keyword argument lists now signal a compile-time warning (lp#664373, thanks to Stas Boukarev) -
-
sbcl.1.0.43
a7afb656 · · -
sbcl_1_0_43
a7afb656 · ·changes in sbcl-1.0.43 relative to sbcl-1.0.42: * incompatible change: FD-STREAMS no longer participate in the serve-event event-loop by default. (lp#316072) ** In addition to streams created by explicit calls to MAKE-FD-STREAM this affects streams from CL:OPEN. ** Streams from SOCKET-MAKE-STREAM still participate in serve-event by default, but this is liable to change: applications needing serve-event for socket streams should explicitly request it using :SERVE-EVENTS T in the call. * enhancement: SB-EXT:WORD type is provided for use with SB-EXT:ATOMIC-INCF &co. * enhancement: CLOS effective method functions and defclass slot typechecking function now have debug names for use in backtraces and profiles. * enhancement: ASDF has been updated to version 2.004. (lp#605260, thanks to Faré Rideau) * enhancement: symbols are printed using fully qualified names in several error and warning messages which are often associated with package conflicts or mixups (lp#622789, thanks to Attila Lendvai) * bug fix: SB-BSD-SOCKETS:SOCKET-CONNECT was not thread safe. (lp#505497, thanks to Andrew Golding) * bug fix: reading /proc files on Linux works. (lp#425199) * bug fix: DOTIMES accepted literal non-integer reals. (lp#619393, thanks to Roman Marynchak) * bug fix: WRITE-TO-STRING compiler macro binding special variable names, breaking code that tried to write the value of a printer control variable. (lp#581564, thanks to Stas Boukarev) * bug fix: WRITE compiler macro did not handle output stream designators correctly. (lp#598374, thanks to Stas Boukarev) * bug fix: better availability of names of foreign functions in backtraces on Linux. (lp#626962, thanks to Stas Boukarev) * bug fix: scripting and build for Solaris and FreeBSD. (lp#615497, lp#627581, thanks to Josh Elsasser and Jim Wise) * bug fix: build fixes for OpenBSD -current and 4.8 (lp#615489, lp#615492, thanks to Josh Elsasser) * bug fix: using aliases for builtin classes as defmethod specializers without adding DEFTYPEs for them works. (lp#618387) * bug fix: timetravel by getrusage() no longer causes type-errors during GC. (lp#544421) * bug fix: legally dynamic-extent lists and vectors used as initialization arguments to MAKE-ARRAY can be stack allocated. (lp#586105) * bug fix: inline-expansion creating references to dead lambda-variables (lp#454681, thanks to Alexey Dejneka) * bug fix: better error message for bogus numerical arguments to RANDOM. (lp#598986, thanks to Stas Boukarev) * bug fix: the compiler occasionally inlined references from incompatible environments occurs. (lp#308951) * bug fix: the compiler threw an error when trying to compile a local function (labels or flet) known to take a specialized complex argument. (not in launchpad, reported by sykopomp in #lispgames) * bug fix: package-locks failed to protect against compile-time effects of DEFUN when the symbol previously had a macro definition. (lp#576637) * bug fix: spurious ignore warnings even given (DECLARE IGNORE) in methods when parameter bindings mutated. (reported by Faré Rideau; lp #611361) * bug fix: workaround for compiler hang in ORDER-UVL-SETS (lp#308914) * bug fix: evaluation in debugger REPL works using the global context when in frames that do not have sufficient debug information. * bug fix: exceeding FD_SETSIZE limit now results in an sensible error (lp#316068) * bug fix: (SETF DOCUMENTATION) of a macro works properly. (lp#643958, thanks to Stas Boukarev) * bug fix: interrupt taking longer than the requested period caused SLEEP to hang on Darwin. (lp#640516, thanks to Joe Lebroco for the analysis) -
sbcl.1.0.42
a8ec0d53 · · -
sbcl_1_0_42
a8ec0d53 · ·changes in sbcl-1.0.42 relative to sbcl-1.0.41 * build changes ** Cross-compilation host is now specified to make.sh using command-line argument --xc-host=<command> instead of a positional argument. (thanks to Daniel Herring) ** Install location can be specified to make.sh using command-line argument --prefix=<path>. (lp#550889s, thanks to Daniel Herring) * optimization: The default implementation of COMPUTE-DISCRIMINATING-FUNCTION does much less wasted work. * enhancement: Explicit memory barrier operations are now available for use by multithreaded code. See documentation for details. * enhancement: Experimental support for threading on Linux/PPC. * bug fix: RENAME-PACKAGE returns the package. (Thanks to Eric Marsden) * bug fix: EXPT signals an error if first argument is a zero and second argument is a floating point zero. (lp#571581, thanks to Roman Marynchak) * bug fix: DEFTYPE signals an error for non-list lambda-lists. (lp#576594, thanks to Roman Marynchak) * bug fix: make ASDF-INSTALL compatible with the now-included ASDF2. (lp#612998, reported by Phil Hargett; patch from Jim Wise) -
sbcl.1.0.41
5295ccac · · -
sbcl_1_0_41
5295ccac · ·changes in sbcl-1.0.41 relative to sbcl-1.0.40: * optimization: validity of observed keyword initargs to MAKE-INSTANCE is cached, leading to many fewer expensive calls to COMPUTE-APPLICABLE-METHODS. * optimization: in the (unoptimized) general method for MAKE-INSTANCE on a CLASS argument, search for and call an appropriate optimized ctor function if it exists. * bug fix: WRITE always returns the correct value. -
-
-
sbcl.1.0.40
d1583d28 · · -
sbcl_1_0_40
d1583d28 · ·changes in sbcl-1.0.40 relative to sbcl-1.0.39: * bug fix: readdir now works on :inode64 darwin builds (lp#592897) * bug fix: Name conflicts between symbols passed as arguments to a single call to IMPORT no longer add multiple symbols with the same name to the package (detectable via DO-SYMBOLS). * bug fix: support building without the dlshim on darwin x86 and x86-64 (lp#533470). * bug fix: TRACE :ENCAPSULATE NIL now works on ppc/linux. -
-
-
sbcl.1.0.39
7d4ee7ce · · -
sbcl_1_0_39
7d4ee7ce · ·changes in sbcl-1.0.39 relative to sbcl-1.0.38: * bug fix: Backtrace from undefined function on x86 and x86-64 now show the calling frame. * bug fix: linkage-table entries on PPC now no longer overflow their space allocation (potentially causing crashes if they are written out of order). * bug fix: Scrub control stack after scavenging in gencgc on non-x86oid platforms, preventing the GC from seeing stale pointers on the control stack in subsequent GCs (which would, and does, break invariants). * bug fix: 32-bit unicode external formats now work on big-endian systems. * bug fix: Literal characters with code points greater than about 32767 now work on PPC UNICODE builds. * bug fix: Any noise left by SSE operations (sqrt and conversions) in the high order bits are explicitly cleared out. In some contrived situations, this could lead to wrong results in mixed real/complex float arithmetic. * bug fix: Fix function/macro redefinition warnings when building with clisp. (lp#576787, thanks to Josh Elsasser) * new platform: experimental support for ppc/openbsd (thanks to Josh Elsasser). * bug fix: Floating-point traps now work on ppc/linux. -
sbcl.1.0.38
4400b14f · · -
sbcl_1_0_38
4400b14f · ·changes in sbcl-1.0.38 relative to sbcl-1.0.37: * incompatible change: Thread names are now restricted to SIMPLE-STRINGs like for any other thread-related datastructure, MUTEX, etc. (lp#547095) * deprecation: the SB-QUEUE contrib was merged into the SB-CONCURRENCY contrib module. New code should depend on SB-CONCURRENCY, not SB-QUEUE. * deprecation: SB-THEAD:GET-MUTEX was deprecated in favor of SB-THREAD:GRAB-MUTEX. * new contributed module: SB-CONCURRENCY is a new contrib; it's supposed to contain additional data structures and tools for concurrent programming; at the moment it contains a lock-free queue, and a lock-free mailbox implementation. * new feature: added SB-THREAD:GRAB-MUTEX; it's like the now deprecated GET-MUTEX but takes &key rather than &optional parameters. Also added :TIMEOUT argument to GRAB-MUTEX on non-sb-lutex platforms like Linux and BSD. * new feature: added SB-THREAD:TRY-SEMAPHORE, a non-blocking variant of SB-THREAD:WAIT-ON-SEMAPHORE. * new feature: SB-EXT:ATOMIC-DECF has been added as a companion to SB-EXT:ATOMIC-INCF. * new feature: a CANCEL-DEADLINE is associated with DEADLINE-TIMEOUT conditions to defer the deadline for forever. * enhancement: *STANDARD-OUTPUT*, *STANDARD-INPUT*, and *ERROR-OUTPUT* are now bivalent. * enhancement: errors from NO-APPLICABLE-METHOD and NO-PRIMARY-METHOD now have a RETRY restart available to retry the generic function call. * enhancement: SB-BSD-SOCKET improvements ** sockets and socket streams now have a more informative printed representation based on the corresponding SOCKET-NAME and SOCKET-PEERNAME. ** SOCKET-MAKE-STREAM once more supports the :AUTO-CLOSE option. (lp#540413) ** SOCKET-CLOSE now accepts :ABORT argument, which is passed on to CL:CLOSE when appropriate, and no longer disassociates the stream from the socket if close failed. (lp#543951) * improvements to the instrumenting profiler ** new feature: report per-function GC overhead. (thanks to John Fremlin) ** optimization: counters no longer use locks for the overflow mode. ** bug fix: whenever a profiling counter wrapped into overflow mode, it incurred an off-by-one miscount. * enhancement: improved MAKE-HASH-TABLE documentation (lp#543473) * enhancement: improved DEFMETHOD pretty-printing. * enhancement: perform range reduction when arguments are too large for x87's transcendentals (instead of returning 0). (lp#327192) * enhancement: eliminate some spurious TYPE-WARNINGs. Should help with some of CL-PPCRE's macros. (lp#570079) * enhancement: our machine code is slightly less hostile to valgrind on x86-64. * enhancement: up-to-date versions of NetBSD-current are supported. (Thanks to Robert Swindells and Aleksej Saushev) * bug fix: correct restart text for the continuable error in MAKE-PACKAGE. * bug fix: a rare case of startup-time page table corruption. * bug fix: a semaphore with multiple waiters and some of them unwinding due to timeouts could be left in an inconsistent state. * bug fix: fix typo in "Reporting Bugs" section of the manual (lp#520366) * bug fix: misoptimization of multiplication by one in (SB-C::FLOAT-ACCURACY 0) policies. * bug fix: miscounts in SB-PROFILE. * bug fix: Fix lost wakeup bug between SB-THREAD:CONDITION-WAIT and CONDITION-NOTIFY on Linux. See threads "lost wakeup in condition-wait / condition-notify" (Feb 2010) and "Condition-Wait, Deadline handler, waking up itself" (March 2010) for further details. * bug fix: allow forward FIND and POSITION on lists to elide checking :END against length of the list if the element is found before the specified END is reached. (thanks to Alec Berryman, lp#554385) * bug fix: errors signalled during package graph modification no longer block FIND-SYMBOL and FIND-PACKAGE in other threads. (lp#511072) * bug fix: SB-POSIX build was broken when SBCL was compiled without the :SB-DOC feature. (lp#552564) * bug fix: SB-INTROSPECT build issues on GENGC/PPC. (lp#490490) * bug fix: more robust runtime executable path detection. (lp#375549) * bug fix: GCD always returns positive values. (lp#413680) * bug fix: Converting division to multiplication by reciprocal handles denormals. * bug fix: We were too eager in eliding range reduction tests on x87. The maximal magnitude is 2^63, not 2^64. * bug fix: Transforms for TRUNCATE don't die when the result is completely ignored anymore. * bug fix: Maybe restore buildability on Alpha. * bug fix: READ-BYTE isn't inline anymore, fixing weird streams failures. (lp#569404) * bug fix: RANDOM-STATE can be printed readably again. * bug fix: Unreadable objects were sometimes printed like #<\nFoo>. * bug fix: Using EQL with non-constant values of constant type (e.g. EQL types) could result in type mismatches during compilation. -
sbcl.1.0.37
86c91167 · · -
sbcl_1_0_37
86c91167 · ·changes in sbcl-1.0.37 relative to sbcl-1.0.36: * enhancement: Backtrace from THROW to uncaught tag on x86oids now shows stack frame thrown from. * enhancement: WITH-COMPILATION-UNIT :POLICY allows restricting changes to compiler optimization qualities inside dynamic extent of its body. * enhancement: LOAD-LOGICAL-PATHNAME-TRANSLATIONS can be used to load translations from SYS:SITE;<HOST>.TRANSLATIONS.NEWEST (thanks to Michael Weber) * optimization: SLOT-VALUE and (SETF SLOT-VALUE) take advantage of constraint propgation, allowing better compilation eg. when used to access structures with WITH-SLOTS. (lp#520366) * optimization: the compiler is now more aware of the type of the underlying storage vector for multidimensional simple arrays resulting in better code for accessing such arrays. * optimization: passing NIL as the environment argument to TYPEP no longer inhibits optimizing it. (lp#309788) * optimization: more efficient register usage when handling single-float arguments on x86-64. (thanks to Lutz Euler) * optimization: ADJUST-ARRAY and STABLE-SORT on vectors no longer use pre-allocated temporary vectors. (lp#496249) * bug fix: Fix compiler error involving MAKE-ARRAY and IF forms in :INITIAL-CONTENTS. (lp#523612) * bug fix: FUNCTION-LAMBDA-EXPRESSION lost declarations from interpreted functions. (lp#524707) * bug fix: bogus style warnings from certain (SETF SLOT-VALUE) and WITH-SLOTS usages during compilation. * bug fix: SB-C::CLASS-INFO now prints correctly. (lp#514762) * enhancement: Can now build with ud2 instead of int3 as trap instruction on all x86oid platforms with :UD2-BREAKPOINTS target feature. * bug fix: Breakpoints now work when using ud2 instead of int3 as trap instruction (tested on x86oid linux with ud2-breakpoints). * bug fix: slam.sh now works on win32. * bug fix: better differences of numeric types. (lp#309124) * bug fix: arrays declared intersection and union types can have their upgraded element type derived. (lp#316078) * bug fix: SB-SPROF allocation profiling for all threads failed to profile threads started during profiling. (lp#472499) * bug fix: SB-INTROSPECT test failure when building without SB-EVAL feature. (lp#535658) * bug fix: SB-CLTL2:DECLARATION-INFORMATION did not take SB-EXT:RESTRICT-COMPILER-POLICY into account. (lp#313337) * bug fix: Comma inside a backquoted array or structure resulted in nonsense values instead of signaling an error. (lp#309093) * bug fix: Spurious unused variable warning in a DEFSTRUCT edge case. (lp#528807) * bug fix: More consistent warnings and notes for ignored DYNAMIC-EXTENT declarations (lp#497321) * bug fix: FIND and POSITION on lists did not check sequence bounds properly and failed to detect circular lists (lp#452008) * bug fix: leakage from ~/.asdf-install into the ASDf-INSTALL contrib build (lp#538974) * bug fix: LOOP OF-TYPE VECTOR compile-time error. (lp#540186) * bug fix: SIGNAL SB-SYS:INTERACTIVE-INTERRUPT before entering the debugger due to it, so that handlers can run. * bug fix: reparsing undefined types if they have become defined since parsing. (lp#309128) * bug fix: missing &REST type in a proclamation for a function with both &REST and &KEY in lambda-list caused miscompilation (lp#458354) * bug fix: WHO-CALLS information for source-transformed and compiler-macro expanded calls (lp#542174) * bug fix: more accurate WHO-MACROEXPANDS information; point into rather than just at toplevel form.