From: Nikodemus S. <tsi...@cc...> - 2004-05-26 23:38:57
|
Package locks are looking pretty good. The current (attached) patch is against 0.8.10.42. 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 time.) Status: * Builds, builds contribs, passes regression suite (with CL and SB-* packages locked), builds clx, osicat, terminfo, uffi, and linedit. * 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. Remaining uglies: * Deferring of package-lock related erros to runtime is pretty hacky right now, and needs to be rewritten to use style analogous to program-errors. * 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. Cheers, -- Nikodemus "Not as clumsy or random as a C++ or Java. An elegant weapon for a more civilized time." |