<div class="gmail_quote">On Mon, Aug 1, 2011 at 8:39 PM, Matthew Mondor <span dir="ltr"><<a href="mailto:mm_lists@pulsar-zone.net">mm_lists@pulsar-zone.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div id=":tj">contrib/defsystem/defsystem.lisp:4019:            (setf *package* package)))))<br>
contrib/defsystem/defsystem.lisp:4100:      (setf *package* (find-package old-package)))<br></div></blockquote><div> </div><div>External package. Probably wrong: they should have established a binding for *package* outside.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":tj">
src/bare.lsp.in:34:(setq *package* (find-package "SYSTEM"))<br>src/<a href="http://compile.lsp.in:13" target="_blank">compile.lsp.in:13</a>:  (setq *package* (find-package "SYSTEM"))<br></div></blockquote>

<div><br></div><div>Only used when building ECL. No problem.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":tj">src/c/cinit.d:144:      ECL_SET(@'*package*', cl_core.system_package);<br>

</div></blockquote><div><br></div><div>Boot time.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div id=":tj">
src/c/main.d:699:       ECL_SET(@'*package*', cl_core.lisp_package);<br>
src/c/main.d:708:       ECL_SET(@'*package*', cl_core.user_package);<br></div></blockquote><div><br></div><div>Again initialization. Safe uses</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div id=":tj">
src/c/package.d:339:            ECL_SETQ(env, @'*package*', cl_core.user_package);<br></div></blockquote><div><br></div><div>This only happens when *package* had a bogus value.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div id=":tj">
src/c/package.d:841:    @(return (ECL_SETQ(the_env, @'*package*', p)))<br></div></blockquote><div><br></div><div>These is the routine that actually implement IN-PACKAGE (saves some bytes).</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div id=":tj">src/lsp/defpackage.lsp:202:      (setf (documentation *package* t) documentation))<br></div></blockquote></div><br>Nothing related to the *package* variable itself.<div><br></div><div>So it seems we are pretty safe.</div>

<div><br></div><div>Juanjo<br clear="all"><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>


</div>