diff options
Diffstat (limited to 'scheme')
| -rw-r--r-- | scheme/chibi/geiser/geiser.scm | 17 | 
1 files changed, 9 insertions, 8 deletions
| diff --git a/scheme/chibi/geiser/geiser.scm b/scheme/chibi/geiser/geiser.scm index 79a1b4e..96399c3 100644 --- a/scheme/chibi/geiser/geiser.scm +++ b/scheme/chibi/geiser/geiser.scm @@ -20,14 +20,15 @@  (define (geiser:eval module form . rest)    rest -  (let ((output (open-output-string)) -        (result (if module -                    (let ((mod (module-env (find-module module)))) -                      (eval form mod)) -                    (eval form)))) -    (write `((result ,(write-to-string result)) -             (output . ,(get-output-string output)))) -    (values))) +  (guard (err (else (write `((result ,(show #f err)))))) +    (let ((output (open-output-string)) +          (result (if module +                      (let ((mod (module-env (find-module module)))) +                        (eval form mod)) +                      (eval form)))) +      (write `((result ,(write-to-string result)) +               (output . ,(get-output-string output)))))) +  (values))  (define (geiser:module-completions prefix . rest)    ;; (available-modules) walks the directory tree and is too slow | 
