Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Aug 25, 2006
  1. 0.9.16:

    William Harold Newman committed
    	release, will be tagged as sbcl_0_9_16
Commits on Aug 23, 2006
  1. @nikodemus more precice unions of array types

    nikodemus committed
     * implement ARRAY :SIMPLE-UNION2, and don't use CSUBTYPEP to shortcut
       unions where both types are array types -- fixes bug #306a. (Move to tests.)
     * move comments in UNION-COMPLEX-SUBTYPEP-ARG2 slightly for clarity.
     * bug #367 went with #368.
     * bug #387 is fixed nowadays.
Commits on Aug 22, 2006
  1. @nikodemus compiler-macros for SETF functions

    nikodemus committed
     * ...already work, so remove the warning, and add a test
  2. @nikodemus cosmetic cleanups

    nikodemus committed
     * SLOT-VALUE-OR-DEFAULT now uses an UNREADABLE-OBJECT as the default
       marker for unbound slots, giving us #<unbound slot> instead of "unbound".
     * Edit special operator docstrings for consistency.
     * Whitespace.
  3. @csrhodes

    csrhodes committed
    	regarding the :METACLASS and :GENERIC-FUNCTION-CLASS default
    	arguments.  I don't like it, but that's what it says, and as
    	Bruno points out on sbcl-devel, no default is right in all
    	... we didn't call ENSURE-CLASS ourselves except as part of
    		DEFCLASS' expansion; we did call
    		ENSURE-GENERIC-FUNCTION, so arrange to call it only
    		when necessary and only with the right
    		:generic-function-class argument.
    	... while we're at it, fix a bug in ENSURE-CLASS, which got
    		the metaclass wrong if the argument was provided
    		more than once.
    	... document one or two more small MOP deviations in the
Commits on Aug 21, 2006
  1. @nikodemus fix bug 368: intersection of array types

    nikodemus committed
     * TYPE-INTERSECTION of arrays preserves the specialized type when
       appropriate -- even if the intersection of the expressed types is
     * Delete bug 217 -- has been fixed, is in the test-suite.
     * Note about bug 235.
     * Not more *USE-IMPLEMENTATION-TYPES*, behave always as if it was T.
  2. @csrhodes

    csrhodes committed
    	Tiny rename in PCL, to stop me from confusing UPDATE-CLASS with
    	the completely unrelated (FLET UPDATE-CLASS).
  3. @csrhodes

    csrhodes committed
    	Move to latest upstream ASDF.  (Contains a workaround for
    	systems that have been placed in CL-USER)
Commits on Aug 20, 2006
  1. preparation for weak hash tables

    Gabor Melis committed
    * Indentation changes to target-hash-table.lisp to make the lines fit
      into a 80 char wide emacs.
    * Small refactoring of hash table related code in gencgc: of the
      x86/x86-64 version of scav_vector a function called
      scav_hash_table_entries is split off and some repetitive code is
      factored out.
  2. @nikodemus reentrant STABLE-SORT and ADJUST-ARRAY

    nikodemus committed
     * Create new (initially length 0) temp vectors for each thread.
     * Update threading-specials list a bit.
Commits on Aug 18, 2006
  1. @nikodemus futex(FUTEX_WAIT) calls need to check for EINTR

    nikodemus committed
     * Caused bogus wakeups in CONDITION-WAIT on Linux from SIGCONT.
  2. RUN-PROGRAM win32 patch

    Teemu Kalvas committed
      * Fixed control flow in error cases.
      * Added -mno-cygwin to contrib EXTRA_CFLAGS on Cygwin.
