Hi Lispers!<br><br><span id="result_box" class="short_text" lang="en"><span class="hps">I</span> <span class="hps">research</span> <span class="hps">sources</span> ASDF <span class="hps">Library</span></span>. I am not understand: <span id="result_box" class="short_text" lang="en"><span class="hps">Why</span> <span class="hps">repeat the</span> <span class="hps">compilation of</span> <span class="hps">a file</span><span class=""> (below code and details)?<br><br>(defmethod perform-with-restarts ((o compile-op) (c cl-source-file))<br>  (loop :with state = :initial<br>    :until (or (eq state :success)<br>               (eq state :failure)) :do<br>    (case state<br>      (:recompiled<br>       (setf state :failure)<br>       (call-next-method)<br>       (setf state :success))<br>      (:failed-compile<br>       (setf state :recompiled)<br>       (perform-with-restarts o c))<br>      (t<br>       (with-simple-restart<br>           (try-recompiling "Try recompiling ~a"<br>                            (component-name c))<br>         (setf state :failed-compile)<br>         (call-next-method)<br>         (setf state :success))))))<br><br>This is bad for me: my code evaluated twice (eval-when (:compile-toplevel) ...) in a file that i am recompiled throghout select try-recompiling restart.<br><br>Details. <br></span></span><span id="result_box" class="short_text" lang="en"><span class="">1. (setf state :failed-compiled</span></span>)<br><span id="result_box" class="short_text" lang="en"><span class="">2. error compilation.<br>3. select try-recompiling restart.<br>4. next iteration.<br>5. (setf state :recompiled)<br>6. recursive call: (perform-with-restarts o c)<br>     (in recusive-call)<br>     6.1 (setf state :failed-compile)<br>     6.2 (call-next-method) = success compile<br>     6.3 (setf state :success)<br>     6.4 next iteration and exit call.<br>7. next iteration<br>8. (setf state :failure)<br>9. (call-next-method) - second compilation!   ???<br><br>I understand that (call-next-method) conceptual feature. But the file should not compile twice! <br>Suggestions?<br><br><br></span></span>