[slime-cvs] CVS update: slime/swank-backend.lisp
Helmut Eller
heller at common-lisp.net
Sun Sep 19 05:52:49 UTC 2004
Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv12177
Modified Files:
swank-backend.lisp
Log Message:
(import-swank-mop-symbols): New function. Useful if the implementation
has most of the mop symbols in the same package.
(sldb-break-on-return, sldb-break-at-start, condition-extras): New
functions.
Date: Sun Sep 19 07:52:49 2004
Author: heller
Index: slime/swank-backend.lisp
diff -u slime/swank-backend.lisp:1.68 slime/swank-backend.lisp:1.69
--- slime/swank-backend.lisp:1.68 Fri Sep 17 14:49:04 2004
+++ slime/swank-backend.lisp Sun Sep 19 07:52:48 2004
@@ -81,14 +81,6 @@
#:slot-definition-readers
#:slot-definition-writers))
-(defun swank-backend::import-to-swank-mop (symbol-list)
- (dolist (sym symbol-list)
- (let* ((swank-mop-sym (find-symbol (symbol-name sym) :swank-mop)))
- (when swank-mop-sym
- (unintern swank-mop-sym :swank-mop))
- (import sym :swank-mop)
- (export sym :swank-mop))))
-
(in-package :swank-backend)
@@ -138,6 +130,25 @@
(warn "These Swank interfaces are unimplemented:~% ~A"
(sort (copy-list *unimplemented-interfaces*) #'string<)))
+(defun import-to-swank-mop (symbol-list)
+ (dolist (sym symbol-list)
+ (let* ((swank-mop-sym (find-symbol (symbol-name sym) :swank-mop)))
+ (when swank-mop-sym
+ (unintern swank-mop-sym :swank-mop))
+ (import sym :swank-mop)
+ (export sym :swank-mop))))
+
+(defun import-swank-mop-symbols (package except)
+ "Import the mop symbols from PACKAGE to SWANK-MOP.
+EXCEPT is a list of symbol names which should be ignored."
+ (do-symbols (s :swank-mop)
+ (unless (member s except :test #'string=)
+ (let ((real-symbol (find-symbol (string s) package)))
+ (assert real-symbol)
+ (unintern s :swank-mop)
+ (import real-symbol :swank-mop)
+ (export real-symbol :swank-mop)))))
+
;;;; Utilities
@@ -490,8 +501,20 @@
(:SBCL :NODE node-name)"
'())
+(definterface condition-extras (condition)
+ "Return a list of extra for the debugger.
+The allowed elements are of the form:
+ (:SHOW-FRAME-SOURCE frame-number)"
+ '())
+
(definterface sldb-step (frame-number)
- "Step to the next code location in the frame FRAME-NUMBER.")
+ "Step to the next code location in the frame FRAME-NUMBER.")
+
+(definterface sldb-break-on-return (frame-number)
+ "Set a breakpoint in the frame FRAME-NUMBER.")
+
+(definterface sldb-break-at-start (symbol)
+ "Set a breakpoint on the beginning of the function for SYMBOL.")
More information about the slime-cvs
mailing list