sbcl.git
17 years ago0.9.16.7: renamed ppc-darwin-{langinfo,dlshim} to
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

17 years ago0.9.16.6: better circularity detection in fasl dumper
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.

17 years ago0.9.16.5: clean up some unused symbols from SB-EXT (really)
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

17 years ago0.9.16.4: clean up some unused symbols from SB-EXT
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*

17 years ago0.9.16.3: initfile refactoring
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.

17 years ago0.9.16.2:
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.

17 years ago0.9.16.1:
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.

17 years ago0.9.16:
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

17 years ago0.9.15.48: more precice unions of array types
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.

17 years ago0.9.15.47: compiler-macros for SETF functions
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

17 years ago0.9.15.46: cosmetic cleanups
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.

17 years ago0.9.15.45:
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.

17 years ago0.9.15.44: fix bug 368: intersection of array types
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.

17 years ago0.9.15.43:
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).

17 years ago0.9.15.42:
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)

17 years ago0.9.15.41: preparation for weak hash tables
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.

17 years ago0.9.15.40: reentrant STABLE-SORT and ADJUST-ARRAY
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.

17 years ago0.9.15.39: futex(FUTEX_WAIT) calls need to check for EINTR
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.

17 years ago0.9.15.38: RUN-PROGRAM win32 patch
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.

17 years ago0.9.15.17:
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)

17 years ago0.9.15.36: less intrusive step instrumentation
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.

17 years ago0.9.15.35: fix CONS :SIMPLE-= method
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.

17 years ago0.9.15.34: CONS type comparison
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.

17 years ago0.9.15.33:
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)

17 years ago0.9.15.32:
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.

17 years ago0.9.15.31: RUN-PROGRAM win32 patch
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.

17 years ago0.9.15.31: RUN-PROGRAM win32 patch
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.

17 years ago0.9.15.30:
William Harold Newman [Mon, 14 Aug 2006 13:07:50 +0000 (13:07 +0000)]
0.9.15.30:
incremented +FASL-FILE-VERSION+

17 years ago0.9.15.29:
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.

17 years ago0.9.15.28: less instrumentation
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.

17 years ago0.9.15.27: compiler-macro expansion for FUNCALL forms & bugfixes
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.

17 years ago0.9.15.26: compiler-macro lambda-list parsing and FUNCALL forms
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.

17 years ago0.9.15.25: COMPILE-FILE-PATHNAME when output-file doesn't have a type
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.

17 years ago0.9.15.24:
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)

17 years ago0.9.15.23: finding defintions of profiled functions
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.

17 years ago0.9.15.22: check for error, do not aver, do not collect $200
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.

17 years ago0.9.15.21: better hashing of general arrays
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.

17 years ago0.9.15.20: MERGE-PATHNAMES is not unsafely-flushable
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.

17 years ago0.9.15.19:
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.

17 years ago0.9.15.18:
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).

17 years ago0.9.15.17:
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.

17 years ago0.9.15.16:
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...)

17 years ago0.9.15.15:
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.

17 years ago0.9.15.14:
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

17 years ago0.9.15.13: make PATHNAME not unsafely-flushable
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.

17 years ago0.9.15.12:
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

17 years ago0.9.15.11:
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.

17 years ago0.9.15.10:
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.

17 years ago0.9.15.9:
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.

17 years ago0.9.15.8:
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.

17 years ago0.9.15.7:
Nathan Froyd [Sat, 29 Jul 2006 21:50:39 +0000 (21:50 +0000)]
0.9.15.7:
More OPTIMIZATIONS.

17 years ago0.9.15.6:
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).

17 years ago0.9.15.5:
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.

17 years ago0.9.15.4:
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.

17 years ago0.9.15.3:
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.

17 years ago0.9.15.2:
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")

17 years ago0.9.15.1:
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).

17 years ago0.9.15:
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

17 years ago0.9.14.32:
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.

17 years ago0.9.14.31:
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.

17 years ago0.9.14.30:
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).

17 years ago0.9.14.29:
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.

17 years ago0.9.14.28:
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.

17 years ago0.9.14.27:
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.

17 years ago0.9.14.26:
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)

17 years ago0.9.14.25:
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.

17 years ago0.9.14.24:
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

17 years ago0.9.4.23:
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.

17 years ago0.9.14.22:
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).

