summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elisp/geiser-chez.el8
-rw-r--r--scheme/chez/geiser/geiser.ss8
2 files changed, 11 insertions, 5 deletions
diff --git a/elisp/geiser-chez.el b/elisp/geiser-chez.el
index 9a24a72..3d4b495 100644
--- a/elisp/geiser-chez.el
+++ b/elisp/geiser-chez.el
@@ -120,7 +120,13 @@ This function uses `geiser-chez-init-file' if it exists."
(geiser-eval--send/wait "(begin (import (geiser)) (write `((result ) (output . \"\"))) (newline))")))
(defun geiser-chez--display-error (module key msg)
- (and key (message msg) nil))
+ (when (stringp msg)
+ (save-excursion (insert msg))
+ (geiser-edit--buttonize-files))
+ (and (or (eq key 'chez-error-message)
+ (not key))
+ (not (zerop (length msg)))
+ msg))
;;; Implementation definition:
diff --git a/scheme/chez/geiser/geiser.ss b/scheme/chez/geiser/geiser.ss
index 70313ab..2d13952 100644
--- a/scheme/chez/geiser/geiser.ss
+++ b/scheme/chez/geiser/geiser.ss
@@ -55,10 +55,10 @@
(with-exception-handler
(lambda (e)
(k `((result "")
- (output . ,(get-output-string output-string))
- (error (key . ,(with-output-to-string
- (lambda ()
- (display-condition e))))))))
+ (output . ,(with-output-to-string
+ (lambda ()
+ (display-condition e))))
+ (error (key . chez-error-message)))))
(lambda ()
(call-with-values
;; evaluate form, allow for multiple return values,