Juho Snellman [Wed, 13 Sep 2006 15:59:31 +0000 (15:59 +0000)]
 
0.9.16.27:
        Add an interpreting EVAL, for cases where the compiler is
        unsuitable due to e.g. compilation overhead.
        * The old EVAL is still the default. To use the new one,
          (SETF SB-EXT:*EVALUATOR-MODE* :INTERPRET).
          Making the interpreter the default might be the purer
          choice, since there's a standard way of ensuring that code
          is compiled, and no standard way of ensuring that it's
          not. On the other hand, there are practical reasons for
          keeping the compiler as the default. The interpreter is very
          slow, doesn't have proper debugger support (either for
          backtraces or inspecting frames), and it doesn't have
          stepper support.
        * The interpreter doesn't treat THE or type declarations for
          lexical variables as assertions. The regression tests that
          assume otherwise have been disabled when running in
          interpreted mode. The intepreter will however type-check the
          proclaimed types of specials.
William Harold Newman [Tue, 12 Sep 2006 13:11:46 +0000 (13:11 +0000)]
 
0.9.16.26:
	memory crutch for middle-aged maintainers: repeated NS's
		explanation in 0.9.16.25 commit message as comment
		above the change
Nikodemus Siivola [Tue, 12 Sep 2006 09:08:49 +0000 (09:08 +0000)]
 
0.9.16.25: build fix for CMUCL and older SBCLs
 * Not all lisps are happy about SETF-compiler macros: CMUCL 19 does not accept
   them at all, and older SBCL's give a full warning.
Nikodemus Siivola [Mon, 11 Sep 2006 10:40:07 +0000 (10:40 +0000)]
 
0.9.16.24: (SETF INFO) compiler macro enabled
 * Since we now support SETF compiler-macros. Unfortunately the
   definition comes too late to affect large parts of SBCL -- but the
   same applies to the venerable compiler-macro for INFO.
 * Use KEYWORDP instead of CONSTANTP in these macros, as that (or
   self-evaluating-p) is what is actually ment -- no EVAL or
   CONSTANT-FORM-VALUE in sight.
Juho Snellman [Sat, 9 Sep 2006 08:00:03 +0000 (08:00 +0000)]
 
0.9.16.23:
	One more simple-base-string -> simple-string substitution in
        the pathname code (pointed out by Yaroslav Kavenchuk on
        sbcl-devel).
William Harold Newman [Fri, 8 Sep 2006 14:35:21 +0000 (14:35 +0000)]
 
0.9.16.22:
	logged bug
	tiny comment typo fix
Nikodemus Siivola [Thu, 7 Sep 2006 08:49:38 +0000 (08:49 +0000)]
 
0.9.16.21: small fixes and cleanups
 * timers expiring in dead thread no longer cause a TYPE-ERROR.
   Reported by Paul "Nonny Mouse" on sbcl-devel.
 * ASDF-INSTALL uses GNU tar on Solaris. From patch by Josip Gracin.
 * Unnecessary conditional in RUN-PROGRAM on Win32. Reported by Yaroslav
   Kavenchuck.
 * Use cut from index 1, not 0 in find-gnumake.sh. Reported by Harald
   Hanche-Olsen.
Juho Snellman [Thu, 7 Sep 2006 01:58:12 +0000 (01:58 +0000)]
 
0.9.16.20:
	Some win32 cleanups (patch by Jack Unrue on sbcl-devel, 2006-08-31).
        * Replace remaining calls to perror() with fprintf(stderr, ...,
          GetLastError()) since errno is not set by Win32 API calls.
        * Disable debug output from os_map().
Juho Snellman [Thu, 7 Sep 2006 01:33:17 +0000 (01:33 +0000)]
 
0.9.16.19:
	Add special-case for SB-INT:FIND-UNDELETED-PACKAGE-OR-LOSE in the
        fop-compiler, to make it use a FOP-PACKAGE fop instead of a
        longer FOP-FUNCALL sequence. (Patch by Alastair Bridgewater,
        sbcl-devel "Small fopcompiler hack" on 2006-08-22).
Juho Snellman [Thu, 7 Sep 2006 00:56:59 +0000 (00:56 +0000)]
 
0.9.16.18:
	Fix installation into directories with spaces (reported by Edi
	Weitz on sbcl-help).
Juho Snellman [Wed, 6 Sep 2006 20:27:09 +0000 (20:27 +0000)]
 