Commits on Aug 17, 2006
  1. @csrhodes

    csrhodes committed
    	Implement the :FUNCTION initarg for method initialization
    	... half of the battle here was altering the propagation of
    		information about methods around the system.  Prior
    		to this checkin, information was kept in a (non-weak)
    		hash table holding plists for method functions and
    		method fast functions.  Instead, we associate the
    		plist with the method itself.
    	... implement method-qualifiers as a proper slot reader, rather
    		than through the plist;
    	... method-function-get-DIE-DIE-DIE
    	... constant-method-call and constant-fast-method-call
    		structures for the special case of constant-value
    		(e.g. predicate) generic functions
    	... remove :METHOD-SPEC initarg, since it's useless
    	... rely more on interning instead of METHOD-FUNCTION-PV-TABLE
    	... remove dead code (e.g. METHOD-FUNCTION-CLOSURE-GENERATOR,
    	... define a %METHOD-FUNCTION funcallable structure, to bind
    		function and fast-function closely together.
    	... remove the :FAST-FUNCTION initarg.  Now, if the system wants
    		a fast-function, it creates a %method-function structure
    		with the fast-function in the fast-function slot (and
    		an ordinary method-function as the
    	... some test cases.  (This fixes bug #361 among others, and we
    		have no current failures against the Closer
Commits on Aug 16, 2006
  1. @nikodemus less intrusive step instrumentation

    nikodemus committed
     * INVOKE-EFFECTIVE-METHOD was missing a binding for the
       effective-method-form, causing potential multiple evaluation and
       also creating one source of confusion when step instrumenting CLOS
       code, manifesting as:
        Asserted type (MOD 536870911) conflicts with derived type
     * If the form being instrumented is a call to a known single-valued
       function we can instrument it in a way that doesn't kill the
       type-inference. This alone is enough to get rid of most warnings
       such as above.
     * Add rudimentary (B)acktrace command to the built-in stepper.
  2. @nikodemus fix CONS :SIMPLE-= method

    nikodemus committed
     * The failure is uncertain if both types may be the empty type
       in disguise.
     * Tests.
Commits on Aug 15, 2006
  1. @nikodemus CONS type comparison

    nikodemus committed
     * Secondary return value from :SIMPLE-= method for CONS was missing,
       causing TYPE= failures to appear ambiguous when they were not.
  2. @csrhodes

    csrhodes committed
    	Make whitespacely-canonical-filenames kinder to alternative
    	revision control systems.  (Not stomping on "pristine" trees
    	makes them happier)
  3. @csrhodes

    csrhodes committed
    	More baby steps to the removal of the :fast-function initarg.
    	This time, some permutation vector cleanups, partly motivated by
    	similar changes in CMUCL and partly by the need to communicate
    	information between a method function and the other method
    	... remove the "interning" of permutation vectors themselves.
    	... the first element of a permutation vector is no longer "for
    	... destructively update the slots of a pv when the class
    		changes.  (NB: this has threadsafety implications:
    		revisit when the dust settles.)
    	... delete the PV-TABLE-SYMBOL code; replace the somewhat crufty
    		fashion of getting access to the method's pv-table
    		(using symbol-value of an uninterned symbol, which is
    		relying on INTERN-PV-TABLE to, well, intern a PV table.
    		(NB: this has performance implications if method
    		functions are not compiled.)
    	... some test cases: some simple tests of class redefinition and
    		slot value, and some where there is a make-method-lambda
    		customization.  Also log a failing case where the PV
    		slot-value optimization is broken.
Commits on Aug 14, 2006
  1. RUN-PROGRAM win32 patch

    Teemu Kalvas committed
      * Fixed input, output and error redirection in RUN-PROGRAM for win32.
  2. RUN-PROGRAM win32 patch

    Teemu Kalvas committed
      * Fixed input, output and error redirection in RUN-PROGRAM for win32.

    William Harold Newman committed
    	incremented +FASL-FILE-VERSION+
  4. @csrhodes

    csrhodes committed
    	Before I forget: since working on a %method-function branch to
    	fix the :function / :fast-function initarg to methods has
    	uncovered some related-but-fixable bugs, do an early merge to
    	clear them up:
    	... the special declaration for pv-table-symbol was in the
    		wrong place, so spurious warnings were generated;
    	... make-emf-from-method can return a method-call (not a
    		fast-method-call), so fix cases where both the
    		caller and callee of a MAKE-METHOD form were
    	... remove an ancient workaround for a KCL bug related to
Commits on Aug 12, 2006
  1. @nikodemus less instrumentation

    nikodemus committed
     * Don't instrument inline-expansions of known functions. Fixes at
       least some of the "step-instrumentation confusing the compiler"
       IR1-CONVERT-INLINE-EXPANSION, since that is the only way it is
       currently used. Refactor slightly for simplicity, given the way it
       is actually used.
     * Test-case.
Commits on Aug 11, 2006
  1. @nikodemus compiler-macro expansion for FUNCALL forms & bugfixes

    nikodemus committed
     * Refactor the compiler to first consider special forms and
       compiler-macro expansions before other options. (Necessary for the
     * FUNCALL forms now get compiler-macro expansion when applicable.
     * COMPILER-MACRO-FUNCTION takes shadowing by local functions into
     * Local INLINE declarations no longer inhibit compiler-macro
     * Tests.
  2. @nikodemus compiler-macro lambda-list parsing and FUNCALL forms

    nikodemus committed
     * We previously handled only the &WHOLE case, and also failed to
       handle the argument count checking correct. Now things should work,
       but FUNCALL forms are not still subject to compiler-macroexpansion -- yet.
       (Reported by James Y Knight)
     * Refactor the macro-lambda-list parsing code slightly for easier
Commits on Aug 10, 2006
  1. @nikodemus COMPILE-FILE-PATHNAME when output-file doesn't have a type

    nikodemus committed
     * Bug reported by Robert Dodier.
  2. @csrhodes

    csrhodes committed
    	Cosmetic change
    	... s/pcl-funcallable-instance/standard-funcallable-instance/
    	(where by "STANDARD" we begin to mean CLOS/AMOP-compatible)
  3. @nikodemus finding defintions of profiled functions

    nikodemus committed
     * Patch by Troels Henriksen.
     * Test-case missing from
  4. @nikodemus check for error, do not aver, do not collect $200

    nikodemus committed
     * Reported by Antonio Martinez.
  5. @nikodemus better hashing of general arrays

    nikodemus committed
     * Use the same algorithm as SB-INT:PSXHASH uses for general arrays.
     * Performance problem reported by Andy Fingerhut.
  6. @nikodemus MERGE-PATHNAMES is not unsafely-flushable

    nikodemus committed
     * Analogous to
     * Fix the test from to actually test a failing case.
     * Add an explanatory comment with the test-cases.
Commits on Aug 9, 2006
  1. @csrhodes

    csrhodes committed
    	Allow forward-referenced-classes as specializers
    	... they are SPECIALIZERP, they have proper names...
    	... but it's at least slightly ANSIly-extending, so signal a
    	Take this opportunity to rework the method initarg checking code
    	... no more LEGAL-FOO generic functions.
  2. @csrhodes

    csrhodes committed
    	Add a (lightly-modified) version of Pascal Costanza's
    	implementation of mixed beta/standard method combination
    	(which happens to have a specialized make-method-lambda).
Commits on Aug 8, 2006
  1. @csrhodes

    csrhodes committed
    	OK then.  Fix %INSTANCE-TYPEP deftransform
    	... if we're testing for a structure-classoid, then any object
    		with an invalid layout is neccessarily not typep that
    	... if we're testing for something with a fixed depthoid (i.e.
    		something which is always at a given position in the
    		layout-inherits), then if we get an object with an
    		invalid layout we mustn't throw an error before trying
    		to update the object.
  2. @csrhodes

    csrhodes committed
    	Whoops.  Don't claim to have fixed a bug that hasn't been fixed
    	yet.  (The perils of not enough source trees...)
Something went wrong with that request. Please try again.