[slime-cvs] CVS slime
CVS User heller
heller at common-lisp.net
Wed Mar 3 11:56:36 UTC 2010
Update of /project/slime/cvsroot/slime
In directory cl-net:/tmp/cvs-serv8199
Modified Files:
ChangeLog swank.lisp
Log Message:
Make eval-in-frame display multiple values; not only the first.
* swank.lisp (values-to-string): New macro.
(eval-string-in-frame): Use it.
--- /project/slime/cvsroot/slime/ChangeLog 2010/03/02 14:36:47 1.2006
+++ /project/slime/cvsroot/slime/ChangeLog 2010/03/03 11:56:35 1.2007
@@ -181,6 +181,13 @@
resulting in duplicate modeline strings.
Reported by Leo Liu.
+2010-02-19 Helmut Eller <heller at common-lisp.net>
+
+ Make eval-in-frame display multiple values; not only the first.
+
+ * swank.lisp (values-to-string): New macro.
+ (eval-string-in-frame): Use it.
+
2010-02-18 Mark Harig <idirectscm at aim.com>
The compiler warns about various stuff. Fix some of it.
--- /project/slime/cvsroot/slime/swank.lisp 2010/03/02 12:38:07 1.691
+++ /project/slime/cvsroot/slime/swank.lisp 2010/03/03 11:56:35 1.692
@@ -2012,6 +2012,9 @@
*echo-area-prefix* i i i i)))
(t (format nil "~a~{~S~^, ~}" *echo-area-prefix* values))))))
+(defmacro values-to-string (values)
+ `(format-values-for-echo-area (multiple-value-list ,values)))
+
(defslimefun interactive-eval (string)
(with-buffer-syntax ()
(with-retry-restart (:msg "Retry SLIME interactive evaluation request.")
@@ -2068,13 +2071,13 @@
"A list of variables bindings during pretty printing.
Used by pprint-eval.")
-(defun swank-pprint (list)
- "Bind some printer variables and pretty print each object in LIST."
+(defun swank-pprint (values)
+ "Bind some printer variables and pretty print each object in VALUES."
(with-buffer-syntax ()
(with-bindings *swank-pprint-bindings*
- (cond ((null list) "; No value")
+ (cond ((null values) "; No value")
(t (with-output-to-string (*standard-output*)
- (dolist (o list)
+ (dolist (o values)
(pprint o)
(terpri))))))))
@@ -2553,16 +2556,14 @@
,form))
(defslimefun eval-string-in-frame (string index)
- (to-string
- (with-retry-restart (:msg "Retry SLIME evaluation request.")
- (eval-in-frame (wrap-sldb-vars (from-string string))
- index))))
+ (values-to-string
+ (eval-in-frame (wrap-sldb-vars (from-string string))
+ index)))
(defslimefun pprint-eval-string-in-frame (string index)
(swank-pprint
- (with-retry-restart (:msg "Retry SLIME evaluation request.")
- (multiple-value-list
- (eval-in-frame (wrap-sldb-vars (from-string string)) index)))))
+ (multiple-value-list
+ (eval-in-frame (wrap-sldb-vars (from-string string)) index))))
(defslimefun frame-locals-and-catch-tags (index)
"Return a list (LOCALS TAGS) for vars and catch tags in the frame INDEX.
More information about the slime-cvs
mailing list