emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/geiser-chez 2d8cd83c64 08/15: wee refactoring


From: ELPA Syncer
Subject: [nongnu] elpa/geiser-chez 2d8cd83c64 08/15: wee refactoring
Date: Tue, 11 Oct 2022 13:58:55 -0400 (EDT)

branch: elpa/geiser-chez
commit 2d8cd83c646272c7c4d8f27af0155424d8f183fb
Author: jao <jao@gnu.org>
Commit: jao <jao@gnu.org>

    wee refactoring
---
 src/geiser/geiser.ss | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/geiser/geiser.ss b/src/geiser/geiser.ss
index 960b71afd9..dae82c00eb 100644
--- a/src/geiser/geiser.ss
+++ b/src/geiser/geiser.ss
@@ -9,6 +9,12 @@
           geiser:macroexpand)
   (import (chezscheme))
 
+  (define-syntax as-string
+    (syntax-rules () ((_ b ...) (with-output-to-string (lambda () b ...)))))
+
+  (define (write-to-string x) (as-string (write x)))
+  (define (pretty-string x) (as-string (pretty-print x)))
+
   (define (call-with-result thunk)
     (let ((output-string (open-output-string)))
       (write
@@ -20,17 +26,14 @@
                 (k `((result "")
                      (output . ,(get-output-string output-string))
                      (error (key . condition)
-                            (msg . ,(with-output-to-string
-                                      (lambda () (display-condition e))))))))
+                            (msg . ,(as-string (display-condition e)))))))
             (lambda ()
               (call-with-values
                   (lambda ()
                     (parameterize ((current-output-port output-string)) 
(thunk)))
                 (lambda result
-                  `((result ,(with-output-to-string
-                               (lambda ()
-                                 (pretty-print
-                                  (if (null? (cdr result)) (car result) 
result)))))
+                  `((result ,(pretty-string
+                              (if (null? (cdr result)) (car result) result)))
                     (output . ,(get-output-string output-string))))))))))
       (newline)
       (close-output-port output-string)))
@@ -71,9 +74,6 @@
                   (map write-to-string
                        (environment-symbols (interaction-environment))))))
 
-  (define (write-to-string x)
-    (with-output-to-string (lambda () (write x))))
-
   (define (geiser:eval module form)
     (call-with-result
      (lambda () (if module (eval form (environment module)) (eval form)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]