Commits on Sep 1, 2008
Commits on Aug 22, 2008
  1. Fix PARSE-, NATIVE-NAMESTRING for logical pathnames.

    Richard M Kreuter
    Richard M Kreuter committed Aug 22, 2008
    * Whereas these used to error erroneously, now they error properly.
Commits on Aug 21, 2008
  1. Fix minor bug in TIME.

    Richard M Kreuter
    Richard M Kreuter committed Aug 21, 2008
    * Don't print infinitely many zeroes in %FORMAT-DECIMAL when the last
      several digits of the first argument are zero.  Contributed by Bart Botta.
Commits on Aug 20, 2008
  1. Improved interrupt handling on darwin/x86[-64]

    pkhuong committed Aug 20, 2008
     * Remove an obsolete race condition check in SIGBUS handling
       on x86. Accesses to unmapped addresses should no longer result
       in infinite loops.
     * Now reserve a 256 byte (slightly more than that is actually safe
       to use) zone just below SP for signal handlers to safely push
       data in.
  2. Small bugfixes

    pkhuong committed Aug 20, 2008
     * Modify a couple number functions to avoid silently executing
       the default case even when the argument isn't a number.
     * Fix an obscure bug in MERGE-LETS.
Commits on Aug 17, 2008
  1. correct shadowing-import of NIL in NAME-CONFLICT

    nikodemus committed Aug 17, 2008
     * Was missing the surrounding LIST -- NIL alone is a designator for
       the empty list.
       Patch by Michael Weber.
  2. muffle code deletion note from destructuring-bind

    nikodemus committed Aug 17, 2008
     * Was emitted when destructuring constant lists.
Commits on Aug 15, 2008
  1. new function: page_region_start()

    nikodemus committed Aug 15, 2008
     ...and use where appropriate.
  2. new function: is_lisp_immediate()

    nikodemus committed Aug 15, 2008
     * Use where appropriate in the runtime.
     * Since runtime.h now includes fixnum.h, remove a few includes as well.
Commits on Aug 10, 2008
  1. more ir1 transforms for REPLACE

    Gabor Melis
    Gabor Melis committed Aug 10, 2008
    Supplying START1 or START2 does not inhibit ir1 transforms for
    specialized array types.
Commits on Aug 7, 2008

    nikodemus committed Aug 7, 2008
     * Slightly less catastrophic.
Commits on Aug 5, 2008
  1. refactor global muffling slightly

    nikodemus committed Aug 5, 2008
     * Move TYPEP *MUFFLED-WARNINGS* into a separate function for easier
       debugging. (Too hard to replace the inital handler cluster while
       running, whereas redefining MUFFLED-WARNING-P is easy.)
  2. incorrect function type canonicalization

    nikodemus committed Aug 5, 2008
     * If the signature has both &KEY and &OPTIONAL arguments, the
       canonicalization cannot merge &OPTIONAL into &REST. (Not that I am sure why
       we should be merging &OPTIONAL into &REST in *any* case, but this caused
       bogus warning.)
     * Add &KEY SILENT to PARSE-LAMBDA-LIST-LIKE-THING, which silences any
       style-warnings from it: we don't want SPECIFIER-TYPE to complain about the
       lambda-lists it parses.
  3. COMPILER-WARN accepts conditions

    nikodemus committed Aug 5, 2008
     * Accidentally left out from
  4. fix bug #425

    nikodemus committed Aug 5, 2008
     * Make CLOSE drop input buffers from ANSI-STREAMs. Reported by Damien
       Cassou on sbcl-devel.
     * Signal SB-INT:CLOSED-STREAM-ERROR instead of a SIMPLE-ERROR -- good
       for clarity, enables a proper test.
Commits on Aug 4, 2008
  1. delete stale symbol SB-DI:DO-BLOCKS

    nikodemus committed Aug 4, 2008
     * Reported by Tobias C. Rittweiler.
  2. fast CLRHASH on empty hash-tables

    nikodemus committed Aug 4, 2008
     * Patch by Alec Berryman.
  3. manual updates

    nikodemus committed Aug 4, 2008
     * Four patches from Xan Lopez on sbcl-devel, one slightly adjusted.
     * Document slot access efficiency issues.
  4. transform ADJOIN, ASSOC, MEMBER, and RASSOC to -EQ version…

    nikodemus committed Aug 4, 2008
    …s more often
     * Add transforms from %FOO and %FOO-KEY to %FOO-EQ and %FOO-KEY-EQ,
       so that propagated type information has a chance to work its magic.
Commits on Aug 3, 2008
  1. DOLIST variable type on constant lists

    nikodemus committed Aug 3, 2008
     * When DOLIST list is a (LIST ...) form where every argument is a
       constant, constant-fold it during macro-expansion. (User has no
       direct access to the list itself, so this is safe.)
     * When DOLIST list ia a constant, add an extra binding,
       and annotate its type as (MEMBER ...).
       This means that the compiler knows that in
        (dolist (x (list 1 2 3)) ...)
       X is (INTEGER 1 3).
     * Also add a STYLE-WARNING for constant dotted lists in DOLIST.
  2. derive the type of (AREF (THE STRING X) Y) as CHARACTER

    nikodemus committed Aug 3, 2008
     * Even though we don't know the exact upgraded array element type, we
       do know the result is a character.
     * Noticed while wondering why C-ESCAPE had a call to %MEMBER instead
       of %MEMBER-EQ.