0.9.16.17:
	Support for external formats in SB-ALIEN. The C-STRING alien-type
        specifier now accepts :EXTERNAL-FORMAT and :ELEMENT-TYPE parameters.
        This is a slightly incompatible change: to get the behaviour of
        the old C-STRING alien-type, use (C-STRING :EXTERNAL-FORMAT :ASCII
        :ELEMENT-TYPE BASE-CHAR).
        Thanks to Yaroslav Kavenchuk for doing most of the work on this.
        * Also add support for non-ascii pathnames
        * Add some recent CONTRIBUTORS
        * Update INSTALL
        * Add argument quote/space escaping to RUN-PROGRAM on win32
Juho Snellman [Sun, 3 Sep 2006 01:55:03 +0000 (01:55 +0000)]
 
0.9.16.16:
        Add bsd tar support to ASDF-INSTALL (patch by "bsd1628", sbcl-devel
        "Changes to ASDf-INSTALL to support NetBSD tar" on 2006-08-04).
Nikodemus Siivola [Sat, 2 Sep 2006 11:38:23 +0000 (11:38 +0000)]
 
0.9.16.15: stamp down on warnings due to step instrumentation
 * CALL-NEXT-METHOD body compiled without step-instumentation.
 * Get rid of the FAST-NARROWED-EMF kludge, replace it with another
   one: in addition to INVOKE-EFFECTIVE-METHOD-FUNCTION we now also
   have INVOKE-NARROW-EFFECTIVE-METHOD-FUNCTION.
 * Test.
Juho Snellman [Sat, 2 Sep 2006 00:29:56 +0000 (00:29 +0000)]
 
0.9.16.14:
        Add support for Unix98-style ptys. (thanks to Sidney Markowitz)
Juho Snellman [Fri, 1 Sep 2006 23:03:57 +0000 (23:03 +0000)]
 
0.9.16.13:
        Remove the horribly thread-unsafe globaldb caches. Both of them.
        * Makes single globaldb accesses significantly slower (about
          50% slowdown), but for any normal use-cases this is completely
          lost in the noise
        * Add a test
Christophe Rhodes [Fri, 1 Sep 2006 16:08:31 +0000 (16:08 +0000)]
 
0.9.16.12:
	Whoops.  Commit extremely late printing code for
	reference-condition with reference :amop :function ... (used in
	unset funcallable-instance functions).  Also include
	:amop :reader, as yet unused.
Christophe Rhodes [Fri, 1 Sep 2006 15:32:21 +0000 (15:32 +0000)]
 
0.9.16.11:
	Give funcallable-standard-object the direct superclasses
	(function standard-object), to make generic-function have a
	superclass list in accord with CLHS 1.4.4.5.  This deviation
	from AMOP is compatible with Lispworks and CLISP.
Christophe Rhodes [Fri, 1 Sep 2006 14:57:29 +0000 (14:57 +0000)]
 
0.9.16.10:
	Massage the new ARRAY :SIMPLE-UNION2 type method into a little
	bit more of acceptability.
	... now (or simple-string simple-array) is the same as
		(or simple-array simple-string)
	... really quite complicated unions still seem to work, judging
		by ETYPECASE.15 and SUBTYPEP.OR.4
	... include some simple test cases.
Gabor Melis [Fri, 1 Sep 2006 10:53:45 +0000 (10:53 +0000)]
 
0.9.16.9:
  * raw slots are of type lispobj instead of long for the sake of
    alpha
Gabor Melis [Fri, 1 Sep 2006 10:32:27 +0000 (10:32 +0000)]
 
0.9.16.8: less conservatism
  * the word at control_stack_end is not part of the control stack and
    not a pointer to be preserved
  * similarly, don't preserve the first word after the interrupt context
Cyrus Harmon [Thu, 31 Aug 2006 07:48:06 +0000 (07:48 +0000)]
 
0.9.16.7: renamed ppc-darwin-{langinfo,dlshim} to
       darwin-{langinfo,dlshim}
 * removed ppc-darwin-dlshim.{c,h}
 * removed ppc-darwin-langinfo.{c,h}
 * removed x86-darwin-langinfo.c
 * added darwin-dlshim.{c,h}
 * added darwin-langinfo.{c,h}
 * fixed references to these in Config.x86-darwin and
       Config.ppc-darwin
 * fixed references to these in grovel-headers.c
Nikodemus Siivola [Tue, 29 Aug 2006 13:35:23 +0000 (13:35 +0000)]
 
0.9.16.6: better circularity detection in fasl dumper
 * We need to detect car-circularity too, which can get expensive, so
   we approximate: CYCLIC-LIST-P => MAYBE-CYCLIC-P
 * Reported by Marco Monteiro on sbcl-devel.
