Tags

Tags give the ability to mark specific points in history as being important
  • sbcl_1_0_24

    changes in sbcl-1.0.24 relative to 1.0.23:
      * new feature: ARRAY-STORAGE-VECTOR provides access to the underlying data
        vector of a multidimensional SIMPLE-ARRAY.
      * new feature: the system now signals a continuable error if standard
        readtable modification is attempted. (thanks to Tobias Rittweiler)
      * new feature: DIRECTORY has been extended with a non-standard keyword
        argument :RESOLVE-SYMLINKS. (thanks to TC-Rucho)
      * enhancement: SB-BSD-SOCKETS:MAKE-SOCKET-STREAM keyword argument handling
        has been robustified and documented better. (thanks to Robert Goldman)
      * 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)
      * bug fix: #395; fill-pointer output streams used now support
        element-type BASE-CHAR as well.
      * bug fix: compiler error when attempting to derive return value of
        ARRAY-ELEMENT-TYPE when the array type was a union of intersection
        types.
      * bug fix: address-spaces overlapped on OpenBSD. (thanks to Josh
        Elsasser)
      * bug fix: Mac OS X binaries should now be portable between Leopard
        and Tiger.
  • sbcl_1_0_23

    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)
  • sbcl_1_0_22

    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
  • sbcl_1_0_21

    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
        mutate constant symbols or violate declaimed type of the symbol.
      * bug fix: SB-THREAD:SIGNAL-SEMAPHORE could fail to wakeup threads
        sleeping on the semaphore in heavily contested semaphores.
      * bug fix: semaphores and condition variables were not interrupt
        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.
  • sbcl_1_0_20

    changes in sbcl-1.0.20 relative to 1.0.19:
      * minor incompatible change: OPTIMIZE qualities
        SB-C::STACK-ALLOCATE-DYNAMIC-EXTENT, SB-C::STACK-ALLOCATE-VECTOR,
        and SB-C::STACK-ALLOCATE-VALUE-CELLS no longer exist. See documentation
        and SB-EXT:*STACK-ALLOCATE-DYNAMIC-EXTENT* for details.
      * documentation: some slot access efficiency guidelines have been
        added to the user manual.
      * optimization: ASSOC-IF, ASSOC-IF-NOT, MEMBER-IF, MEMBER-IF-NOT,
        RASSOC, RASSOC-IF, and RASSOC-IF-NOT are now equally efficient
        as ASSOC and MEMEBER.
      * optimization: calls to ASSOC, MEMBER, and RASSOC can be transformed
        to more efficient EQ-comparison versions more often.
      * optimization: enhanced derivation of DOLIST iteration variable type
        for constant lists.
      * optimization: constant folding of simple (LIST ...) forms as DOLIST
        arguments.
      * optimization: runtime lookup of function definitions can be
        elided in more cases, eg: (let ((x 'foo)) (funcall foo)).
      * optimization: compiler is able to derive the return type of
        (AREF (THE STRING X) Y) as being CHARACTER.
      * optimization: CLRHASH on empty hash-tables no longer does pointless
        work. (thanks to Alec Berryman)
      * optimization: REPLACE deftransforms don't punt when :START1 or
        :START2 is given
      * bug fix: compiling DESTRUCTURING-BIND on constant list arguments
        no longer emits a code deletion note. (reported by Andrew
        Gasparovic)
      * bug fix: bogus odd-number-of-keywords STYLE-WARNINGs from calls to
        functions with an odd number of &OPTIONAL arguments, a &REST
        argument, and one or more &KEY arguments at the call site.
      * bug fix: STYLE-WARNINGs for functions with both &OPTIONAL and &KEY
        arguments appeared at call sites as well.
      * bug fix: fixed #425; CLOSE drops input buffers from streams, so
        READ-LINE &co can no longer read from them afterwards. (reported
        by Damien Cassou)
      * bug fix: fixed #427: unused local aliens no longer cause compiler
        breakage. (reported by Stelian Ionescu, Andy Hefner and Stanislaw
        Halik)
      * bug fix: non-local exit from a WITH-ALIEN form no longer causes
        alien-stack leakage. (reported by Andy Hefner)
      * bug fix: PROGV signals an error when an attempt to violate declared
        type of a variable or bind a constant is made.
      * bug fix: SET signals an error when an attempt to violate declared
        type of a variable is made.
      * bug fix: restart computation during the execution of a restart
        test function no longer causes infinite recursion. (reported by
        Michael Weber)
      * bug fix: calling SB-COVER:REPORT with a non-directory pathname now
        signals an error. (thanks to Pierre Mai)
      * bug fix: EXPORT left symbol unexported in conflict situations.
        (thanks to Michael Weber)
      * bug fix: correctly handle name conflicts involving CL:NIL.
        (thanks to Michael Weber)
      * bug fix: RESOLVE-CONFLICT restart for name conflicts handles
        conflicts arising from USEing package with conflicting symbols
        correctly. (thanks to Michael Weber)
  • sbcl_1_0_19

    changes in sbcl-1.0.19 relative to 1.0.18:
      * new feature: user-customizable variable SB-EXT:*MUFFLED-WARNINGS*;
        warnings that go otherwise unhandled will be muffled if they are
        of the type that's the value of this variable.
      * optimization: stack allocation is slightly more efficient on x86
        and x86-64.
      * bug fix: DEFSTRUCT forms with user-specified :CONSTRUCTOR options,
        where a raw slot always is initialized using the initform whose
        type is not know sufficiently well a compile-time are now compiled
        correctly. (reported by John Morrison)
      * bug fix: compiler no longer makes erronous assumptions in the
        presence of non-foldable SATISFIES types.
      * bug fix: stack analysis missed cleanups of dynamic-extent
        arguments in non-let-converted calls to local functions.
      * improvements to the Windows port:
        ** adjusted address spaces for building on both Win32 and
           Win64. (thanks for John Connors)
      * fixed some bugs revealed by Paul Dietz' test suite:
        ** interval arithmetic during type derivation used inexact integer
           to single-float coercions.
        ** arithmetic operations involving large integers and single
           floats give the same results in compiled and interpreted code.
        ** deriving the result type of COERCE no longer signals an error
           if the derived type of the second argument is a MEMBER type
           containing invalid type specifiers.
        ** ADJOIN with constant NIL as second argument works correctly.
        ** FUNCTION-KEYWORDS was called SB-PCL::FUNCTION-KEYWORD-PARAMETERS.
  • sbcl_1_0_18

    changes in sbcl-1.0.18 relative to 1.0.17:
      * minor incompatible change: SB-SPROF:WITH-PROFILING now by default
        profiles only the current thread.
      * minor incompatible change: changes to SYMBOL-VALUE of constants
        defined with DEFCONSTANT now signal an error.
      * enhancement: SB-SPROF now has support for wallclock profiling,
        and is also able to profile specific threads. REPORT output
        has also additional sorting options.
      * enhancement: better pretty-printing of DEFPACKAGE forms.  (Thanks
        to Michael Weber)
      * optimization: structure allocation has been improved
        ** constructors created by non-toplevel DEFSTRUCTs are ~40% faster.
        ** out of line constructors are ~10% faster.
        ** inline constructors are ~15% faster.
        ** inline constructors are capable of dynamic extent allocation
           (generally on x86 and x86-64, in some cases on other platforms
           as well.)
      * optimization: simple uses of HANDLER-CASE and HANDLER-BIND no
        longer cons.
      * optimization: file compiler is now able to coalesce non-circular
        lists, non-base strings, and bit-vectors. Additionally, constants
        are never referenced through SYMBOL-VALUE at runtime.
      * optimization: code defining methods on PRINT-OBJECT (and other
        generic functions in the COMMON-LISP package) now loads faster.
      * bug fix: EAI_NODATA is deprecated since RFC 3493. Stop using it
        in sb-bsd-sockets.
      * bug fix: if COMPILE-FILE aborts due to an unwind, the partial
        fasl is now deleted. (reported by Attila Lendvai)
      * bug fix: READ-LINE always returned NIL for the last line in files.
        (reported by Yoshinori Tahara)
      * bug fix: more accurate disassembly annotations of foreign function
        calls.  (thanks to Andy Hefner)
      * bug fix: trimming non-simple strings and non-string string
        designators when the there is nothing to trim works properly.
        (thanks to James Knight)
      * new feature: SB-POSIX bindings for mlockall, munlockall, and setsid.
        (thanks to Travis Cross)
      * fixed some bugs revealed by Paul Dietz' test suite:
        ** NIL is a valid function name (regression at 1.0.13.38)
        ** FILL on lists was missing its return value (regression at 1.0.12.27)
        ** STRING-TRIM, STRING-LEFT-TRIM, and STRING-RIGHT-TRIM did not respect
           fill pointers properly (regression at 1.0.12.23)
        ** STRING-TRIM, STRING-LEFT-TRIM, and STRING-RIGHT-TRIM did not respect
           displacement indices properly (regression at 1.0.12.23)
  • sbcl.1.0.17

    a3894795 · 1.0.17: release ·
  • sbcl_1_0_17

    a3894795 · 1.0.17: release ·
    changes in sbcl-1.0.17 relative to 1.0.16:
      * temporary regression: user code can no longer allocate closure
        variable storage on stack, due to bug 419 without explicitly
        requesting it. Please consult sbcl-devel for advice if you need to
        use this feature in the meanwhile.
      * new feature: runtime argument --control-stack-size can be used to
        adjust thread default control stack size.
      * enhancement: improved TIME output
        ** all times are reported using the measured accuracy (milliseconds
           for real and GC times, microseconds for everything else.)
        ** processor cycle counts on x86 and x86-64.
        ** interpreted forms are counted for both evaluator modes.
        ** number of lambdas converted by the compiler is reported.
        ** CPU percentage report (computed from real and total run time.)
        ** more comprehensive run time reporting, using a condenced format
        ** interperted form, lambda, and page fault counts are omitted
           when zero.
      * optimization: ADJOIN and PUSHNEW are upto ~70% faster in normal
        SPEED policies.
      * optimization: APPEND is upto ~10% faster in normal SPEED policies.
      * optimization: two argument forms of LAST are upto ~10% faster
        in normal SPEED policies.
      * optimization: NCONC no longer needs to heap cons its &REST list
        in normal SPEED policies.
      * bug fix: SB-FLUID build feature no longer breaks the build. (thanks
        to Sidney Markowitz)
      * bug fix: UNION and NUNION work with :TEST-NOT once more,
        regression since 1.0.9.1. (thanks to Eric Marsden)
      * bug fix: result of MAKE-ARRAY can be stack allocated - regression
        since 1.0.15.36. (thanks to Paul Khuong)
      * bug fix: LAST when always returned the whole list when given a bignum
        as the second argument.
      * bug fix: dynamic extent allocation of nested lists and vectors
        could leak to otherwise accessible parts.
      * bug fix: invalid optimization of heap-allocated alien variable
        reference.
      * bug fix: fasl header checking is less vulnerable to different
        platform word lengths.
      * bug fix: more correct assembler syntax for GNU binutils
        2.18.50.0.4 support.  (thanks to Marijn Schouten)
      * bug fix: fix ECASE warnings from CMUCL-as-xc-host.  (reported by
        Andreas Franke)
      * bug fix: the fopcompiler can handle LOCALLY forms (with no
        declarations) successfully.  (reported by Attila Lendvai)
  • sbcl_1_0_16

    changes in sbcl-1.0.16 relative to 1.0.15:
      * minor incompatible change: revert the changes to sb-posix's error
        signaling added in 1.0.14.
      * minor incompatible change: change PROBE-FILE back to returning
        NIL whenever we can't get a truename, as was the case before 1.0.14.
      * 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 Tobias Rittweiler)
      * optimization: binding special variables now generates smaller code
        on threaded platforms.
      * optimization: MEMBER and ASSOC are over 50% faster for :TEST #'EQ
        and cases where no :TEST is given but the compiler can infer that
        the element to search is of type (OR FIXNUM (NOT NUMBER)).
      * optimization: better LOGNOT on fixnums.
      * optimization: modular arithmetic for a particular requested width
        is implemented using a tagged representation unless a better
        representation is available.
      * fixed bug 423: TRULY-THE and *CHECK-CONSISTENCY* interaction.
      * bug fix: SB-BSD-SOCKETS:MAKE-INET-ADDRESS checks the input string
        for wellformedness and returns a specialized vector. (reported by
        Francois-Rene Rideau)
      * bug fix: FIND-CLASS was not thread-safe. (reported by Attila Lendvai)
      * bug fix: ~R was broken for vigtillions. (thanks to Luis Oliveira)
      * bug fix: attempt to obtain *SCHEDULER-LOCK* recursively when
        unscheduling timer at the same time as another timer fires.
      * bug fix: don't reschedule timers for dead threads.
      * bug fix: periodic polling was broken. (thanks to Espen S Johnsen)
      * bug fix: copying output from RUN-PROGRAM to a stream signalled
        bogus errors if select() was interrupted.
      * enhancement: add support for fcntl's struct flock to SB-POSIX.
  • sbcl_1_0_15

    changes in sbcl-1.0.15 relative to sbcl-1.0.14:
      * enhancement: cleaner backtraces for interactive interrupts, as
        well as other cases where the interesting frames used to be
        obscured by interrupt handling frames.
      * enhancement: untracing a whole package using (UNTRACE "FOO") is
        now supported, and tracing a whole package using (TRACE "FOO") now
        traces SETF-functions as well.
      * enhancement: implement SB-POSIX:MKTEMP and SB-POSIX:MKDTEMP.
      * SB-DEBUG:PRINT-FRAME-CALL now prints the entry-point kind even
        when SB-DEBUG:*SHOW-ENTRY-POINT-DETAILS* is NIL.
      * unreadably printed representation of hash-tables now includes
        weakness if any.
      * bug fix: partially fixed #188: type propagation from assignments
        is now more efficient.
      * bug fix: fixed #407: (COERCE X 'SINGLE-FLOAT) and (COERCE X
        'DOUBLE-FLOAT) are not flushable.
      * bug fix: on x86 and x86-64 pointer based EQ-hashing now uses the
        full address of the object, and none of the tag bits.
      * bug fix: readably printing hash-tables now respects other printer
        control variables.  (reported by Cedric St-Jean)
      * bug fix: compiler gave a bogus STYLE-WARNING for the :SYNCHRONIZED
        keyword with MAKE-HASH-TABLE.
      * bug fix: export SB-POSIX:MKSTEMP.
      * bug fix: SORT was not interrupt safe.
      * bug fix: XREF accounts for the last node of each basic-block as
        well.
      * bug fix: MAKE-INSTANCE optimizations interacted badly with
        non-keyword :DEFAULT-INITARGS in the presence of :BEFORE/:AFTER
        methods on SHARED-INITIALIZE.  (thanks to Matt Marjanovic)
      * bug fix: the CTOR optimization for MAKE-INSTANCE should no longer
        create obsolete instances in the case of redefinition or
        obsoletion of a superclass.  (thanks to Andy Hefner)
      * bug fix: Support for the Alpha architecture has been revived; it had
        suffered somewhat from lack of maintenance since sbcl-1.0.
      * improvements to the Windows port:
         ** The system detects the codepage to use at startup, instead of
            using the value from the saved core. (thanks to Kei Suzuki)