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

Helmut Eller heller at common-lisp.net
Fri Jun 25 08:06:39 UTC 2004


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

Modified Files:
	swank.lisp 
Log Message:
(inspect-frame-var): New function.

Date: Fri Jun 25 01:06:39 2004
Author: heller

Index: slime/swank.lisp
diff -u slime/swank.lisp:1.202 slime/swank.lisp:1.203
--- slime/swank.lisp:1.202	Tue Jun 22 01:02:15 2004
+++ slime/swank.lisp	Fri Jun 25 01:06:39 2004
@@ -906,7 +906,7 @@
 
 (defslimefun connection-info ()
   "Return a list of the form: 
-\(VERSION PID IMPLEMENTATION-TYPE IMPLEMENTATION-NAME FEATURES)."
+\(PID IMPLEMENTATION-TYPE IMPLEMENTATION-NAME FEATURES)."
   (list (getpid)
         (lisp-implementation-type)
         (lisp-implementation-type-name)
@@ -1578,7 +1578,7 @@
 ;;;; Completion
 
 (defun determine-case (string)
-  "Return to booleans LOWER and UPPER indicating whether STRING
+  "Return two booleans LOWER and UPPER indicating whether STRING
 contains lower or upper case characters."
   (values (some #'lower-case-p string)
           (some #'upper-case-p string)))
@@ -2446,26 +2446,27 @@
     (inspect-object (eval (read-from-string string)))))
 
 (defun print-part-to-string (value)
-  (let ((*print-pretty* nil)
-        (*print-circle* t))
-    (let ((string (to-string value))
-	  (pos (position value *inspector-history*)))
-      (if pos
-	  (format nil "#~D=~A" pos string)
-	  string))))
+  (let ((string (to-string value))
+        (pos (position value *inspector-history*)))
+    (if pos
+        (format nil "#~D=~A" pos string)
+        string)))
 
 (defun inspect-object (object)
   (push (setq *inspectee* object) *inspector-stack*)
   (unless (find object *inspector-history*)
     (vector-push-extend object *inspector-history*))
-  (multiple-value-bind (text parts) (inspected-parts object)
-    (setq *inspectee-parts* parts)
-    (list :text text
-          :type (to-string (type-of object))
-          :primitive-type (describe-primitive-type object)
-          :parts (loop for (label . value) in parts
-                       collect (cons (princ-to-string label)
-                                     (print-part-to-string value))))))
+  (let ((*print-pretty* nil)            ; print everything in the same line
+        (*print-circle* t)
+        (*print-readably* nil))
+    (multiple-value-bind (text parts) (inspected-parts object)
+      (setq *inspectee-parts* parts)
+      (list :text text
+            :type (to-string (type-of object))
+            :primitive-type (describe-primitive-type object)
+            :parts (loop for (label . value) in parts
+                         collect (cons (princ-to-string label)
+                                       (print-part-to-string value)))))))
 
 (defun nth-part (index)
   (cdr (nth index *inspectee-parts*)))
@@ -2560,6 +2561,11 @@
   (with-buffer-syntax ()
     (reset-inspector)
     (inspect-object *swank-debugger-condition*)))
+
+(defslimefun inspect-frame-var (frame var)
+  (with-buffer-syntax ()
+    (reset-inspector)
+    (inspect-object (frame-var-value frame var))))
 
 
 ;;;; Thread listing





More information about the slime-cvs mailing list