[slime-cvs] CVS update: slime/ChangeLog slime/slime.el slime/swank-allegro.lisp slime/swank-clisp.lisp slime/swank-cmucl.lisp slime/swank-lispworks.lisp slime/swank-openmcl.lisp slime/swank-sbcl.lisp slime/swank.lisp
Marco Baringer
mbaringer at common-lisp.net
Fri Mar 5 14:26:15 UTC 2004
Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv31073
Modified Files:
ChangeLog slime.el swank-allegro.lisp swank-clisp.lisp
swank-cmucl.lisp swank-lispworks.lisp swank-openmcl.lisp
swank-sbcl.lisp swank.lisp
Log Message:
See ChangeLog entry 2004-03-05 Marco Baringer
Date: Fri Mar 5 09:26:14 2004
Author: mbaringer
Index: slime/ChangeLog
diff -u slime/ChangeLog:1.280 slime/ChangeLog:1.281
--- slime/ChangeLog:1.280 Thu Mar 4 17:21:55 2004
+++ slime/ChangeLog Fri Mar 5 09:26:13 2004
@@ -1,3 +1,17 @@
+2004-03-05 Marco Baringer <mb at bese.it>
+
+ * swank.lisp (frame-locals-for-emacs): New function.
+
+ * slime.el (sldb-frame-locals): Use swank::frame-locals-for-emacs
+ not swank::frame-locals.
+ (sldb-insert-locals): use the :value property, not the
+ :value-string property.
+
+ * swank-allegro.lisp, swank-clisp.lisp, swank-cmucl.lisp,
+ swank-lispworks.lisp, swank-sbcl.lisp (frame-locals): Return lisp
+ objects, not strings. Use the :value property and not the
+ :value-string property.
+
2004-03-04 Helmut Eller <e9626484 at stud3.tuwien.ac.at>
* slime.el (slime-display-comletion-list): New function. Set
Index: slime/slime.el
diff -u slime/slime.el:1.227 slime/slime.el:1.228
--- slime/slime.el:1.227 Thu Mar 4 17:19:26 2004
+++ slime/slime.el Fri Mar 5 09:26:13 2004
@@ -4623,7 +4623,7 @@
(sldb-sugar-move 'sldb-down))
(defun sldb-frame-locals (frame)
- (slime-eval `(swank:frame-locals ,frame)))
+ (slime-eval `(swank::frame-locals-for-emacs ,frame)))
(defun sldb-insert-locals (frame prefix)
(dolist (l (sldb-frame-locals frame))
@@ -4632,7 +4632,7 @@
(unless (zerop id)
(insert (in-sldb-face local-name (format "#%d" id)))))
(insert " = "
- (in-sldb-face local-value (plist-get l :value-string))
+ (in-sldb-face local-value (plist-get l :value))
"\n")))
(defun sldb-list-locals ()
Index: slime/swank-allegro.lisp
diff -u slime/swank-allegro.lisp:1.18 slime/swank-allegro.lisp:1.19
--- slime/swank-allegro.lisp:1.18 Thu Mar 4 17:15:40 2004
+++ slime/swank-allegro.lisp Fri Mar 5 09:26:14 2004
@@ -156,10 +156,9 @@
(defimplementation frame-locals (index)
(let ((frame (nth-frame index)))
(loop for i from 0 below (debugger:frame-number-vars frame)
- collect (list :name (to-string (debugger:frame-var-name frame i))
+ collect (list :name (debugger:frame-var-name frame i)
:id 0
- :value-string
- (to-string (debugger:frame-var-value frame i))))))
+ :value (debugger:frame-var-value frame i)))))
(defimplementation frame-catch-tags (index)
(declare (ignore index))
Index: slime/swank-clisp.lisp
diff -u slime/swank-clisp.lisp:1.23 slime/swank-clisp.lisp:1.24
--- slime/swank-clisp.lisp:1.23 Thu Mar 4 17:15:40 2004
+++ slime/swank-clisp.lisp Fri Mar 5 09:26:14 2004
@@ -281,13 +281,12 @@
(loop for i from 1 below (length venv) by 2
as symbol = (svref venv (1- i))
and value = (svref venv i)
- collect (list :name (to-string symbol) :id 0
- :value-string (to-string
- (if (eq sys::specdecl value)
- ;; special variable
- (sys::eval-at frame symbol)
- ;; lexical variable or symbol macro
- value)))))
+ collect (list :name symbol :id 0
+ :value (if (eq sys::specdecl value)
+ ;; special variable
+ (sys::eval-at frame symbol)
+ ;; lexical variable or symbol macro
+ value))))
(defun frame-do-fenv (frame fenv)
(declare (ignore frame fenv))
Index: slime/swank-cmucl.lisp
diff -u slime/swank-cmucl.lisp:1.76 slime/swank-cmucl.lisp:1.77
--- slime/swank-cmucl.lisp:1.76 Thu Mar 4 17:15:40 2004
+++ slime/swank-cmucl.lisp Fri Mar 5 09:26:14 2004
@@ -1030,11 +1030,11 @@
(loop for v across debug-variables collect
(list :name (to-string (di:debug-variable-symbol v))
:id (di:debug-variable-id v)
- :value-string (ecase (di:debug-variable-validity v location)
- (:valid
- (to-string (di:debug-variable-value v frame)))
- ((:invalid :unknown)
- "<not-available>"))))))
+ :value (ecase (di:debug-variable-validity v location)
+ (:valid
+ (di:debug-variable-value v frame))
+ ((:invalid :unknown)
+ "<not-available>"))))))
(defimplementation frame-catch-tags (index)
(loop for (tag . code-location) in (di:frame-catches (nth-frame index))
Index: slime/swank-lispworks.lisp
diff -u slime/swank-lispworks.lisp:1.27 slime/swank-lispworks.lisp:1.28
--- slime/swank-lispworks.lisp:1.27 Thu Mar 4 17:15:40 2004
+++ slime/swank-lispworks.lisp Fri Mar 5 09:26:14 2004
@@ -230,9 +230,8 @@
(mapcar (lambda (var)
(destructuring-bind (name value symbol location) var
(declare (ignore name location))
- (list :name (to-string symbol) :id 0
- :value-string
- (to-string value))))
+ (list :name symbol :id 0
+ :value value)))
vars)))))
(defimplementation frame-catch-tags (index)
Index: slime/swank-openmcl.lisp
diff -u slime/swank-openmcl.lisp:1.67 slime/swank-openmcl.lisp:1.68
--- slime/swank-openmcl.lisp:1.67 Wed Mar 3 15:55:38 2004
+++ slime/swank-openmcl.lisp Fri Mar 5 09:26:14 2004
@@ -335,9 +335,9 @@
(declare (ignore type))
(when name
(push (list
- :name (to-string name)
+ :name name
:id 0
- :value-string (to-string var))
+ :value var)
result))))
(return-from frame-locals (nreverse result))))))))
Index: slime/swank-sbcl.lisp
diff -u slime/swank-sbcl.lisp:1.72 slime/swank-sbcl.lisp:1.73
--- slime/swank-sbcl.lisp:1.72 Thu Mar 4 17:15:40 2004
+++ slime/swank-sbcl.lisp Fri Mar 5 09:26:14 2004
@@ -585,13 +585,12 @@
(declare (type (or null simple-vector) debug-variables))
(loop for v across debug-variables
collect (list
- :name (to-string (sb-di:debug-var-symbol v))
+ :name (sb-di:debug-var-symbol v)
:id (sb-di:debug-var-id v)
- :value-string
- (if (eq (sb-di:debug-var-validity v location)
- :valid)
- (to-string (sb-di:debug-var-value v frame))
- "<not-available>")))))
+ :value (if (eq (sb-di:debug-var-validity v location)
+ :valid)
+ (sb-di:debug-var-value v frame)
+ "<not-available>")))))
(defimplementation frame-catch-tags (index)
(loop for (tag . code-location) in (sb-di:frame-catches (nth-frame index))
Index: slime/swank.lisp
diff -u slime/swank.lisp:1.135 slime/swank.lisp:1.136
--- slime/swank.lisp:1.135 Thu Mar 4 17:12:44 2004
+++ slime/swank.lisp Fri Mar 5 09:26:14 2004
@@ -859,6 +859,17 @@
(defslimefun eval-string-in-frame (string index)
(to-string (eval-in-frame (from-string string) index)))
+(defun frame-locals-for-emacs (frame-index)
+ (mapcar (lambda (frame-locals)
+ (loop
+ for (key value) on frame-locals by #'cddr
+ collect key
+ if (member key (list :name :value))
+ collect (to-string value)
+ else
+ collect value))
+ (frame-locals frame-index)))
+
;;;; Evaluation
More information about the slime-cvs
mailing list