[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


I'm still not clear on one thing.  What happens if you have a file compiled
with *PACKAGE* set to a package C, and loaded in an environment with
*PACKAGE* set to a package L, and the "current-package" model is in use,
when the compiled file contains two symbols that appear as
   symbol1    and   c:symbol2
Both symbols will be read into package C, but according to the
"current-package" model, symbol1 should be loaded into package L and symbol2
should be interned in package C at load time.
My question:  How is the compiler supposed to tell whether or not the sm
name was qualified in the input file?  Presumably it gets the symbol via READ,
which doesn't transmit any indication of whether the package qualification
was explicit or not.
So how can it distinguish between symbol-name and current-package:symbol-name?
I contend that for this reason, the "current-package" model is unworkable.
This may not be an issue any longer, but I think this is sufficient
justification for the "home-package" model being the only reasonable one.