17 years ago0.9.14.21:
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.

17 years ago0.9.14.21:
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.

17 years ago0.9.14.20:
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).

17 years ago0.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.

17 years ago0.9.14.18:
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.

17 years ago0.9.14.17:
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.

17 years ago0.9.14.16:
Juho Snellman [Sun, 16 Jul 2006 06:39:04 +0000 (06:39 +0000)]
0.9.14.16:
Fix x86-64 build [ (mov ...) -> (inst mov ...) ].

17 years ago0.9.14.15:
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.

17 years ago0.9.14.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.

17 years ago0.9.14.13:
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.

17 years ago0.9.14.12:
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.

17 years ago0.9.14.11:
Christophe Rhodes [Wed, 12 Jul 2006 13:25:55 +0000 (13:25 +0000)]
0.9.14.11:
Add a couple of necessary FINALIZE-INHERITANCEs to
mop.impure.lisp.  With the current eager finalization they have
no effect, but the finalization regime probably has to change to
support anonymous classes.

17 years ago0.9.14.10:
Nathan Froyd [Sat, 8 Jul 2006 20:28:41 +0000 (20:28 +0000)]
0.9.14.10:
s/DO-/EMIT-/ in some IR2 translation functions.

17 years ago0.9.14.9:
Nathan Froyd [Sat, 8 Jul 2006 17:04:23 +0000 (17:04 +0000)]
0.9.14.9:
Introduce out-of-line ALLOCATE-CONS routines on x86.

Saves ~250K+ of core space.  The allocation sequences for other
  objects could be profitably out-of-lined in the same fashion;
  one and two word bignums would be the next candidates.

17 years ago0.9.14.8:
Rudi Schlatte [Thu, 6 Jul 2006 06:14:17 +0000 (06:14 +0000)]
0.9.14.8:
  Added support for the ucs-2 external format (thanks to Ivan Boldyrev)

17 years ago0.9.14.7:
Nathan Froyd [Tue, 4 Jul 2006 12:49:07 +0000 (12:49 +0000)]
0.9.14.7:
Micro-optimization of structure raw slot access on x86.

The common (only?) case is raw slot accesses with constant
  indices, so take advantage of that:
... use the scale factor in effective addresses to avoid a shift;
... stuff the constant index into the displacement field.

17 years ago0.9.14.6:
Nathan Froyd [Tue, 4 Jul 2006 12:40:03 +0000 (12:40 +0000)]
0.9.14.6:
Correct some typos in the defstruct tests.

17 years ago0.9.14.5:
Juho Snellman [Wed, 28 Jun 2006 14:42:24 +0000 (14:42 +0000)]
0.9.14.5:
Add sbcl-pwd.sh to binary-distribution.sh, to make the binaries
        actually installable.

17 years ago0.9.14.4:
Juho Snellman [Wed, 28 Jun 2006 11:35:51 +0000 (11:35 +0000)]
0.9.14.4:
FILE-POSITION sometimes returned inconsistent results for multibyte
        external-format streams. (Reported by Lutz Euler on sbcl-devel,
        patch from sbcl-devel "Patch: FILE-POSITION bug" by "vbzoli")

17 years ago0.9.14.3:
Christophe Rhodes [Wed, 28 Jun 2006 10:20:06 +0000 (10:20 +0000)]
0.9.14.3:
Merge pprint (cons symbol) change, making it sensitive to the
fboundness or otherwise of the symbol in function position.

17 years ago0.9.14.2:
Christophe Rhodes [Wed, 28 Jun 2006 08:12:29 +0000 (08:12 +0000)]
0.9.14.2:
Happy birthday to me!

Fix the internals manual

17 years ago0.9.14.1
Rudi Schlatte [Tue, 27 Jun 2006 12:52:34 +0000 (12:52 +0000)]
0.9.14.1
  Fix typo for building under cygwin

17 years ago0.9.14:
William Harold Newman [Mon, 26 Jun 2006 18:40:32 +0000 (18:40 +0000)]
0.9.14:
release version, will be tagged as sbcl_0_9_14

17 years ago0.9.13.53:
Juho Snellman [Sun, 25 Jun 2006 00:56:04 +0000 (00:56 +0000)]
0.9.13.53:
        Fix unithreaded Solaris/x86 build failure.

