[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