Skip to content
Browse files

See ChangeLog entry 2004-03-05 Marco Baringer

  • Loading branch information...
1 parent 97d7dcb commit de3dd96a9c6ee865ddce24d5188f31eed1b6037b Marco Baringer committed
Showing with 49 additions and 28 deletions.
  1. +14 −0 ChangeLog
  2. +2 −2 slime.el
  3. +2 −3 swank-allegro.lisp
  4. +6 −7 swank-clisp.lisp
  5. +5 −5 swank-cmucl.lisp
  6. +2 −3 swank-lispworks.lisp
  7. +2 −2 swank-openmcl.lisp
  8. +5 −6 swank-sbcl.lisp
  9. +11 −0 swank.lisp
View
14 ChangeLog
@@ -1,3 +1,17 @@
+2004-03-05 Marco Baringer <mb@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@stud3.tuwien.ac.at>
* slime.el (slime-display-comletion-list): New function. Set
View
4 slime.el
@@ -4623,7 +4623,7 @@ The details include local variable bindings and CATCH-tags."
(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 @@ The details include local variable bindings and CATCH-tags."
(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 ()
View
5 swank-allegro.lisp
@@ -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))
View
13 swank-clisp.lisp
@@ -281,13 +281,12 @@ Return NIL if the symbol is unbound."
(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))
View
10 swank-cmucl.lisp
@@ -1030,11 +1030,11 @@ stack."
(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))
View
5 swank-lispworks.lisp
@@ -230,9 +230,8 @@ Return NIL if the symbol is unbound."
(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)
View
4 swank-openmcl.lisp
@@ -335,9 +335,9 @@ If the backtrace cannot be calculated, this function returns NIL."
(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))))))))
View
11 swank-sbcl.lisp
@@ -585,13 +585,12 @@ stack."
(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))
View
11 swank.lisp
@@ -859,6 +859,17 @@ has changed, ignore the request."
(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

0 comments on commit de3dd96

Please sign in to comment.
Something went wrong with that request. Please try again.