Nikodemus Siivola [Mon, 28 Aug 2006 17:16:22 +0000 (17:16 +0000)]
 
0.9.16.5: clean up some unused symbols from SB-EXT (really)
 The missing package-data-list.lisp-expr changes from last commit.
 ETOOMANYCHERRIES
Nikodemus Siivola [Mon, 28 Aug 2006 17:14:04 +0000 (17:14 +0000)]
 
0.9.16.4: clean up some unused symbols from SB-EXT
 In Memoriam:
     *GC-NOTIFY-AFTER*
     *GC-NOTIFY-BEFORE*
     *GC-NOTIFY-STREAM*
     *ERROR-PRINT-LENGTH*
     *ERROR-PRINT-LEVEL*
     *ERROR-PRINT-LINES*
Nikodemus Siivola [Mon, 28 Aug 2006 16:56:47 +0000 (16:56 +0000)]
 
0.9.16.3: initfile refactoring
 * Move all related logic to PROCESS-INIT-FILE.
 * Enable customization of default user- and sysinit file via
   SB-IMPL::*SYSINIT-PATHNAME-FUNCTION* and
   SB-IMPL::*USERNIT-PATHNAME-FUNCTION*.
 * Fixes -- and makes testable without root access -- the bug
   regarding loading of the default sysinit file, reported by Leonid
   Slobodov.
 * A few missing #!+sb-doc's in toplevel.lisp.
Christophe Rhodes [Mon, 28 Aug 2006 12:14:30 +0000 (12:14 +0000)]
 
0.9.16.2:
	Fix bug found by compiling with both a buggy
	funcallable-instance type under intersection and a patch for
	generic (Gray-like) sequences.  Weird, huh?
	... make sure we have a sequence before using sequence functions
		in ENOUGH-NAMESTRING-like functions.
Christophe Rhodes [Mon, 28 Aug 2006 12:08:19 +0000 (12:08 +0000)]
 
0.9.16.1:
	Rework the named :complex-intersection-arg2 method for instance
	and funcallable-instance, making it a lot clearer and fixing
	bugs in the process...
	... structure-classoids are always subtypep instance and never
		intersect funcallable-instance;
	... standard-classoids are different.  It's possible to make
		a subclass of an instance class which is
		funcallable-instance (if you pardon the loose
		construction), while the reverse is not possible.
William Harold Newman [Fri, 25 Aug 2006 21:26:42 +0000 (21:26 +0000)]
 
0.9.16:
	release, will be tagged as sbcl_0_9_16
Nikodemus Siivola [Wed, 23 Aug 2006 12:46:26 +0000 (12:46 +0000)]
 
0.9.15.48: more precice unions of array types
 * 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.
Nikodemus Siivola [Tue, 22 Aug 2006 17:01:39 +0000 (17:01 +0000)]
 
0.9.15.47: compiler-macros for SETF functions
 * ...already work, so remove the warning, and add a test
Nikodemus Siivola [Tue, 22 Aug 2006 15:48:56 +0000 (15:48 +0000)]
 
0.9.15.46: cosmetic cleanups
 * 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.
Christophe Rhodes [Tue, 22 Aug 2006 13:23:41 +0000 (13:23 +0000)]
 
0.9.15.45:
	Make ENSURE-CLASS and ENSURE-GENERIC-FUNCTION do what AMOP says
	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
	circumstances.
	... 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
		manual.
Nikodemus Siivola [Mon, 21 Aug 2006 17:54:38 +0000 (17:54 +0000)]
 
0.9.15.44: fix bug 368: intersection of array types
 * TYPE-INTERSECTION of arrays preserves the specialized type when
   appropriate -- even if the intersection of the expressed types is
   empty.
 * 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.
Christophe Rhodes [Mon, 21 Aug 2006 16:34:58 +0000 (16:34 +0000)]
 
0.9.15.43:
	Tiny rename in PCL, to stop me from confusing UPDATE-CLASS with
	the completely unrelated (FLET UPDATE-CLASS).
Christophe Rhodes [Mon, 21 Aug 2006 16:25:11 +0000 (16:25 +0000)]
 
0.9.15.42:
	Move to latest upstream ASDF.  (Contains a workaround for
	systems that have been placed in CL-USER)
Gabor Melis [Sun, 20 Aug 2006 20:51:43 +0000 (20:51 +0000)]
 
0.9.15.41: preparation for weak hash tables
* 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.
Nikodemus Siivola [Sun, 20 Aug 2006 09:28:22 +0000 (09:28 +0000)]
 
