My Common Lisp and Debian blog. For more off topic rants and stuff please see my livejournal blog.

Monday, June 28, 2004

Updating .asd files to handle locked packages

cmucl 19a will have package locks. Several libraries try to modify locked packages, for example cmucl-clx, hemlock etc. So I'm adding these stanzas to the asd files:



#+cmu
(defclass cl-modifying-file (cl-source-file) ())

#+cmu
(defmethod perform ((op load-op) (c cl-modifying-file))
(ext:without-package-locks
(call-next-method)))

#+cmu
(defmethod perform ((op compile-op) (c cl-modifying-file))
(ext:without-package-locks
(call-next-method)))

#+cmu
(defmethod source-file-type ((c cl-modifying-file) (s module))
"lisp")



Normally in src/tools/build-utils.sh there is (setf lisp::*enable-package-locked-errors* nil). But for .asd packages that might get loaded by the user, such a modification of the system cannot be.

So 19a will have to wait a little more before appearing in experimental.

No comments: