CLOS obscurity in delivery
I have an application which I am delivering at delivery level 0. I want to split it into chunks, so there will be a bunch of fasls which it loads (or doesn't) at boot time. This is mostly so we can provide new bits of functionality or fixes without having to ship a whole new image (and in turn, this is mostly political & convenience, I'm not stressing about size). What I do is: compile it all. Concatenate various systems into big fasls, and load the core systems, then dump an image. At boot time the system then loads some of these other systems. One class that is dumped in the image has an initialize-instance method that does something like: (with-slots (lock) ob (setf lock ...)) This class is subclassed in one of the systems loaded at boot time. When an instance of this subclass is created, it gets an error saying that the slot is missing in the object. It seems to have the slot name correct (including package). It looks like something is optimizing too much information away about the slot, or ? Nothing I tried (keep-clos, various other of the clos-related options to deliver) seems to help. Dumping the system with the image does help. Is there anything I can do to avoid this? It's really a pain if you can never subclass classes that are defined in a delivered image in loaded code. --tim