0.9.15.40: reentrant STABLE-SORT and ADJUST-ARRAY
 * Create new (initially length 0) temp vectors for each thread.
 * Rename APPLY-KEYED-PRED to FUNCALL2-USING-KEY.
 * Update threading-specials list a bit.
Nikodemus Siivola [Fri, 18 Aug 2006 16:21:54 +0000 (16:21 +0000)]
 
0.9.15.39: futex(FUTEX_WAIT) calls need to check for EINTR
 * Caused bogus wakeups in CONDITION-WAIT on Linux from SIGCONT.
Teemu Kalvas [Fri, 18 Aug 2006 13:09:58 +0000 (13:09 +0000)]
 
0.9.15.38: RUN-PROGRAM win32 patch
  * Fixed control flow in error cases.
  * Added -mno-cygwin to contrib EXTRA_CFLAGS on Cygwin.
Christophe Rhodes [Thu, 17 Aug 2006 15:12:46 +0000 (15:12 +0000)]
 
0.9.15.17:
	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,
		MAKE-INTERNAL-READER-METHOD-FUNCTION)
	... 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
		funcallable-instance-function)
	... some test cases.  (This fixes bug #361 among others, and we
		have no current failures against the Closer
		mop-feature-tests)
Nikodemus Siivola [Wed, 16 Aug 2006 19:05:45 +0000 (19:05 +0000)]
 
0.9.15.36: less intrusive step instrumentation
 * 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
    (VALUES (OR FUNCTION SB-PCL::METHOD-CALL SB-PCL::FAST-METHOD-CALL)
            &OPTIONAL).
 * 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.
 
Nikodemus Siivola [Wed, 16 Aug 2006 18:04:34 +0000 (18:04 +0000)]
 
0.9.15.35: fix CONS :SIMPLE-= method
 * The failure is uncertain if both types may be the empty type
   in disguise.
 * Tests.
Nikodemus Siivola [Tue, 15 Aug 2006 10:24:10 +0000 (10:24 +0000)]
 
0.9.15.34: CONS type comparison
 * Secondary return value from :SIMPLE-= method for CONS was missing,
   causing TYPE= failures to appear ambiguous when they were not.
Christophe Rhodes [Tue, 15 Aug 2006 09:11:34 +0000 (09:11 +0000)]
 
0.9.15.33:
	Make whitespacely-canonical-filenames kinder to alternative
	revision control systems.  (Not stomping on "pristine" trees
	makes them happier)
Christophe Rhodes [Tue, 15 Aug 2006 08:49:51 +0000 (08:49 +0000)]
 
0.9.15.32:
	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
	initargs.
	... remove the "interning" of permutation vectors themselves.
	... the first element of a permutation vector is no longer "for
		information"
	... 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
		SET by INITIALIZE-METHOD-FUNCTION) by a LOAD-TIME-VALUE,
		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.
Teemu Kalvas [Mon, 14 Aug 2006 14:11:45 +0000 (14:11 +0000)]
 
0.9.15.31: RUN-PROGRAM win32 patch
  * Fixed input, output and error redirection in RUN-PROGRAM for win32.
Teemu Kalvas [Mon, 14 Aug 2006 13:57:27 +0000 (13:57 +0000)]
 
0.9.15.31: RUN-PROGRAM win32 patch
  * Fixed input, output and error redirection in RUN-PROGRAM for win32.
William Harold Newman [Mon, 14 Aug 2006 13:07:50 +0000 (13:07 +0000)]
 
0.9.15.30:
	incremented +FASL-FILE-VERSION+
Christophe Rhodes [Mon, 14 Aug 2006 09:21:57 +0000 (09:21 +0000)]
 
0.9.15.29:
	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
		non-standard.
	... remove an ancient workaround for a KCL bug related to
		pv-table-symbol.
Nikodemus Siivola [Sat, 12 Aug 2006 09:55:13 +0000 (09:55 +0000)]
 
0.9.15.28: less instrumentation
 * Don't instrument inline-expansions of known functions. Fixes at
   least some of the "step-instrumentation confusing the compiler"
   problems.
 * Rename IR1-CONVERT-LAMBDA-FOR-DEFUN to
   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.
Nikodemus Siivola [Fri, 11 Aug 2006 13:37:18 +0000 (13:37 +0000)]
 
