Skip to content
Commit 97c5462a authored by Robert P. Goldman's avatar Robert P. Goldman
Browse files

New fix for reuse of COMPONENTS based on REINITIALIZE-INSTANCE mehtods.

Thanks to Christophe Rhodes for suggestions.  We use
REINITIALIZE-INSTANCE to clear out-of-date information out of the slots
of COMPONENT objects while they are reused.

Two complications presented themselves:

1.  Previously, I believe for orthogonality, we would either get an old
(reused) COMPONENT or make a new one, but in either case, the handling
of initargs was done by REINITIALIZE-INSTANCE.  This made it impossible
for the REINITIALIZE-INSTANCE methods to "know" that they were in a real
sense RE-initializing.  At the expense of some code duplication, I broke
this sharing, so that now REINITIALIZE-INSTANCE should only be called
when we are reusing a COMPONENT, with an exception below...

2.  We always need to have a SYSTEM object active for the defsystem we
are currently processing.  Accordingly,  SYSTEM objects will *ALWAYS*
be RE-initialized.  So the REINITIALIZE-INSTANCE method required a
little care (in particular, the SOURCE-FILE slot needed delicate
handling.
parent 9c74bac8
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment