Package locks are looking pretty good. The current (attached) patch is
Some API changes since last time:
* Don't signal package locked errors for DEFPACKAGE.
* Changed WITH-PACKAGE-LOCKS-IGNORED to WITHOUT-PACKAGE-LOCKS,
and left implementation unspecified.
(I have rationales for both of these, but I'll leave that for another
* Builds, builds contribs, passes regression suite (with CL and
SB-* packages locked), builds clx, osicat, terminfo, uffi, and
* Almost builds McCLIM. Some of the problems are nasal demons revealed
by package locks (binding COMMON-LISP symbols as restarts), some
are remaining non-deep problems with PCL/package-lock interaction.
* Deferring of package-lock related erros to runtime is pretty hacky
right now, and needs to be rewritten to use style analogous to
* PCL interns like crazy, which isn't all the nice with package locks.
Mostly the interning is done in conjunction with FORMAT, so
replacing (intern (format nil ...) pcl-package) with (format-symbol
package ...) that also skips locks is probably a happy solution.
Freeze is coming up so... Should I hurry up to clean things up and get it
in, or just put it on a branch? It's a pretty wide and invasive patch, so
my own inclination would be to branch it first.
-- Nikodemus "Not as clumsy or random as a C++ or Java.
An elegant weapon for a more civilized time."