summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLockywolf <lockywolf@gmail.com>2019-08-19 13:31:30 +0800
committerLockywolf <lockywolf@gmail.com>2019-08-20 11:49:23 +0800
commitab070092b1bc05b97825404c100f3da864e2d5ae (patch)
tree1c7a0a236f6fcb23c1682d36768270b3304f8b92
parent14022dd54fb9b1dcd9cc84e968491a7119d9c2a2 (diff)
downloadgeiser-guile-ab070092b1bc05b97825404c100f3da864e2d5ae.tar.gz
geiser-guile-ab070092b1bc05b97825404c100f3da864e2d5ae.tar.bz2
Add a TODO entry for adding output to erroneous evaluations.
-rw-r--r--scheme/chibi/geiser/geiser.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/scheme/chibi/geiser/geiser.scm b/scheme/chibi/geiser/geiser.scm
index 20ff2cd..35a52b7 100644
--- a/scheme/chibi/geiser/geiser.scm
+++ b/scheme/chibi/geiser/geiser.scm
@@ -33,7 +33,14 @@
(define (geiser:eval module form . rest)
rest
- (guard (err (else (write `((result ,(show #f err))))))
+ (guard (err
+ (else
+ ;; TODO:We need to save output when returning errors too. The
+ ;; output may very well be produced before an error occurs. But to
+ ;; implement it wisely, we probably need something like two guard
+ ;; expressions. For example, org-mode's ob-scheme.el needs it.:END
+
+ (write `((result ,(show #f err))))))
(let* ((output (open-output-string))
(result (parameterize ((current-output-port output))
(if module