[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