0.9.15.27: compiler-macro expansion for FUNCALL forms & bugfixes
 * Refactor the compiler to first consider special forms and
   compiler-macro expansions before other options. (Necessary for the
   rest.)
 * FUNCALL forms now get compiler-macro expansion when applicable.
 * COMPILER-MACRO-FUNCTION takes shadowing by local functions into
   account.
 * Local INLINE declarations no longer inhibit compiler-macro
   expansion.
 * Tests.
Nikodemus Siivola [Fri, 11 Aug 2006 08:08:39 +0000 (08:08 +0000)]
 
0.9.15.26: compiler-macro lambda-list parsing and FUNCALL forms
 * 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
   comprehension.
Nikodemus Siivola [Thu, 10 Aug 2006 12:48:45 +0000 (12:48 +0000)]
 
0.9.15.25: COMPILE-FILE-PATHNAME when output-file doesn't have a type
 * Bug reported by Robert Dodier.
Christophe Rhodes [Thu, 10 Aug 2006 11:24:03 +0000 (11:24 +0000)]
 
0.9.15.24:
	Cosmetic change
	... s/pcl-funcallable-instance/standard-funcallable-instance/
	(where by "STANDARD" we begin to mean CLOS/AMOP-compatible)
Nikodemus Siivola [Thu, 10 Aug 2006 11:17:27 +0000 (11:17 +0000)]
 
0.9.15.23: finding defintions of profiled functions
 * Patch by Troels Henriksen.
 * Test-case missing from 0.9.15.22.
Nikodemus Siivola [Thu, 10 Aug 2006 10:18:50 +0000 (10:18 +0000)]
 
0.9.15.22: check for error, do not aver, do not collect $200
 * Reported by Antonio Martinez.
Nikodemus Siivola [Thu, 10 Aug 2006 10:11:39 +0000 (10:11 +0000)]
 
0.9.15.21: better hashing of general arrays
 * Use the same algorithm as SB-INT:PSXHASH uses for general arrays.
 * Performance problem reported by Andy Fingerhut.
Nikodemus Siivola [Thu, 10 Aug 2006 05:55:23 +0000 (05:55 +0000)]
 
0.9.15.20: MERGE-PATHNAMES is not unsafely-flushable
 * Analogous to 0.9.15.13.
 * Fix the test from 0.9.15.13 to actually test a failing case.
 * Add an explanatory comment with the test-cases.
Christophe Rhodes [Wed, 9 Aug 2006 16:35:28 +0000 (16:35 +0000)]
 
0.9.15.19:
	Allow forward-referenced-classes as specializers
	... they are SPECIALIZERP, they have proper names...
	... but it's at least slightly ANSIly-extending, so signal a
		STYLE-WARNING.
	Take this opportunity to rework the method initarg checking code
	... no more LEGAL-FOO generic functions.
Christophe Rhodes [Wed, 9 Aug 2006 15:07:32 +0000 (15:07 +0000)]
 
0.9.15.18:
	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).
Christophe Rhodes [Tue, 8 Aug 2006 20:14:21 +0000 (20:14 +0000)]
 
0.9.15.17:
	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
		class.
	... 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.
Christophe Rhodes [Tue, 8 Aug 2006 15:03:46 +0000 (15:03 +0000)]
 
0.9.15.16:
	Whoops.  Don't claim to have fixed a bug that hasn't been fixed
	yet.  (The perils of not enough source trees...)
Christophe Rhodes [Tue, 8 Aug 2006 14:24:24 +0000 (14:24 +0000)]
 
0.9.15.15:
	Fix bug #339c: INVALID-METHOD-ERROR from methods not matching
	any method group.
	... I'm actually not convinced by this fix: I think the method
		combination itself should probably call I-M-E, rather
		than have the effective method call it (see CLHS on
		INVALID-METHOD-ERROR); however, at the moment, given
		PRECOMPUTE-EFFECTIVE-METHOD's behaviour, this is the
		only way to signal the error at the right time.  Revisit
		when/if effective-method precomputation is adjusted.
Christophe Rhodes [Mon, 7 Aug 2006 15:56:01 +0000 (15:56 +0000)]
 
0.9.15.14:
	LESS BUGS!
	Delete a bunch of now-dead bugs from BUGS (and comment on one or
	two others):
        Bug | Fixed in
        ----+---------
	287 | 0.9.9.32
	337 | 0.9.15.12
	343 | 0.9.3.32
	355 | 0.9.6.37
	358 | 0.9.1.13
	360 | 0.9.1.44
	364 | 0.9.14.23
	365 | 0.9.4.56
	366 | 0.9.6.11 / 0.9.8.41 / 0.9.9.25
	394 | 0.9.14.21
