[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