On Nov 11, 2020, at 10:40, Mark Evenson evenson@panix.com wrote:
On Nov 11, 2020, at 03:44, Robert Munyer 2433647181@munyer.com wrote:
[…]
It's conceivably possible that _all_ of the manipulation of *PACKAGE* that happens during COMPILE-FILE could be removed, because the user is already required to have *PACKAGE* set correctly when invoking LOAD.
I don’t think this is true: COMPILE-FILE should actually capture the current package when COMPILE-FILE is invoked, arranging to have this package present when LOAD occurs. [An example of this][1] works on SBCL/CCL but fails on ABCL even with all of your suggestions. Please correct me if you believe this isn’t the case.
Strike “arranging to have this package present when LOAD occurs” as that is certainly not true in general. It’s more that the compiler should take the current package in account when it determines what the symbols it encounters actually refer to. More precise formulations of this are welcome…