<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -14,7 +14,7 @@
 
 (asdf:defsystem :clpython-test
     :description &quot;CLPython tests&quot;
-    :depends-on (:clpython :ptester)
+    :depends-on (:clpython #-allegro :ptester)
     ;; PTester: see &lt;http://www.cliki.net/ptester&gt; for download location.
     :components ((:module &quot;test&quot;
                           :serial t</diff>
      <filename>clpython-test.asd</filename>
    </modified>
    <modified>
      <diff>@@ -14,7 +14,6 @@
 (eval-when (:compile-toplevel)
   (error &quot;This ASDF file should be run interpreted.&quot;))
 
-
 ;;; Core systems: parser, compiler, runtime
 
 ;; Here several ASDF systems are defined. The main system :clpython depends on all of them and has no
@@ -35,8 +34,8 @@
     #-allegro (:clpython.package :yacc)
     #+allegro #.`(:clpython.package ,@(when (asdf:find-system :yacc nil) `(:yacc)))
     :components ((:module &quot;parser&quot;
-			  :components ((:file &quot;psetup&quot;  )
-				       (:file &quot;grammar&quot;  :depends-on (&quot;psetup&quot;))
+                          :components ((:file &quot;psetup&quot;  )
+                                       (:file &quot;grammar&quot;  :depends-on (&quot;psetup&quot;))
                                        (:file &quot;lexer&quot;    :depends-on (&quot;grammar&quot;))
                                        (:file &quot;parser&quot;   :depends-on (&quot;grammar&quot; &quot;lexer&quot;))
                                        (:file &quot;grammar-aclyacc&quot; :depends-on (&quot;grammar&quot; &quot;lexer&quot; &quot;parser&quot;))
@@ -44,7 +43,7 @@
                                        (:file &quot;ast-match&quot; :depends-on (&quot;grammar&quot;))
                                        (:file &quot;ast-util&quot; :depends-on (&quot;ast-match&quot; &quot;grammar&quot;))
                                        (:file &quot;walk&quot;     :depends-on (&quot;psetup&quot;))
-				       (:file &quot;pprint&quot;   :depends-on (&quot;psetup&quot;))
+                                       (:file &quot;pprint&quot;   :depends-on (&quot;psetup&quot;))
                                        (:file &quot;lispy&quot;    :depends-on (&quot;psetup&quot; &quot;parser&quot; &quot;ast-match&quot;))))))
 
 (asdf:defsystem :clpython.core
@@ -94,7 +93,7 @@
                                        (:file &quot;_socket&quot; :depends-on (&quot;lsetup&quot;))
                                        (:file &quot;sys&quot; :depends-on (&quot;lsetup&quot;))
                                        (:file &quot;string&quot; :depends-on (&quot;lsetup&quot;))
-				       (:file &quot;symbol&quot; :depends-on (&quot;lsetup&quot;))
+                                       (:file &quot;symbol&quot; :depends-on (&quot;lsetup&quot;))
                                        (:file &quot;thread&quot; :depends-on (&quot;lsetup&quot;))
                                        (:file &quot;time&quot; :depends-on (&quot;lsetup&quot;))))))
 
@@ -104,8 +103,8 @@
     :description &quot;CLPython read-eval-print loop&quot;
     :depends-on (:clpython.core)
     :components ((:module &quot;app&quot;
-			  :components ((:module &quot;repl&quot;
-						:components ((:file &quot;repl&quot;)))))))
+                          :components ((:module &quot;repl&quot;
+                                                :components ((:file &quot;repl&quot;)))))))
 
 (asdf:defsystem :clpython.app
     :description &quot;CLPython applications&quot;
@@ -143,6 +142,35 @@
     (defmethod asdf:perform :around ((op asdf:compile-op) (c (eql allegro-yacc-grammar)))
       nil)))
 
+;; Give a nice error message when a required lib is not found.
+
+;; Closer-mop
+
+(defmacro with-missing-dep-help ((library warning-test) &amp;body body)
+  `(handler-bind ((asdf:missing-dependency
+                   (lambda (c) (when (eq (asdf::missing-requires c) ,library)
+                                 (warn ,warning-test)))))
+     ,@body))
+
+(let ((clpython (asdf:find-system :clpython)))
+  
+  (defmethod asdf::traverse :around ((op asdf:compile-op) (system (eql clpython)))
+    (with-missing-dep-help (:closer-mop
+                            &quot;CL-Python requires library \&quot;Closer to MOP\&quot;. ~
+                             Please check it out from the darcs repo: ~
+                             \&quot;darcs get http://common-lisp.net/project/closer/repos/closer-mop\&quot; ~
+                             or download the latest release from: ~
+                             http://common-lisp.net/project/closer/ftp/closer-mop_latest.tar.gz&quot;)
+      (call-next-method)))
+  
+  #-allegro
+  (defmethod asdf::traverse :around ((op asdf:test-op) (system (eql clpython)))
+    (with-missing-dep-help (:ptester
+                            &quot;CL-Python requires library \&quot;ptester\&quot;. ~
+                             Please download the latest release from: ~
+                             http://files.b9.com/ptester/ptester-latest.tar.gz&quot;)
+      (call-next-method))))
+
 ;;; Show usage
 
 (defun show-clpython-quick-start ()
@@ -162,6 +190,6 @@
   (funcall (find-symbol (string '#:run-tests) :clpython.test)))
 
 (defmethod asdf:operation-done-p ((o asdf:test-op)
-				  (c (eql (asdf:find-system :clpython))))
+                                  (c (eql (asdf:find-system :clpython))))
   &quot;Testing is never finished.&quot;
   nil)</diff>
      <filename>clpython.asd</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>29975800bbaeb70e1e2e5a02b9269573d685f9ff</id>
    </parent>
  </parents>
  <author>
    <name>Willem Broekema</name>
    <email>metawilm@gmail.com</email>
  </author>
  <url>http://github.com/franzinc/cl-python/commit/a9c4c571f403145044dc93945b5c612d84137bcb</url>
  <id>a9c4c571f403145044dc93945b5c612d84137bcb</id>
  <committed-date>2009-11-02T15:52:50-08:00</committed-date>
  <authored-date>2009-09-27T03:00:02-07:00</authored-date>
  <message>Remove dependency on ptester for Allegro</message>
  <tree>5dd1857944daecb02543f83063c6eab101d1f90d</tree>
  <committer>
    <name>Willem Broekema</name>
    <email>metawilm@gmail.com</email>
  </committer>
</commit>
