[slime-cvs] CVS update: slime/swank-backend.lisp

Luke Gorrie lgorrie at common-lisp.net
Wed Apr 14 18:50:36 UTC 2004


Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv12178

Modified Files:
	swank-backend.lisp 
Log Message:

Date: Wed Apr 14 14:50:36 2004
Author: lgorrie

Index: slime/swank-backend.lisp
diff -u slime/swank-backend.lisp:1.42 slime/swank-backend.lisp:1.43
--- slime/swank-backend.lisp:1.42	Tue Apr  6 06:42:53 2004
+++ slime/swank-backend.lisp	Wed Apr 14 14:50:36 2004
@@ -48,6 +48,7 @@
 implementation.
 
 Backends implement these functions using DEFIMPLEMENTATION."
+  (check-type documentation string "a documentation string")
   (flet ((gen-default-impl ()
            (let ((received-args (gensym "ARGS-")))
              `(defmethod no-applicable-method ((#:method
@@ -162,16 +163,19 @@
 Additionally, if POSITION is supplied, it must be added to source
 positions reported in compiler conditions.")
 
-(definterface swank-compile-system (system-name)
-  "Compile and load SYSTEM-NAME, During compilation compiler
-  conditions must be trapped and resignalled as
-  COMPILER-CONDITION ala compile-string-for-emacs."
+(definterface operate-on-system (system-name operation-name &rest keyword-args)
+  "Perform OPERATION-NAME on SYSTEM-NAME using ASDF.
+The KEYWORD-ARGS are passed on to the operation.
+Example:
+\(operate-on-system \"SWANK\" \"COMPILE-OP\" :force t)"
+  (unless (member :asdf *features*)
+    (error "ASDF is not loaded."))
   (with-compilation-hooks ()
-    (cond ((member :asdf *features*)
-           (let ((operate (find-symbol (string :operate) :asdf))
-                 (load-op (find-symbol (string :load-op) :asdf)))
-             (funcall operate load-op system-name)))
-          (t (error "ASDF not loaded")))))
+    (let ((operate (find-symbol "OPERATE" :asdf))
+          (operation (find-symbol operation-name :asdf)))
+      (when (null operation)
+        (error "Couldn't find ASDF operation ~S" operation-name))
+      (apply operate operation system-name keyword-args))))
 
 (definterface swank-compile-file (filename load-p)
    "Compile FILENAME signalling COMPILE-CONDITIONs.





More information about the slime-cvs mailing list