Skip to content

Tags

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

    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

    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

    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

    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.
  • debian/1.0.40.0-2

    Debian release 1:1.0.40.0-2
  • sbcl_1_0_40

    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.
  • debian/1.0.34.0-1.1

    Debian release 1:1.0.34.0-1.1
  • sbcl_1_0_39

    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

    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

    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.