summaryrefslogtreecommitdiff
path: root/elisp/geiser-debug.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-07-02 05:29:04 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-07-02 05:29:04 +0200
commit710d0cec8854a4e89f4948d49e614f286913f711 (patch)
tree7e15b14bc96863698c2a10f15098984872113911 /elisp/geiser-debug.el
parentba38e61e768a5e2b6ccdebc09262e3186a8cf15b (diff)
downloadgeiser-chez-710d0cec8854a4e89f4948d49e614f286913f711.tar.gz
geiser-chez-710d0cec8854a4e89f4948d49e614f286913f711.tar.bz2
Simpler, nicer, more efficient handling of evaluation results. It
comes with a pony too.
Diffstat (limited to 'elisp/geiser-debug.el')
-rw-r--r--elisp/geiser-debug.el10
1 files changed, 7 insertions, 3 deletions
diff --git a/elisp/geiser-debug.el b/elisp/geiser-debug.el
index ec2e93e..6d795df 100644
--- a/elisp/geiser-debug.el
+++ b/elisp/geiser-debug.el
@@ -59,7 +59,7 @@
;;; Displaying retorts
-(defun geiser-debug--display-retort (what ret)
+(defun geiser-debug--display-retort (what ret &optional res)
(let* ((err (geiser-eval--retort-error ret))
(key (geiser-eval--error-key err))
(output (geiser-eval--retort-output ret))
@@ -69,6 +69,9 @@
(erase-buffer)
(insert what)
(newline 2)
+ (when res
+ (insert res)
+ (newline 2))
(unless (geiser-impl--display-error impl module key output)
(when err (insert (geiser-eval--error-str err) "\n\n"))
(when output (insert output "\n\n")))
@@ -88,10 +91,11 @@
(wrapped (if wrap (geiser-debug--wrap-region str) str))
(code `(,(if compile :comp :eval) (:scm ,wrapped)))
(ret (geiser-eval--send/wait code))
+ (res (geiser-eval--retort-result-str ret))
(err (geiser-eval--retort-error ret)))
(when and-go (funcall and-go))
- (when (not err) (message (format "=> %S" (geiser-eval--retort-result ret))))
- (geiser-debug--display-retort str ret)))
+ (when (not err) (message "%s" res))
+ (geiser-debug--display-retort str ret res)))
(defun geiser-debug--expand-region (start end all wrap)
(let* ((str (buffer-substring-no-properties start end))