branch: elpa/slime
commit af6f1fca2f45c151f830f42905d6fc0f66053798
Author: Stas Boukarev <[email protected]>
Commit: Stas Boukarev <[email protected]>

    Don't die if swank-asdf can't load asdf.
---
 contrib/swank-asdf.lisp |  4 +++-
 swank.lisp              | 11 ++++++-----
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/contrib/swank-asdf.lisp b/contrib/swank-asdf.lisp
index 413160218c..ae3968451d 100644
--- a/contrib/swank-asdf.lisp
+++ b/contrib/swank-asdf.lisp
@@ -35,10 +35,12 @@
 ;; If still not found, error out.
 (eval-when (:compile-toplevel :load-toplevel :execute)
   (unless (member :asdf *features*)
-    (error "Could not load ASDF.
+    (warn "Could not load ASDF.
 Please update your implementation or
 install a recent release of ASDF and in your ~~/.swank.lisp specify:
  (defparameter swank::*asdf-path* #p\"/path/containing/asdf/asdf.lisp\")")))
+#-asdf
+(throw 'dont-load t)
 
 ;;; If ASDF is too old, punt.
 ;; As of January 2014, Quicklisp has been providing 2.26 for a year
diff --git a/swank.lisp b/swank.lisp
index 0a21461278..cf6eb9acbf 100644
--- a/swank.lisp
+++ b/swank.lisp
@@ -2534,11 +2534,12 @@ Record compiler notes signalled as 
`compiler-condition's."
   "Load the module MODULE."
   (dolist (module (ensure-list modules))
     (unless (member (string module) *modules* :test #'string=)
-      (require module (if filename
-                          (filename-to-pathname filename)
-                          (module-filename module)))
-      (assert (member (string module) *modules* :test #'string=)
-              () "Required module ~s was not provided" module)))
+      (catch 'dont-load
+        (require module (if filename
+                            (filename-to-pathname filename)
+                            (module-filename module)))
+        (assert (member (string module) *modules* :test #'string=)
+                () "Required module ~s was not provided" module))))
   *modules*)
 
 (defvar *find-module* 'find-module

Reply via email to