Nikodemus Siivola [Mon, 7 Aug 2006 14:31:45 +0000 (14:31 +0000)]
 
0.9.15.13: make PATHNAME not unsafely-flushable
 * Reported by Richard Kreuter on sbcl-help.
 * Add DEFTRANSFORMS for common cases.
Christophe Rhodes [Sat, 5 Aug 2006 12:32:34 +0000 (12:32 +0000)]
 
0.9.15.12:
	Fix longstanding Haiblebug "method combination types that make
	use of MAKE-METHOD don't work with user-defined method classes"
	(sbcl-devel 2004-06-11)
	... in a cheating way; special-case the second argument to
		call-method, which probably isn't completely
                MOP-friendly but does seem to play nice with the test
                cases I can construct that don't change the semantics of
                call-method.
        ... test cases from Pascal Costanza and Bruno Haible
Christophe Rhodes [Sat, 5 Aug 2006 10:56:58 +0000 (10:56 +0000)]
 
0.9.15.11:
	No-one has told me that I'm missing something, so
	... don't declare the types of temporaries used for keyword
		argument processing.  (It caused a pointless extra
		typecheck in safe code, and additionally gave a
		confusing error message when the user passed a bogus
		argument)
	... test cases, both implicit (with DEFSTRUCT) and explicit.
Juho Snellman [Fri, 4 Aug 2006 14:34:46 +0000 (14:34 +0000)]
 
0.9.15.10:
        win32 changes to the test suite from Yaroslav Kavenchuk.
Juho Snellman [Fri, 4 Aug 2006 14:14:12 +0000 (14:14 +0000)]
 
0.9.15.9:
        Changes to DISABLE-DEBUGGER:
        * Allow disabling the debugger when *INVOKE-DEBUGGER-HOOK* is non-nil,
          so that --disable-debugger works even when restoring cores where
          that has been done.
        * Store the old value of *I-D-H* when disabling the debugger, and
          restore it back when enabling the debugger.
        * Fix a bug where LDB wouldn't get disabled by --disable-debugger
          if the core had been saved from an sbcl instance where the
          debugger was disabled.
Nathan Froyd [Sat, 29 Jul 2006 22:59:05 +0000 (22:59 +0000)]
 
0.9.15.8:
	Improve COUNT on bitvectors.
	... pull conditionals out of the inner loop, similar to the recent
	    changes for BIGNUM-LOGCOUNT;
	... while we're at it, change a few ='s in loop termination
	    conditions to >= for better type inference and code generation.
Nathan Froyd [Sat, 29 Jul 2006 21:50:39 +0000 (21:50 +0000)]
 
0.9.15.7:
	More OPTIMIZATIONS.
Juho Snellman [Sat, 29 Jul 2006 01:58:37 +0000 (01:58 +0000)]
 
0.9.15.6:
	Fix typo in threading.texinfo code example (extra paren).
Juho Snellman [Sat, 29 Jul 2006 01:54:51 +0000 (01:54 +0000)]
 
0.9.15.5:
        Oops, the default SBCL_HOME in runtime.c was accidentally changed in
        0.9.15.4. Revert that part of the patch.
Juho Snellman [Fri, 28 Jul 2006 20:09:08 +0000 (20:09 +0000)]
 
0.9.15.4:
        If the core wasn't found on startup, don't just say we couldn't
        find it, but also where sbcl thought the core should be.
Christophe Rhodes [Fri, 28 Jul 2006 14:47:21 +0000 (14:47 +0000)]
 
0.9.15.3:
	Implement the READER-METHOD-CLASS/WRITER-METHOD-CLASS protocol.
	In the process, note that the accessor methods generated for
	(slot-value x 'a) [ on generic functions of names like
	(SB-PCL::SLOT-ACCESSOR :GLOBAL A SB-PCL::READER) ] are not
	standard accessor methods, as they do not correspond to a given
	slot definition.  So implement
	GLOBAL-{READER,WRITER,BOUNDP}-METHOD classes for those, which
	have a slot name but no slot definition.
	Some rearrangements of early methods to support the new
	functionality.  REAL-MAKE-A-METHOD has to work moderately hard
	to separate out all the various ways it can be called.
	Include a test file for two ways of overriding the default
	methods.
Juho Snellman [Fri, 28 Jul 2006 01:26:23 +0000 (01:26 +0000)]
 
