<div dir="ltr">CL does guarantee it. Each form is read one by one. And eval-when causes evaluation.<div>If that didn't work, how do you imagine IN-PACKAGE would work?<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 15, 2015 at 4:16 AM, Mark H. David <span dir="ltr"><<a href="mailto:mhd@clozure.com" target="_blank">mhd@clozure.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I see there's code to add feature :ccl-1.11-sockets and to use it via a read-time feature check in the same file. The file is backend/openmcl.lisp.  I don't think this can work reliably.  It seems to work, but I don't think Common Lisp guarantees it.<br>
<br>
The code is<br>
<br>
(eval-when (:compile-toplevel :load-toplevel :execute)<br>
  (when (find-class 'ccl::ip6-socket-address nil)<br>
    (pushnew :ccl-1.11-sockets *features*)))<br>
<br>
I think a much more robust solution would be for this to go in an earlier file that is guaranteed to be loaded before backend/openmcl.lisp is compiled.<br>
<br>
Can one of the developers review this?<br>
<br>
Also, any word on when this will propagate to Quicklisp?<br>
<br>
Thanks,<br>
<br>
Mark<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">With best regards, Stas.</div>
</div>