17 years ago0.9.13.52: Windows installer tweaks
Nikodemus Siivola [Tue, 20 Jun 2006 08:29:09 +0000 (08:29 +0000)]
0.9.13.52: Windows installer tweaks
  * Name the installer sbcl-<version>.msi, not sbcl.msi
  * De-impress Xach
     <Xach> i was impressed by ID
     <Xach> it reminded me of gentle DOOM

17 years ago0.9.13.51: Ooops -- trivial fixes against previous commit
Nikodemus Siivola [Tue, 20 Jun 2006 06:45:45 +0000 (06:45 +0000)]
0.9.13.51: Ooops -- trivial fixes against previous commit
  * s/PARSE-NATIVE-PATHNAME/PARSE-NATIVE-NAMESTRING/
  * Fix garbld docstring in user-homedir-pathname.

17 years ago0.9.13.50: Windows baby-steps
Nikodemus Siivola [Tue, 20 Jun 2006 05:38:42 +0000 (05:38 +0000)]
0.9.13.50: Windows baby-steps
  * Less sucky toplevel-init: use PARSE-NATIVE-NAMESTRING to deal with
    user-supplied init-file names, and refactor the logic between Posix
    and Windows.
  * New runtime option: --debug-environment, prints out the command line
    arguments and environment before anything fancy gets done to them.
    Good for debugging startup from Windows shortcuts, etc.
  * Less magic constants, more groveled stuff.
  * SB-WIN32::GET-FOLDER-PATH renamed to SB-WIN32::GET-FOLDER-PATHNAME,
    and it now returns pathnames instead of strings.
  * Add internal function SBCL-HOMEDIR-PATHNAME, and centralize the
    SBCL_HOME stuff there.
  * Still LESS_SHOUTING.
  * Move stuff-groveled-from-headers.lisp earlier in the build-order,
    so toplevel.lisp can use it.
  * No localtime_r and gmtime_r on Windows.

17 years ago0.9.13.49:
William Harold Newman [Mon, 19 Jun 2006 13:25:00 +0000 (13:25 +0000)]
0.9.13.49:
logged bug 404

17 years ago0.9.13.48: ASDF update from upstream
Nikodemus Siivola [Mon, 19 Jun 2006 00:18:37 +0000 (00:18 +0000)]
0.9.13.48: ASDF update from upstream
  * This version at least supports (oos 'load-op :foo :force t),
    no thanks to yours truely.

17 years ago0.9.13.47: Thread safety miscellania
Nikodemus Siivola [Sun, 18 Jun 2006 23:47:57 +0000 (23:47 +0000)]
0.9.13.47: Thread safety miscellania
  * Use localtime_r and gmtime_r instead of thread-unsafe variants
    in time.c.
  * Note gethostby* reentrancy issue in sb-bsd-sockets in BUGS.
  * Trivial PCL cleanups:
    ** *ALL-PV-TABLE-LIST* was unused -- things only got pushed on it,
       but never read. Commented out with a comment, removed code that
       did the pushing.
    ** *INITIAL-PV-TABLE* was unused, deleted.
    ** *EMPTY-PV* was unused, deleted.
    ** *EMPTY-CACHE* was unused, deleted.
    ** *MFP1* & friends implemented a two-element cache outside
       a hash-table. Deleted and replaced with simple hash-table
       access. Boinkmarks will show the truth.
    ** Moved redundant toplevel SETQs to the original DEFPARAMTER
       of various *FOO-COST*s.
    How is this thread-safety related? It happened while flagging
    some PCL globals as safe and others as worthy of attention
    in doc/internals-notes/threading-specials. Also sorted the
    names, so *THE-FOO*s stand out in one place -- seeming to
    me as least-likely causes of trouble.
  * Whitespace.

17 years ago0.9.13.46: GET-INTERNAL-RUN-TIME on Windows, + Windows cleanups
Nikodemus Siivola [Sun, 18 Jun 2006 19:11:31 +0000 (19:11 +0000)]
0.9.13.46: GET-INTERNAL-RUN-TIME on Windows, + Windows cleanups
  * Merge the patch by Frank Buss, that implements
    get-internal-run-time for Windows, modulo stylistic changes.
    (Restores buildability on Windows.)
  * LESS UPCASE.
  * Also slightly less #!+/-win32 conditionalization.
  * Grovel more stuff on Windows.