<div class="gmail_quote">On Sat, Feb 13, 2010 at 10:59 AM, Alexander Gavrilov <span dir="ltr"><<a href="mailto:angavrilov@gmail.com">angavrilov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
As I understand, that file is an integration shim that activates<br>
when both def and common modules are loaded, but allows them to<br>
be used independently. Thus the 'common' one cannot directly<br>
contain a reference to def. Although it can probably include a<br>
placeholder in-package macro that by default directly expands<br>
to the common lisp one.<br></blockquote><div><br></div><div>I do not understand much of that paragraph, but please understand the following: according to the Hyperspec, the value of *package* has to be changed exactly the same when compile-file and when load are used. In other words, in-package can not have one argument at compile time and then, when loading, deciding to use one or another package depending on what is available. This is explained here</div>
<div>   <a href="http://www.lispworks.com/documentation/HyperSpec/Issues/iss063_w.htm">http://www.lispworks.com/documentation/HyperSpec/Issues/iss063_w.htm</a></div><div>and summarized here without many of the important details from the previous page</div>
<div>   <a href="http://www.lispworks.com/documentation/HyperSpec/Body/03_bdd.htm">http://www.lispworks.com/documentation/HyperSpec/Body/03_bdd.htm</a></div><div><br></div><div>If you need a symbol reference with a home package that depends on previously loaded packages and want this to work reliably and portably, one alternative is to use LOAD-TIME-VALUE with INTERN. Another, more reasonable alternative in the presence of many such cases, is to create a proxy package.</div>
</div><br clear="all">Juanjo<div><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com">http://juanjose.garciaripoll.googlepages.com</a><br>

</div>