Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Nov 27, 2009
  1. @csrhodes
  2. Win32 build fix

    Alastair Bridgewater authored
      * Because both sbcl and <rpcndr.h> define a boolean type,
    grovel-headers was failing to build on win32.  Copied the kludge for
    working around this issue from src/runtime/runtime.h to
Commits on Nov 24, 2009

    trittweiler authored
    Other Xref functions (WHO-CALLS etc.) are very liberal at what they
    accept as input. Adjust the two new Xref functions
Commits on Nov 20, 2009
  1. @csrhodes declarations and symbol-macros in methods

    csrhodes authored
    A stray backquote caused compilation warnings and run-time errors if, within
    a method, a symbol macro with a type declaration was given a new value with
    Fixes bug #485019, reported by Iban Hatchondo
  2. @csrhodes (subtypep 'symbol 'keyword) must be NIL, T

    csrhodes authored
    Special-case the hairy type (SATISFIES KEYWORDP) and its interaction with the
    SYMBOL type.  (We could potentially be cleverer at this point and additionally
    tell the system that all non-symbols are non-(SATISFIES KEYWORDP) types, but
    we're somewhat late in the development cycle now)
    Fixes bug #485972
  3. @nikodemus SB-POSIX:FORK guards against forking with multiple threads

    nikodemus authored
      * It wasn't going to work right in any case, so better to refuse up
      * Remove invalid FIXME from globaldb.lisp: DO-INFO is also used by
Commits on Nov 19, 2009
  1. @nikodemus remove curious-hacker-cruft from constraints.lisp

    nikodemus authored
     ...that was not supposed to go in!
  2. @nikodemus GENCGC tuning parameters

    nikodemus authored
       in lisp, and let genesis tell C about them.
     * Make various generations[gen].foo tweakable from lisp, give them
       nice interface functions and document the same.
     * Bits of manual prettification in related parts.
  3. @csrhodes add support for x86-64/NetBSD

    csrhodes authored
    Patch from Aymeric Vincent.
  4. @csrhodes type system now understands (and <array-type> (not simple-…

    csrhodes authored
    Taken to mean the <array-type> with COMPLEXP T (rather than :MAYBE).
    Adjust the type test transform to use the old technique for testing for
    complex arrays (using an explicit (NOT SIMPLE-ARRAY) test rather than a
    full call to %TYPEP, as you would otherwise get; this is a KLUDGE, but
    no worse than before).
    Include a test case for bug #309129, which this fixes.
Commits on Nov 12, 2009
  1. Fix breakage from

    Alastair Bridgewater authored
      * Use FIND-CONSTANT instead of MAYBE-EMIT-MAKE-LOAD-FORMS to prepare
    arglists for dumping, thus unbreaking compilation to core.
      * Add a test case for in-core case.
  2. Add build flag :sb-xref-for-internals.

    trittweiler authored
    Enabling :sb-xref-for-internals in customize-target-features.lisp,
    will make Sbcl collect Xref data about itself during the build. This
    increases the core size drastically by about 5-6mb, but it's useful
    for SBCL developers because they can now use M-? (slime-edit-uses) to
    get a list of call/expansion/reference sites for internal stuff.
    It may be interesting to Lisp advocacy who can now show off with
    finding the use sites of standardized functions like CONS, etc. :-)
    Additionally -- regardless of :sb-xref-for-internals --, we now also
    collect xref data for keywords because they're "fine" names for
    functions and macros, and I know of people who use MACROLET on
    keywords for their DSLs.
  3. @csrhodes fix listen / read-char-no-hang

    csrhodes authored
    Whoops.  The external-format changes broke read-char-no-hang after an
    unread-char: very noticeable indeed just as soon as an error occurs in
    slime.  In my defence, this was already broken on bivalent streams; I just
    propagated that brokenness to all fd-streams.
    Include a run-program-based test, because that produces the kind of streams
    that can have no data and yet not be at EOF.  In the slime context, they're
    sockets, so it's a bit difficult to test the slime case exactly; ideas for
    good simulations welcome.
  4. Add test case for

    trittweiler authored
  5. Fix fasdumping of function arglists with instances as defa…

    Alastair Bridgewater authored
    …ult values
      Fasdumping of a function arglist was breaking if there was a structure
    or other instance as a default value because the arglist wasn't
    processed for dumping as a literal constant.
      * Process the arglist for dumping as a literal constant when creating
    entry-info for external entry points.
      This is .
Commits on Nov 11, 2009
  1. @nikodemus save page table allocation information into core files

    nikodemus authored
     * Allows unboxed objects in saved cores to be written to without
       write-protection & later scavenging.
  2. @csrhodes
  3. @csrhodes use :replacement in the external format for standard IO st…

    csrhodes authored
    For *terminal-io*, a bidirectional stream, we have to make an arbitrary
    choice on Windows, where in theory the input and output code pages can
    differ.  We arbitrarily choose the output format; I have no idea whether
    this matters.
  4. @csrhodes implement output restarts for UCS2

    csrhodes authored
    Most of the work was done; we just had to actually turn the catch tag
    on, and write tests that are correct rather than wrong.
  5. @csrhodes compress most unibyte-external-format definitions

    csrhodes authored
    All the unibyte-mapper-based external-formats had huge amounts of
    cut-and-pasted code, differing only in names of functions.  This is,
    oddly enough, a clear case for abstracting away the repeated code into a
    In the process, convert them to the multibyte apparatus, which has support
    for the nice restarts, and remove the too-simple unibyte
    Include a far-from-comprehensive set of tests, which are mostly for
    iso-8859-x formats
  6. @csrhodes bug fixes in unibyte external formats

    csrhodes authored
    * handling undefined codepoints:
      There's a difference between "unassigned codepoint", represented as
      (<code> nil), and "codepoint mapping to character with that codepoint",
      represented by the absence of an entry in the exceptions list.  Simply
      testing for trueness of (cadr (assoc <code> exceptions)) isn't good
      enough; test for trueness of (cdr (assoc ...)) and use the car if so.
    * undefined codepoints as the first exception:
      If the first exception to code<->byte is an undefined character, as for
      example in iso-8859-8, the lowest-code exception was computed wrongly,
      leading to incorrect encoding.
  7. @csrhodes Support for :REPLACEMENT external-format / encoding modifier

    csrhodes authored
    For a given keyword :foo naming an encoding, allow an external-format
    (:foo :replacement <character>) such that any stream or octet coding
    errors are automatically treated by using the <character> as replacement
    To do this, wrap each of the functions in the external-format object
    named by the keyword with a function establishing handlers for the
    exceptional conditions. At the moment, the output restarts for c-string
    external format conversion are not implemented (so handle specific condition
    types like STREAM-FOOCODING-ERROR, not general FOOCODING-ERROR).
  8. @nikodemus additional allocation information

    nikodemus authored
     * SB-INTROSPECT:ALLOCATION-INFORMATION also reports on boxedness of
       the page the object resides on.
     * When heap statistics are printed, always print the details of the
       pseudo-static generation. Make print_generation_stats extern so it
       can be called from lisp.
  9. @csrhodes make the utf-8 external format more robust

    csrhodes authored
    Detect all malformed sequences, including attempts to decode or encode
    Unicode surrogate codepoints (disallowed by the Unicode definition of
    UTF-8).  Some error tests change behaviour, and some (unexported)
    condition classes are not triggered under the same circumstances any
    Also, handle null-termination on a successful conversion of an empty range of
    a nil array.
  10. @csrhodes external-format restart enhancements

    csrhodes authored
    * OUTPUT-REPLACEMENT restart for fd-stream external-formats, taking a
      string designator argument and attempting to encode that instead of the
      erroneous output;
    * fixes for the FORCE-END-OF-FILE fd-stream external-format restart, using
      a somewhat involved call / return protocol for communicating out-of-band
      information between output routines and drivers;
    * INPUT-REPLACEMENT restart for fd-stream external-formats, again with
      complicated out-of-band information communication.  This also interacts
      with UNREAD-CHAR;
    * fix the ATTEMPT-RESYNC restart (and similar) at or near the end of file,
      ensuring that there is always a valid CATCH tag to be THROWN to;
    * fix a double-error case in the USE-VALUE restart for unibyte octet
    * bandage fix for mb-util decoding-error USE-VALUE restart -- there's more
      factoring to be done, but this fixes lp #314939
  11. @csrhodes update Unicode data files to Unicode 5.2

    csrhodes authored
    We do still need also to update a small bit of code, but at least the
    explanatory comment now makes it obvious which bits.
Commits on Nov 7, 2009
  1. @csrhodes fix build under clisp

    csrhodes authored
    It already worked with 'clisp -on-error -abort', but since there's only one
    type declaration in the whole system that clisp doesn't understand, we might
    as well fix it.  Report and patch by Josh Elasser, lp #396597.
Commits on Nov 6, 2009

    trittweiler authored
    ...'cuz CLHS says so. We bind it to the standard pprint dispatch
    table, and guard against its modification in SET-PPRINT-DISPATCH,
    mimicking the guard against modification of the standard readtable
    introduced in 1.0.24.
  2. @csrhodes Fix slot-value on specialized parameters in SVUC methods

    csrhodes authored
    The slot accessors' functions were being computed too early, requiring a
    wrapper (for the PV optimization) when none was available.  The fix
    delays the computation by the usual trick of installing a closure that
    will perform the slot accessor computation on demand.
    Include a correct MOP test for this (slightly hard because of
    constraints about order of instantiation: see lp #473699, reported by
    Lars Rune Nodstal).
Commits on Nov 3, 2009
  1. @csrhodes fix octets portion of latin-2/iso-8859-2 external-format

    csrhodes authored
    Typo in the external format definition.  Include a test case; reported
    by Attila Lendvai (in lp #471689)
Commits on Nov 2, 2009
Commits on Oct 30, 2009

    Nathan Froyd authored
    Users of this OUTPUT-BYTES/FOO function must have been perfect.
  2. macroize x86-64 {8,16,32}-bit array accessors

    Nathan Froyd authored
    One wonders if the profusion of array access VOPs are merely bloat...
  3. fix open-coding of EQL in the cross-compiler

    Nathan Froyd authored
    EQ-COMPARABLE-TYPE wasn't being defined properly, so things like
    (EQL FOO :KEYWORD) were going through GENERIC-EQL.
    Thanks to Christophe for pointing out the fix.

    trittweiler authored
     * Add two new Xref functions to SB-INTROSPECT:
         WHO-SPECIALIZES-DIRECTLY returns method definitions which
         specialize one the designated class itself.
         WHO-SPECIALIZES-GENERALLY returns methods definitions which
         specialize on the designated class, or subclasses of it.
       Both take CLASS-EQ, and EQL specializers into account.
     * Refactor xref tests, and add tests for the two new functions.
     * Fix sb-introspect.asd to perform the test-op with a *D-P-D* bound
       to contrib/sb-introspect/.
Something went wrong with that request. Please try again.