0.9.15.2:
        Fix wrong initarg to SIMPLE-PACKAGE-ERROR in WITH-PACKAGE-ITERATOR.
        (Patch from Peter Graves, sbcl-devel, "Apparent buglet in
        WITH-PACKAGE-ITERATOR")
Juho Snellman [Fri, 28 Jul 2006 01:08:40 +0000 (01:08 +0000)]
 
0.9.15.1:
	Faster implementation of the LOGCOUNT VOP for x86 and x86-64,
        and an faster BIGNUM-LOGCOUNT on all platforms. (Patch from
        Lutz Euler on sbcl-devel, "Patch: Optimisation of LOGCOUNT" on
        2006-07-23).
William Harold Newman [Wed, 26 Jul 2006 20:50:20 +0000 (20:50 +0000)]
 
0.9.15:
	release, will be tagged as sbcl_0_9_15
Christophe Rhodes [Tue, 25 Jul 2006 16:06:31 +0000 (16:06 +0000)]
 
0.9.14.32:
	Bandage for James Y Knight "internal PCL type error" sbcl-devel
	2006-06-20.
	... don't let invalid-wrappers near a cache in MAKE-EMF-CACHE.
	... test case (+ whitespace)
	Note that MAKE-EMF-CACHE via MEC-ALL-CLASSES-FOO functions is
	hideously written, and will perform the same work several times,
	pointlessly.  Rather than build up several large lists with
	duplicated class lists between them, it might be sensible to
	perform some kind of walk down the class hierarchies, performing
	wrapper invalidation and regeneration and class finalization as
	required.
Juho Snellman [Mon, 24 Jul 2006 22:50:59 +0000 (22:50 +0000)]
 
0.9.14.31:
	Bump +fasl-file-version+ for 0.9.15.
Juho Snellman [Thu, 20 Jul 2006 17:45:53 +0000 (17:45 +0000)]
 
0.9.14.30:
	Micro-optimize x86-64 MOVE-FROM-SIGNED a bit more (thanks to
        Lutz Euler).
Christophe Rhodes [Thu, 20 Jul 2006 11:02:18 +0000 (11:02 +0000)]
 
0.9.14.29:
	Make REINITIALIZE-INSTANCE (well, SHARED-INITIALIZE in fact, but
	I'm pretty sure that's OK) call FINALIZE-INHERITANCE rather than
	UPDATE-CLASS if the class has already been finalized, as
	required by AMOP.
Nathan Froyd [Thu, 20 Jul 2006 03:26:13 +0000 (03:26 +0000)]
 
0.9.14.28:
	Tweak the x86oid backends to produce idiomatic code for unsigned
	  and signed moves and adjust the cost of the DIGIT-ASHR VOP to
	  force selection of its constant variant when appropriate.
Juho Snellman [Wed, 19 Jul 2006 21:46:51 +0000 (21:46 +0000)]
 
0.9.14.27:
        The new x86 ALLOCATE-CONS-* assembly routines had a RET inside
        a pseudo-atomic section, which resulted in pending interrupts
        getting lost. Caused for example out-of-memory crashes on
        threads.impure.lisp.
Christophe Rhodes [Wed, 19 Jul 2006 20:44:38 +0000 (20:44 +0000)]
 
0.9.14.26:
	Make anonymous classes type specifiers.  (Reported by Pascal
	Costanza sbcl-devel 2006-07-19)
Christophe Rhodes [Wed, 19 Jul 2006 18:30:27 +0000 (18:30 +0000)]
 
0.9.14.25:
	Fix bug (reported by Jasko on #lisp) regarding
	TYPEP on funcallable-standard-classes with accessors.
	... make a STANDARD-CLASSOID for funcallable-standard-classes,
		too, as they behave (wrt the type system) in the same
		way.
	... STD-CLASSOID is now useless; delete it.
	... simplify MAKE-PRELIMINARY-LAYOUT a bit, since MAKE-WRAPPER
		now does the right thing.
Christophe Rhodes [Wed, 19 Jul 2006 11:31:49 +0000 (11:31 +0000)]
 
0.9.14.24:
	Fix PFD ansi-tests ENSURE-DIRECTORIES-EXIST.8
Christophe Rhodes [Wed, 19 Jul 2006 11:13:00 +0000 (11:13 +0000)]
 
0.9.4.23:
	Allow specializer objects as specializers in DEFMETHOD
	... be a little bit more defensive when generating declarations
		for the method function.
	... peer suspiciously at the special case for SLOT-OBJECT, but
		leave it alone for now.
Juho Snellman [Mon, 17 Jul 2006 19:39:45 +0000 (19:39 +0000)]
 
0.9.14.22:
	Check whether SBCL_HOME has been set before trying to use it
        in sbcl-homedir-pathname, since it might not have a value
        when using :EXECUTABLE T cores. (Regression between 0.9.13 and
        0.9.14, reported by James Knight).
Christophe Rhodes [Mon, 17 Jul 2006 12:28:13 +0000 (12:28 +0000)]
 
0.9.14.21:
	Allow "anonymous" (in the sense of AMOP pp.67-69) classes
	... names not necessarily symbols.
	This entails a great big rearrangement of class finalization and
	various associated activities; (setf class-name) and (setf
	find-class) (and their sb-kernel:classoid equivalents) are now
	slightly less tangled, but the coupling is still non-intuitive:
	classoids need proper names earlier than classes, as they are
	used in the compiler transform for TYPEP / DECLARE TYPE, so the
	ideal of strictly parallel CLASSOID / CLASS is not present, and
	left for future work.
	Add tests, both of the new functionality and also for various
	things that broke along the way, detected by gcl/ansi-tests and
	from emergent properties of our own test suite.
Christophe Rhodes [Mon, 17 Jul 2006 12:28:13 +0000 (12:28 +0000)]
 
0.9.14.21:
	Allow "anonymous" (in the sense of AMOP pp.67-69) classes
	... names not necessarily symbols.
	This entails a great big rearrangement of class finalization and
	various associated activities; (setf class-name) and (setf
	find-class) (and their sb-kernel:classoid equivalents) are now
	slightly less tangled, but the coupling is still non-intuitive:
	classoids need proper names earlier than classes, as they are
	used in the compiler transform for TYPEP / DECLARE TYPE, so the
	ideal of strictly parallel CLASSOID / CLASS is not present, and
	left for future work.
	Add tests, both of the new functionality and also for various
	things that broke along the way, detected by gcl/ansi-tests and
	from emergent properties of our own test suite.
Juho Snellman [Sun, 16 Jul 2006 21:56:37 +0000 (21:56 +0000)]
 
0.9.14.20:
	Oops. After some recent changes, SBCL couldn't be built with 0.9.13 or
        0.9.14 as the host. Add a workaround to allow using them too
        (the actual bug was fixed in 0.9.14.19).
Juho Snellman [Sun, 16 Jul 2006 21:51:01 +0000 (21:51 +0000)]
 
0.9.14.19:
	FOPCOMPILABLE-P wasn't checking whether the CADR of a LOCALLY form
        was fopcompilable.
Juho Snellman [Sun, 16 Jul 2006 06:48:19 +0000 (06:48 +0000)]
 
0.9.14.18:
	Get rid of the full call to FIND-CLASSOID in LAYOUT-OF for the
        'null classoid case. LAYOUT-OF is inlined into PCL's dfuns, and
        the full call caused suboptimal register allocation.
Juho Snellman [Sun, 16 Jul 2006 06:42:11 +0000 (06:42 +0000)]
 
0.9.14.17:
	Implement x86-64 MOVE-FROM-SIGNED overflow detection using IMUL
        instead of using three separate shifts / checks, which is somewhat
        faster and smaller.
Juho Snellman [Sun, 16 Jul 2006 06:39:04 +0000 (06:39 +0000)]
 
0.9.14.16:
	Fix x86-64 build [ (mov ...) -> (inst mov ...) ].
Nathan Froyd [Sat, 15 Jul 2006 17:40:09 +0000 (17:40 +0000)]
 
0.9.14.15:
	Bandage over the problems noted in "*print-case* in multiple
	  threads broken", sbcl-devel 2006-07-14.
Nathan Froyd [Sat, 15 Jul 2006 16:08:48 +0000 (16:08 +0000)]
 
0.9.14.14:
	Micro-optimize %ASHR with a constant shift amount on x86oids.
Nathan Froyd [Sat, 15 Jul 2006 04:26:24 +0000 (04:26 +0000)]
 
0.9.14.13:
	Micro-optimize bit-vector accesses on x86 and x86-64:
	... processor does the necessary masking for us, so we can
	  eliminate an AND instruction;
	... in the process, remove dodgy interior pointer usage lurking
	  inside the small data-vector-ref VOPs.
Christophe Rhodes [Thu, 13 Jul 2006 10:03:38 +0000 (10:03 +0000)]
 
0.9.14.12:
	Fix bug in SB-PCL::COMPUTE-CLASS-SLOTS, exposed by CHANGE-CLASS.
	... test case
	... this bug fix means that we no longer have to walk the
		inherits vector looking for class slots from
		superclasses, hooray.