
So I believe what happens is that use of :REQUIRE triggers the automatic generation of a REQUIRE-SYSTEM for the corresponding module, and then its loading, when necessary, is handled by REQUIRE. Yes?
Well, :REQUIRE triggers the generation of a REQUIRE-SYSTEM only if the implementation doesn't provide the module via a regular system (as SBCL used to do). Then, the actual loading is done by the corresponding PERFORM method, which calls CL:REQUIRE. To make what you say more ambiguous, the PERFORM may be the result of an OPERATE 'LOAD-OP that is itself a product of calling REQUIRE, and some of the complexity is due to prevent circularity. —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org "I think sex is better than logic, but I can't prove it." — Monty Python