Commits on Aug 2, 2008
  1. package name conflict patched from Michael Weber

    nikodemus committed Aug 2, 2008
     * Tests for package system name conflict resolution.
     * Fixed EXPORT bug which left symbol unexported in conflict
     * Unbreak RESOLVE-CONFLICT restart:
        ** USEing packages with conflicting symbols
        ** Correctly handle conflicts involving CL:NIL by passing (list
           symbol) to package frobbing functions which take a list
     * Removed commented-out version of NAME-CONFLICT.
Commits on Aug 1, 2008
  1. Immediate SAP bug fix & grab bag of small changes

    pkhuong committed Aug 1, 2008
     * SAPs can't actually be emitted as immediates. Only a problem now that
       constants are treated more cleverly.
       Fixes the "#.(SB-SYS:INT-SAP #X00000000) fell through ETYPECASE expression"
       bug associated with CFFI's NULL-POINTER. Reported by Ingo Bormuth on
       sbcl-devel, and by several others on #lisp.
     * EAs can still only fit 32 bit displacements on x86-64.
     * Make SAP-INT foldable, thus improving code generation for expressions
       like (sap= +null-pointer+ sap).
  2. Fix WITH-ALIEN for non-x86oids.

    Richard M Kreuter
    Richard M Kreuter committed Aug 1, 2008
  3. give a warning for newly deprecated stack-allcation optimi…

    nikodemus committed Aug 1, 2008
    …zation policies
     * Most importantly, keep the symbols around for a while, since otherwise reading
       code that tries to twiddle them causes a package-lock violation.
     * Make it a refence condition for good measure.
     * Prettify the output in from other policy-related warnings while at it.
  4. SB-SYS spring cleaning

    nikodemus committed Aug 1, 2008
     * Delete a bunch of unused symbols (and one from SB-KERNEL too.)
Commits on Jul 31, 2008
  1. additional list seeking transformations

    nikodemus committed Jul 31, 2008
     * Implement TRANSFORM-LIST-PRED-SEEK, very much akin to
       TRANSFORM-LIST-ITEM-SEEK, and use it to optimize MEMBER-IF[-NOT],
       ASSOC-IF[-NOT], and RASSOC-IF[-NOT].
     * Implement full versions of list seeking functions in terms of the
       specialized versions: in some cases this is a win, in some cases a
       loss -- but the number of places where functionality is duplicated
       is reduced, which should be easier on the maintenance and less
     * Add a TRANSFORM-LIST-ITEM-SEEK transform for RASSOC.
     * LVAR-FOR-NAMED-FUNCTION was a restricted form of LVAR-FUN-IS.  Do
       away with the former, and move the latter to ir1util.lisp.
  2. elide runtime calls to %COERCE-CALLABLE-TO-FUN in more cases

    nikodemus committed Jul 31, 2008
     * Core change: %COERCE-CALLABLE-TO-FUN can now convert to
     * While at it, refactor the whole "make up a form that returns a
       function to use instead of this lvar or source form" thing for
     * Record slightly crazy OPTIMIZATION possibility.
  3. SB-COVER:REPORT signals an error for non-directory pathnames

    nikodemus committed Jul 31, 2008
     * Based on patch by Pierre Mai.
Commits on Jul 30, 2008
  1. refactor stack allocation decisions

    nikodemus committed Jul 30, 2008
     * Remove SB-C::STACK-ALLOCATE-* policies.
       is true (the default), with the following exceptions:
        ** Value cells are not stack allocated.
        ** Vectors that may be longer then a single page are stack
           allocated only in SAFETY 0 policies.
     * New declaration: SB-INT:TRULY-DYNAMIC-EXTENT. Always stack-allocates,
       regardless of SB-EXT:*STACK-ALLOCATE-DYNAMIC-EXTENT*. Also causes stack
       allocation of value cells and potentially large vectors.
       Used exclusively inside SBCL.
     * Move STACK-ALLOCATE-RESULT optimizers from backends to
     * Documentation.
  2. fix SB-SHOW build

    nikodemus committed Jul 30, 2008
     * Patch by Josh Elsasser for STYLE-WARN.
     * Make COLD-PRINT able to print improper lists -- early source
       locations are conses with the TLF number in the CDR.
  3. minor wording fix

    nikodemus committed Jul 30, 2008
     * Patch by Zach Beane.
  4. recursive restart computation

    nikodemus committed Jul 30, 2008
     * A call to COMPUTE-RESTARTS from restart test function caused
       infinite recursion. Fix with a stack.
     * Test-case.
  5. more careful PROGV and SET

    nikodemus committed Jul 30, 2008
     * Don't bind constants in PROGV.
     * Check variable types before binding / assignment.
     * When un-binding, PROGV doesn't temporarily bind a variable to NIL
       anymore, but directly to the unbound marker, so that an interrupt
       handler cannot see a bogus value.
     * Based on patch by Richard Kreuter.
  6. fix alien stack leak

    nikodemus committed Jul 30, 2008
     * On x86oids bind *ALIEN-STACK* once for the entire WITH-ALIEN, obviating the need
       to release local aliens one-by-one.
     * On other platforms protect the cleanup with UWP.
     * :STATIC option has been disabled in WITH-ALIEN for a while now --
       not sure why, but remove the corresponding bit from docstring as
     * Test-case by Andy Hefner.