Christophe Rhodes [Mon, 9 Aug 2004 22:00:41 +0000 (22:00 +0000)]
0.8.13.44:
One more FORMAT bug for today.
... in ~@< ~@:>, do not induce :FILL newlines for the spaces
following ~<Newline>.
Christophe Rhodes [Mon, 9 Aug 2004 20:07:27 +0000 (20:07 +0000)]
0.8.13.43:
Fix for two ansi-tests bugs
... "~,,,',f" doesn't treat the last comma specially;
... negative minpad is treated as zero.
Christophe Rhodes [Mon, 9 Aug 2004 13:13:53 +0000 (13:13 +0000)]
0.8.13.42:
Fix for "~V%" NIL (and countless other similar examples from
ansi-tests)
Nikodemus Siivola [Sun, 8 Aug 2004 12:32:04 +0000 (12:32 +0000)]
0.8.13.41: Require robustness
* Generate smarter loader-stubs for ASDF-modules, so that
they can be REQUIRE'd even if ASDF:*CENTRAL-REGISTRY*
is cleared by the user.
* Correct INSTALL documentation: --core doesn't override
SBCL_HOME if SBCL_HOME exists.
Nathan Froyd [Sun, 8 Aug 2004 03:13:53 +0000 (03:13 +0000)]
0.8.13.40:
Un-32-bit-ify bignum.lisp in various ways, even trying to
do a quick fixup on the comments to remove 32-bit
assumptions. Hasn't been tested with a real 64-bit
implementation, mind you.
There's a *lot* of code for doing bignum digit divides
(anything prefixed with #!+32x16-divide); no platform
currently uses it, but it might be worth twiddling with
the code to see if it's an improvement over the
VOP currently implementing %FLOOR. Certainly it'd be
nice to move more code into Lisp-land.
Nikodemus Siivola [Sat, 7 Aug 2004 18:21:05 +0000 (18:21 +0000)]
0.8.13.39: REQUIRE SANITY
* Detect infinite recursion in require, and signal a
reasonable error before running out of file-handles.
* Prettier REQUIRE cross-reference in the manual, even
though this makes it slightly more brittle.
Nikodemus Siivola [Sat, 7 Aug 2004 16:57:54 +0000 (16:57 +0000)]
0.8.13.38: Conditionally clean
* Delete unused MAKE-LOAD-FORM for ENCAPSULATED-CONDITION,
which was accidentally left over from the first round of
COMPILER-ERROR refactoring.
* Indulge in a little OAOOM, getting the full
ENCAPSULATED-CONDITION into the cross-compiler, so that
we can have sensible error messages during build.
Nikodemus Siivola [Sat, 7 Aug 2004 16:52:22 +0000 (16:52 +0000)]
0.8.13.37: Logically not quite
* Fix misplaced paren in the deftransform for
SB-KERNEL:WORD-LOGICAL-NOT. No new tests, as
this is thoroughly caught by the old ones.
Nikodemus Siivola [Sat, 7 Aug 2004 12:20:10 +0000 (12:20 +0000)]
0.8.13.36: NO-WORD-BYTES?
Oops: the recent move of N-WORD-BYTES from target/parms.lisp to
generic/early-vm.lisp broke build on Sparc, and in all likelihood on
PPC as well. Moved NUMBER-STACK-DISPLACEMENT a tad later in the
build (from target/parms.lisp to target/vm.lisp) and all is well
with Sparc. PPC not tested.
Nathan Froyd [Sat, 7 Aug 2004 02:24:48 +0000 (02:24 +0000)]
0.8.13.35:
* SB!VM:WORD-LOGICAL-FOO transforms were being defined per-backend,
when in reality they can be shared. Make it so.
* The `length' slot in SB!VM:PRIM-SLOT-OBJECT wasn't being used;
delete it, but retain the :LENGTH option in
SB!VM:DEFINE-PRIMITIVE-OBJECT, because that *is* being used.
(mostly to generate offsets for GENESIS header files)
Nathan Froyd [Fri, 6 Aug 2004 22:55:16 +0000 (22:55 +0000)]
0.8.13.34:
* Start using Helmut Eller's cute computed features expression
to distinguish between 32-bit and 64-bit pieces of code.
Particularly useful because architecture names are not
hardcoded; this idiom may have to be squirreled away in a
function somewhere.
* SB!VM:WORD-SHIFT and SB!VM:N-WORD-BYTES were being defined
the same way in every backend; move their definitions to
generic/early-vm for MORE OOAO. Tidy up comments in various
backends for remaining constants--you can almost see the
common code cut-and-pasted in each backend...
Nathan Froyd [Fri, 6 Aug 2004 18:43:45 +0000 (18:43 +0000)]
0.8.13.33:
Clean up a few more 32-bit assumptions and add exports for
useful constants
Nathan Froyd [Fri, 6 Aug 2004 15:37:35 +0000 (15:37 +0000)]
0.8.13.32:
Various C fixes, mostly to make gcc a little quieter
Nathan Froyd [Thu, 5 Aug 2004 17:45:37 +0000 (17:45 +0000)]
0.8.13.31:
Handle FIXME in src/code/fop.lisp:
... rename *LOAD-SYMBOL-BUFFER* to *FASL-SYMBOL-BUFFER*
... bind it on entrance to LOAD-AS-FASL
Christophe Rhodes [Thu, 5 Aug 2004 16:47:23 +0000 (16:47 +0000)]
0.8.13.30:
Fix bug in ctor optimization reported by Axel Schairer
cmucl-help 2004-08-05:
... quote the key initargs if we're going to call a :before
or :after initialization method;
... write a test case based on his example.
Christophe Rhodes [Thu, 5 Aug 2004 16:37:04 +0000 (16:37 +0000)]
0.8.13.29:
Inline allocation on the x86 isn't a universal win.
... OK, then, optimize for the increasingly-common case
(high-spec machines)
... and provide a backend-subfeature for those advanced users
who know where their sbcl is going to run.
Christophe Rhodes [Thu, 5 Aug 2004 13:12:56 +0000 (13:12 +0000)]
0.8.13.28:
Improve metacycle resolution (from test case from Bruno Haible
"vicious metacycle when ..." sbcl-devel 2004-08-02)
... find the slot reader specialized on the nearest class in the
CPL, not just in the identical class;
... incorporate Bruno's test case.
Christophe Rhodes [Thu, 5 Aug 2004 10:43:08 +0000 (10:43 +0000)]
0.8.13.27:
Make make-config.sh work better on SunOS (thanks to Vincent
Arkensteijn)
Nathan Froyd [Wed, 4 Aug 2004 22:15:31 +0000 (22:15 +0000)]
0.8.13.26:
* Rename {32,64}BIT-LOGICAL-FOO to WORD-LOGICAL-FOO in all ports.
This builds and passes all tests on x86, but I am unsure about
its effects on other ports.
* Declare SB!VM:WORD with DEF!TYPE so it is known to both the
host compiler and the cross-compiler (and we can use it in
DEFKNOWN declarations, e.g.)
* Fix errors in debug.impure.lisp test
Nathan Froyd [Wed, 4 Aug 2004 15:55:04 +0000 (15:55 +0000)]
0.8.13.25:
* add new COUNT transform on bitvectors; add tests for same
* begin to use SB!VM:WORD instead of (UNSIGNED-BYTE foo) where
appropriate
Christophe Rhodes [Wed, 4 Aug 2004 12:18:12 +0000 (12:18 +0000)]
0.8.13.24:
MORE FASTER BIGNUMS
... merge Juho Snellman's bignum-gcd improvement (sbcl-devel
2004-08-02)
... don't wait for sparc numbers since accidents occurred with
source trees.
Christophe Rhodes [Wed, 4 Aug 2004 11:45:19 +0000 (11:45 +0000)]
0.8.13.22:
Been a while since I've done this...
... add forgotten waitpid-macros.c file from previous commit
Christophe Rhodes [Wed, 4 Aug 2004 10:54:17 +0000 (10:54 +0000)]
0.8.13.22:
SB-POSIX enhancements
... fork, wait and waitpid from Thomas Burdick (sbcl-devel
2004-05-10)
... C wrappers for waitpid macros
... chroot from Istvan Marko (sbcl-devel 2004-06-07)
Christophe Rhodes [Wed, 4 Aug 2004 10:45:31 +0000 (10:45 +0000)]
0.8.13.21:
Implement INPUT-STREAM-P and OUTPUT-STREAM-P methods on
FUNDAMENTAL-STREAM
... should do the right thing, even in the presence of multiple
inheritance.
Nathan Froyd [Tue, 3 Aug 2004 17:28:47 +0000 (17:28 +0000)]
0.8.13.20:
LESS MAGIC NUMBERS (and LESS GRAMMAR)
... removed a fair number of numeric constants from alpha support
files, replacing them with their symbolic equivalents from
generic/early-vm.lisp. probably haven't rooted out all of
the offenders, but it's a start.
Nathan Froyd [Mon, 2 Aug 2004 17:28:24 +0000 (17:28 +0000)]
0.8.13.19:
Alpha/Tru64 build now completes make-{host,target}-1.sh
... fix new LOGCOUNT vop (*cringe*)
... setpgrp() fix for RUN-PROGRAM's C support
... -taso flag now properly passed to cc
... assembly code rearranged to satisfy Digital's as
Nathan Froyd [Mon, 2 Aug 2004 16:23:54 +0000 (16:23 +0000)]
0.8.13.18:
* add some new Alpha instructions
* provide a better LOGCOUNT for Alpha
* stop GENESIS from complaining about duplicate functions
on Alpha/Tru64
Christophe Rhodes [Mon, 2 Aug 2004 12:29:29 +0000 (12:29 +0000)]
0.8.13.17:
Merge partly-working fix for bug 61
... I think this fixes it on sparc, ppc and maybe mips.
... alpha is broken because it seems that just about every
backtrace has a "bogus stack frame", maybe arising from
the PAL stuff? Dunno.
... x86 is broken because, well, erm, dunno.
Christophe Rhodes [Mon, 2 Aug 2004 11:42:55 +0000 (11:42 +0000)]
0.8.13.16:
Delete README from sb-bsd-sockets.asd
Nikodemus Siivola [Mon, 2 Aug 2004 09:27:35 +0000 (09:27 +0000)]
0.8.13.15: Oh Bother, Where Art Thou?
* Add missing sb-bsd-sockets.texinfo -- this was the whole
point of the previous texinfoization exercise, after all.
Nikodemus Siivola [Sun, 1 Aug 2004 23:33:05 +0000 (23:33 +0000)]
0.8.13.14: Texinfoization continues
* Move documentation for SB-BSD-SOCKETS into user manual,
deleting docs (FAQ, TODO, NEWS, and doc.lisp remain yet).
* Automatically generate class-precedence-list information
for classes and conditions in the manual, ditto for
documented slots.
* Start documentation for each contrib on a new page for
clarity. (twiddle, twiddle)
Christophe Rhodes [Fri, 30 Jul 2004 11:25:55 +0000 (11:25 +0000)]
0.8.13.13:
Fix the logic in computing symbols for parse-vop-operands
... the count was all wrong. Fix it.
... (bug is detected in make-host-2, so if I've got it wrong
again it'll show up: but this works on the alpha)
Christophe Rhodes [Fri, 30 Jul 2004 10:45:30 +0000 (10:45 +0000)]
0.8.13.12:
Fix for division-of-integer-by-constant-zero bug
... don't perform the 2^k transform for k = -1 (which when
rounded to an integer gives zero...)
... tests.
Daniel Barlow [Thu, 29 Jul 2004 22:41:26 +0000 (22:41 +0000)]
0.8.3.11
Inline allocation for GENCGC ...
... add allocation-inline, which does direct access to
allocation region fields based on %fs (for threads)
or &boxed_region (unithread), falling through to
assembler routines and eventual call to alloc()
if we've run out of space in the region
... relevant assembler glue, partly borrowed from CMUCL
but with changes to do thread-local access when appropriate
... patch alloc() to use boxed_region instead of
all_threads->region on unithread builds
... clean up cut/pasted code in allocation-notinline
Nikodemus Siivola [Thu, 29 Jul 2004 11:29:52 +0000 (11:29 +0000)]
0.8.13.10: I don't think we're in lisp-land anymore...
* Display foreign function names in backtraces on platforms
with dladdr. Essentially a port of Helmut Eller's patch
for CMUCL. Works fine on x86 and Sparc at least.
* Clean up some spurious sb-alien package prefixes from
foreign.lisp while at it.
Nikodemus Siivola [Thu, 29 Jul 2004 00:49:10 +0000 (00:49 +0000)]
0.8.13.9: Referendum Alienum
* Fixed: mutually referent alien structure definitions.
Test for the same. Reported by Rick Taube on sbcl-help
sbcl-help 26 Jul 2004.
* Fixed: WITH-ALIEN object can now refer to structures
locally defined in the same WITH-ALIEN. Test for the
same.
Christophe Rhodes [Wed, 28 Jul 2004 08:43:29 +0000 (08:43 +0000)]
0.8.13.8:
Fix some backtrace problems for sparc.
... mips, alpha probably still broken.
Christophe Rhodes [Tue, 27 Jul 2004 17:56:34 +0000 (17:56 +0000)]
0.8.13.7:
Just for fun: implement the Intel prefetch instructions, and
conditionally use (one of) them in typetag checking
... no, it doesn't make anything noticeably faster; why do you
ask?
Christophe Rhodes [Tue, 27 Jul 2004 11:49:33 +0000 (11:49 +0000)]
0.8.13.6:
Merge disassembly integration in sb-sprof (Juho Snellman
26-07-2004 sbcl-devel)
... deeply cute.
Christophe Rhodes [Tue, 27 Jul 2004 11:16:17 +0000 (11:16 +0000)]
0.8.13.5:
Fix backtrace on ppc. (Brian Downing sbcl-devel 2004-07-19)
... use BUG to report breakdown in logic;
... some tests fail on x86, so comment them out;
... untested as yet on non-x86 non-ppc.
Christophe Rhodes [Mon, 26 Jul 2004 16:43:12 +0000 (16:43 +0000)]
0.8.13.4:
Performance improvement to sb-sprof from Juho Snellman
(sbcl-devel "Less sb-sprof consing" 2004-07-20)
... make the included QSORT more specialized
Christophe Rhodes [Mon, 26 Jul 2004 10:24:40 +0000 (10:24 +0000)]
0.8.13.3:
Improve BIGNUM-GCD ever so slightly
... BIGNUM-INDEX isn't actually usefully INDEX, because we
require the ability to index individual bits. Divide
the type by 32, then.
... rearrange bignum.lisp slightly to declare types of functions
before their use. (Aside: I'm not sure why I need the
type declaration, given that the final compiler can
derive the type fine. Maybe the cross-compiler is
lobotomized in some significant way here?)
Christophe Rhodes [Mon, 26 Jul 2004 10:18:00 +0000 (10:18 +0000)]
0.8.13.2:
Fix for one egregious excessive use of symbols, in VOP parsing.
Symbols for arguments, results and temporaries must be unique
per-VOP, not necessarily globally unique. Ensure that this is
so, saving approximately 2000 symbols on x86.
Christophe Rhodes [Mon, 26 Jul 2004 10:15:39 +0000 (10:15 +0000)]
0.8.13.1:
Implement MAP-REFERENCING-OBJECTS, and make the implementation
of LIST-REFERENCING-OBJECTS use it.
... note potential badness of cutoff point in space search.
(could this be the problem in ROOM T?)
Improvements to stale-symbols script.
... if there is more than one reference, don't bother chasing
all the others down;
... closures can contain stuff;
... print symbols and references a little more nicely.
William Harold Newman [Sun, 25 Jul 2004 20:57:11 +0000 (20:57 +0000)]
0.8.13:
release, tagged as sbcl_0_8_13
Andreas Fuchs [Sun, 25 Jul 2004 16:54:35 +0000 (16:54 +0000)]
0.8.12.55:
Really return the host-ent's address in sb-bsd-sockets::make-host-ent
Andreas Fuchs [Sun, 25 Jul 2004 11:31:36 +0000 (11:31 +0000)]
0.8.12.54:
Various rather urgent sb-grovel and sb-bsd-sockets fixes.
* sb-grovel uses WITH-ALIEN now for the WITH-* macros,
to allow use of SB-ALIEN:ADDR on variables allocated that way.
* sb-bsd-sockets: name-service code now return addresses as vectors
again.
* sb-bsd-sockets: fix socket-receive into relative workingness
again: use (deref (deref array) i) instead of (deref array i);
type-convert the results
Nikodemus Siivola [Sun, 25 Jul 2004 08:03:33 +0000 (08:03 +0000)]
0.8.12.53: Increment +FASL-FILE-VERSION+ due to changed %DEFPACKAGE
signature (change happened with package-locks).
William Harold Newman [Fri, 23 Jul 2004 21:26:59 +0000 (21:26 +0000)]
0.8.12.52:
reduced (ROOM T) functionality down to just (ROOM),
since (ROOM T) is flaky on my machine again and
I don't know how to fix it
logged the problem in BUGS
Andreas Fuchs [Thu, 22 Jul 2004 12:08:00 +0000 (12:08 +0000)]
0.8.12.51:
Make socket-receive allocate a buffer if it's passed a length arg.
Reported on CLL by Miguel Arroz; I removed that bit of code in .10
and forgot to put it back in.
Christophe Rhodes [Thu, 22 Jul 2004 07:46:31 +0000 (07:46 +0000)]
0.8.12.50:
Various fixes from Vincent Arkesteijn
... just text fixes for now
Nikodemus Siivola [Thu, 22 Jul 2004 00:18:40 +0000 (00:18 +0000)]
0.8.12.49: MORE CORRECT ENGLISH
* Fix a trivaial typo.
* Grammar fix grammar.
Daniel Barlow [Tue, 20 Jul 2004 22:59:25 +0000 (22:59 +0000)]
0.8.12.48
Update NEWS to note threading stability improvement
Andreas Fuchs [Tue, 20 Jul 2004 21:27:23 +0000 (21:27 +0000)]
0.8.12.47:
Really fix the sb-posix opendir test case this time.
I swear, this is my last SBCL commit tonight.
Andreas Fuchs [Tue, 20 Jul 2004 20:58:04 +0000 (20:58 +0000)]
0.8.12.46:
Fix a file descriptor leak in sb-posix's opendir test
Andreas Fuchs [Tue, 20 Jul 2004 20:22:28 +0000 (20:22 +0000)]
0.8.12.45:
Fix sb-posix:readdir for the new sb-grovel types
* readdir now returns a (* dirent), as reflected by reality
* Add test cases for readdir and opendir, too
Andreas Fuchs [Tue, 20 Jul 2004 20:20:15 +0000 (20:20 +0000)]
0.8.12.44:
Make SBCL build on x86/BSD again.
Christophe Rhodes [Tue, 20 Jul 2004 10:47:57 +0000 (10:47 +0000)]
0.8.12.43:
Fixed build on unithread
... someone had better check that I haven't broken it on
threads now...
Daniel Barlow [Mon, 19 Jul 2004 23:44:44 +0000 (23:44 +0000)]
0.8.12.42
Fix the threading problems revealed by Edi's CL-PPCRE tests ...
If target-arch.h is included before genesis/config.h, some
runtime files with inline expansion of get_spinlock get the
wrong version
Significantly change handling of thread exit: the
SIG_THREAD_EXIT handler just makes th->state=STATE_DEAD, does
not do all_threads surgery, does not call Lisp code and is no
longer deferrable, eliminating a problem where threads die at
the start of GC and become zombified so cannot be stopped for
GC
Instead we call thread exit handlers from reap_dead_threads(),
necessitating further changes in HANDLE-THREAD-EXIT, as it
can now be called from threads other than the parent of the
dead one
stop_the_world doesn't actually need to hold
all_threads_lock(), as it doesn't modify the all_threads
list. Likewise sig_stop_for_gc_handler(), which means the
sched_yield() kludge can go away
Christophe Rhodes [Mon, 19 Jul 2004 21:29:10 +0000 (21:29 +0000)]
0.8.12.41:
Update asdf from the cclan upstream
... also adjust the up target, since SF changed their nameserver
such that the old version didn't work.
Andreas Fuchs [Mon, 19 Jul 2004 20:46:47 +0000 (20:46 +0000)]
0.8.12.40:
Fix SB-GROVEL to make less catastrophic types
Thanks to Christophe for most (in fact, all except 2) of these
fixes.
* Make sb-grovel's compile failures a bit clearer: There are now
separate conditions for c-compile-failed, a-dot-out-failed, and
the normal lisp compile/load failures.
* don't use gensym for structure member names; This confused the
environment horribly.
* make identity-1 a macro so that its uses get optimized away.
As a result,
* sb-bsd-sockets::make-host-ent doesn't throw a compiler optimization
note on run time any more.
* sb-grovel doesn't lie about vector types on array structure fields'
SETF accessor any more. As a result, no more type error warnings on
constants.lisp-temp compilation any more!
* sb-bsd-sockets' getprotobyname alien function accepts a
(* protoent) structure now.
* export error-component and error-operation from asdf.lisp
Andreas Fuchs [Mon, 19 Jul 2004 20:24:21 +0000 (20:24 +0000)]
0.8.12.39:
Add a FATAL-COMPILER-ERROR to indicate fatal file compiler errors.
This is a change to make SLIME handle READ errors on file compilation
better.
* export a FATAL-COMPILER-ERROR
* Make input-error-in-compile-file inherit from that.
* re-signal the FATAL-COMPILER-ERROR condition from sub-compile-file
so that SLIME has a remote chance of noticing what is going on
Andreas Fuchs [Mon, 19 Jul 2004 20:13:22 +0000 (20:13 +0000)]
0.8.12.38:
Deprecate LOAD-FOREIGN and LOAD-1-FOREIGN for good.
Couldn't think of a witty tagline for that change, sorry.
* Deprecate LOAD-FOREIGN and LOAD-1-FOREIGN
* Add LOAD-SHARED-OBJECT as a LOAD-1-FOREIGN replacement
* Fix the test cases to use LOAD-SHARED-OBJECT
* Fix the manual
* Grovel dlopen constants via grovel-headers.c
* In the process, delete quite a number of TODO:s and FIXME:s
Yay!
Christophe Rhodes [Mon, 19 Jul 2004 12:44:27 +0000 (12:44 +0000)]
0.8.12.37:
Fix for Fedora Core 2 from Juho Snellman
... <linux/unistd.h>, not <asm/unistd.h>
... also include test for bad scaling in threads/GC
Christophe Rhodes [Fri, 16 Jul 2004 15:06:01 +0000 (15:06 +0000)]
0.8.12.36:
Commit patch from Juho Snellman (sbcl-devel 2004-07-16) for poor
performance characteristics in sig_stop_for_gc_handler.
... maybe a spinlock isn't right? Maybe we should have a
yielding_spinlock? Maybe we should have a different
spinlock implementation for SMP?
... in any case, performance now should be better for GCing when
more than two threads are around.
Christophe Rhodes [Thu, 15 Jul 2004 09:38:12 +0000 (09:38 +0000)]
0.8.12.35:
Possibly pointless micro-optimization for SXHASH
... type tests for CONS are more expensive than type tests for
LIST. Distinguish between CONS and LIST manually, then,
so that we can return the right answer more quickly for
NIL.
... exposes a bug in the cross-compiler: SXHASH is most
definitely not constant-foldable there.
... be even more paranoid about SXHASH/PSXHASH testing
Christophe Rhodes [Wed, 14 Jul 2004 20:29:51 +0000 (20:29 +0000)]
0.8.12.34:
Make more types known to the cross-compiler at birth
... mostly s/defstruct/def!struct/ and s/deftype/def!type/ on a
few choice-chosen forms (revealed by sprof)
... maybe the compiler is slightly faster now
Christophe Rhodes [Wed, 14 Jul 2004 20:26:16 +0000 (20:26 +0000)]
0.8.12.33:
Minor adjustment to BIT, SBIT source transforms
... assert the dimensionality of the bit array based on the
number of arguments in the call;
... note potential for further optimization in OPTIMIZATIONS
Nikodemus Siivola [Wed, 14 Jul 2004 14:10:16 +0000 (14:10 +0000)]
0.8.12.32: Fix the performance degradation in DEFCLASS caused
by package locks.
* While at it, correct WITHOUT-PACKAGE-LOCKS to
have identical semantics both with and without
:SB-PACKAGE-LOCKS in features.
* Yay for Boinkmarks for catching this.
Christophe Rhodes [Wed, 14 Jul 2004 06:21:10 +0000 (06:21 +0000)]
0.8.12.31:
Fix bug 269 (also rediscovered by Peter Seibel on
comp.lang.lisp)
... SCALE-FLOAT scales floats by integers, not just
float-exponents;
... write code to minimize generic calls, not that I think
SCALE-FLOAT is likely to be on many critical paths;
... tests
Christophe Rhodes [Tue, 13 Jul 2004 08:42:01 +0000 (08:42 +0000)]
0.8.12.30:
Build with :sb-package-locks by default
... explain potential workaround for unexpected problems in
NEWS, and also trail the likely removal of workaround
possibilities in the near future.
Christophe Rhodes [Mon, 12 Jul 2004 22:26:37 +0000 (22:26 +0000)]
0.8.12.29:
Fixes for the CTOR optimization in the presence of:
... non-standard :allocation in effective slots: disable the
optimization;
... extra possibly-applicable methods on slot-boundp-using-class
or slot-value-using-class: disable the optimization, and
reset for every add or remove method on those two gfs
... tests
Christophe Rhodes [Mon, 12 Jul 2004 19:34:02 +0000 (19:34 +0000)]
0.8.12.28:
Better error messages for when the MOP instance structure
protocol is violated (e.g. by the user defining a class with
slots with non-standard :allocation, but no methods to go with
it)
... new :amop reference source;
... new instance-structure-protocol-error condition. Should
probably eventually become a subclass of MOP-ERROR, once
we start accumulating those;
... move implementation of slot-valueish logic around a little
to support these better error messages.
(the ctor.lisp optimization is broken in the presence of
non-standard slot allocation, and also in the presence of
auxiliary methods on slot-value-using-classish generic
functions. Working on it...)
Christophe Rhodes [Fri, 9 Jul 2004 14:33:45 +0000 (14:33 +0000)]
0.8.12.27:
I WIN!
... fix for multiple bugs with SLOT-DEFINITION-ALLOCATION not
being :INSTANCE or :CLASS:
... step 1: don't assert that it must be;
... step 2: handle a NULL location when generating optimized
accessors, returning a function that calls ERROR.
... add a slightly-reworked test from AMOP (mostly the rework is
because at that stage in AMOP we're still in closette,
not the full MOP)
Nikodemus Siivola [Thu, 8 Jul 2004 18:29:53 +0000 (18:29 +0000)]
0.8.12.26: 99 bugs in SB-PCL, take one down, pass it around...
* Fixed #167: illegal syntax in method bodies now signals a
more informative error.
* No test, tough, since it would be horribly brittle for very
little actual gain.
Christophe Rhodes [Wed, 7 Jul 2004 13:45:59 +0000 (13:45 +0000)]
0.8.12.25:
Log some bugs that I'm really not making any headway at all on
Nikodemus Siivola [Mon, 5 Jul 2004 22:00:43 +0000 (22:00 +0000)]
0.8.12.24: Stomping on a PCL buglet
* Initialization of condition class metaobjects no longer
creates an instance of the condition. (reported by
Marco Baringer on sbcl-devel 2004-07-05)
* Test for the same.
Nikodemus Siivola [Mon, 5 Jul 2004 16:27:47 +0000 (16:27 +0000)]
0.8.12.23: Signs of mellowing out in SBCL? Reversed NEWS file
to lastest-first order, and moved planned changes bit
to TODO.
Nikodemus Siivola [Mon, 5 Jul 2004 02:30:42 +0000 (02:30 +0000)]
0.8.12.22: Minor changes to make SBCL build itself cleanly with
package locks enabled.
Nikodemus Siivola [Sun, 4 Jul 2004 22:30:03 +0000 (22:30 +0000)]
0.8.12.21: The same finnish twit who broke the manual also left
unaccounted several pathological cases in his COMPILER-ERROR
reorganization.
* Revert to a less fancy, but more robust scheme, one that
never requires MAKE-LOAD-FORM for dumping
COMPILED-PROGRAM-ERRORS. The informational benefits
of the earlier patch are unaffected.
* Tests for at least some of those pathological cases in case
someone comes up with the same brilliant idea.
Nikodemus Siivola [Sun, 4 Jul 2004 15:52:15 +0000 (15:52 +0000)]
0.8.12.20: Seems that some finnish twit broke the manual building.
Fixed.
Nikodemus Siivola [Sun, 4 Jul 2004 15:03:46 +0000 (15:03 +0000)]
0.8.12.19: Restructure the manual chapter "Package Locks" into consepts
and a dictionary, which also incidentally fixes the broken
section numbering there.
Nikodemus Siivola [Sun, 4 Jul 2004 13:03:27 +0000 (13:03 +0000)]
0.8.12.18: Rearranging COMPILER-ERROR protocol
* Enhance the protocol to attach the original
condition and source to the PROGRAM-ERROR.
* Make compile-time package-lock-violations from
lexical constructs signal runtime PROGRAM-ERRORS,
and not drop into debugger during compilation while
still allowing users to handle them during compilation.
* While at it, make file compiler errors from undumpable
constants more informative.
* Plus a few cosmetic changes to package locking guts.
Nikodemus Siivola [Sun, 4 Jul 2004 02:22:18 +0000 (02:22 +0000)]
0.8.12.17: Really. Arrgh. This is becoming a bad habit.
Nikodemus Siivola [Sun, 4 Jul 2004 02:12:44 +0000 (02:12 +0000)]
0.8.12.17: Fix TRACE :BREAK T in the presence of package
locks and grap credit for package locks.
Christophe Rhodes [Fri, 2 Jul 2004 08:14:01 +0000 (08:14 +0000)]
0.8.12.16:
Fix BUG #334
... do bookkeeping behind the user's back for
effective-slot-defitions generated by the user
... for :class slots, allocate a location and place it in the
class' class-slot-cells;
... for :class / :instance slots, set the slot-definition-class
slot to the new class;
... add minimal test for reasonable behaviour.
Christophe Rhodes [Thu, 1 Jul 2004 11:41:22 +0000 (11:41 +0000)]
0.8.12.15:
Fix for (declare ignore) treatment in methods when there is use
of SETQ in the body
... wow, no-one noticed before me? Cool!
William Harold Newman [Wed, 30 Jun 2004 23:08:32 +0000 (23:08 +0000)]
0.8.12.14:
bugfix: missing level of LISTness in :REFERENCES in
FIND-METHOD-LENGTH-MISMATCH
tidying: added contrib/sb-sprof/.cvsignore
Christophe Rhodes [Wed, 30 Jun 2004 20:43:08 +0000 (20:43 +0000)]
0.8.12.13:
Fix for MAKE-LOAD-FORM-SAVING-SLOTS on conditions
... it's not required to work, which is why we hadn't noticed
that it was totally broken. However, since it can work
with minimal extra effort, might as well get it right.
Nikodemus Siivola [Tue, 29 Jun 2004 18:54:02 +0000 (18:54 +0000)]
0.8.12.12: Restore buildability with :SB-FUTEX and :SB-PACKAGE-LOCKS.
Reported by Kevin Rosenberg on #lisp.
Christophe Rhodes [Tue, 29 Jun 2004 13:25:02 +0000 (13:25 +0000)]
0.8.12.11:
Fix bug #340
... SETF of VALUES now works as per spec (CLHS 5.1.2.3)
Nikodemus Siivola [Tue, 29 Jun 2004 12:42:52 +0000 (12:42 +0000)]
0.8.12.10: Fix bug 338: "MOP specializers as type specifiers"
(reported by Bruno Haible sbcl-devel 2004-06-11)
... Adding a type translator in SHARED-INITIALIZE :AFTER
does the trick.
... Test case.
Christophe Rhodes [Tue, 29 Jun 2004 12:13:44 +0000 (12:13 +0000)]
0.8.12.9:
Indentation change to debug-dump.lisp
... resulting from complete failure to find where source info
is conditionally dumped on (debug 2).
Also log the (SETF VALUES) bug
Nikodemus Siivola [Tue, 29 Jun 2004 10:02:48 +0000 (10:02 +0000)]
0.8.12.8: Really this time. Note to self: remeber to save the
version.lisp-expr buffer before commiting.
Nikodemus Siivola [Tue, 29 Jun 2004 09:53:13 +0000 (09:53 +0000)]
0.8.12.8: NEWS entry for package locks, plus add :sb-package-locks
to base-target-features.lisp-expr.
Nikodemus Siivola [Tue, 29 Jun 2004 08:50:51 +0000 (08:50 +0000)]
0.8.12.7: Merge package locks, AKA "what can go wrong with a 3783 line patch?"
... Controlled by the presence of :sb-package-locks in target
features.
... This builds both with and without package locks on both
x86 Linux and SunOS Sparc, with both CMUCL and SBCL
as host -- so chances are it should build elsewhere as
well.
... Remaining TODO: turn package locking errors from lexical
constructs to program errors in the produced code, fix
the bits in SBCL that hit host's SBCL-tyle package locks
(relevant FIXME is in src/cold/shared.lisp).
Christophe Rhodes [Mon, 28 Jun 2004 16:27:29 +0000 (16:27 +0000)]
0.8.12.6:
Give sb-sprof a chance of working on non-x86 non-gencgc.
... implement search_dynamic_space and friends in cheneygc
... share component_ptr_from_pc between the GCs, and define
an alien routine for it unconditionally
... (provide 'sb-sprof)
Andreas Fuchs [Mon, 28 Jun 2004 11:38:42 +0000 (11:38 +0000)]
0.8.12.5:
Extract the version number from version.lisp-expr for the manual
* doc/manual/extract-values.sh does that for us and fills them
into values.template.
Daniel Barlow [Sun, 27 Jun 2004 18:15:58 +0000 (18:15 +0000)]
once more, with branching
Daniel Barlow [Sat, 26 Jun 2004 17:48:22 +0000 (17:48 +0000)]
Youn are not expected to understand this. I don't