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