[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-guile 85bf381 244/284: guile: pretty printing evalu
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-guile 85bf381 244/284: guile: pretty printing evaluation results (#64) |
Date: |
Sun, 1 Aug 2021 18:29:53 -0400 (EDT) |
branch: elpa/geiser-guile
commit 85bf381f6a2bdf475eaf469fa2841c0422ed5605
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>
guile: pretty printing evaluation results (#64)
We use the same trick as chicken for guile, and pretty-print the
evaluation results before writing them. The trick wasn't working at all
until i specified a value for the undocumented keyword parameter
`#:max-expr-width`, which makes me think i might be missing something.
---
geiser/evaluation.scm | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/geiser/evaluation.scm b/geiser/evaluation.scm
index 21f8772..f28fb28 100644
--- a/geiser/evaluation.scm
+++ b/geiser/evaluation.scm
@@ -49,9 +49,10 @@
(ge:set-warnings 'none)
-(define (write-result result output)
- (write (list (cons 'result result) (cons 'output output)))
- (newline))
+(define (stringify obj)
+ (object->string obj
+ (lambda (o . ps)
+ (pretty-print o (car ps) #:max-expr-width 1000))))
(define (call-with-result thunk)
(letrec* ((result #f)
@@ -61,8 +62,9 @@
(with-fluids ((*current-warning-port* (current-output-port))
(*current-warning-prefix* ""))
(with-error-to-port (current-output-port)
- (lambda () (set! result (thunk)))))))))
- (write-result result output)))
+ (lambda () (set! result (map stringify (thunk))))))))))
+ (write `((result ,@result) (output . ,output)))
+ (newline)))
(define (ge:compile form module)
(compile* form module compile-opts))
@@ -79,7 +81,7 @@
(thunk (make-program o)))
(start-stack 'geiser-evaluation-stack
(eval `(,thunk) module))))
- (lambda vs (map object->string vs))))))
+ (lambda vs vs)))))
(call-with-result ev)))
(define (ge:eval form module-name)
@@ -87,7 +89,7 @@
(ev (lambda ()
(call-with-values
(lambda () (eval form module))
- (lambda vs (map object->string vs))))))
+ (lambda vs vs)))))
(call-with-result ev)))
(define (ge:compile-file path)
- [nongnu] elpa/geiser-guile 5e04bdd 181/284: Guile: reactivating the debugger during evaluation, (continued)
- [nongnu] elpa/geiser-guile 5e04bdd 181/284: Guile: reactivating the debugger during evaluation, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 4f0c19c 182/284: Guile: reactivating the debugger during evaluation, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 384d21f 184/284: Autodoc: fix for improper macro arglists scanning, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 0d93543 186/284: Merge branch 'master' into guile-meta, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile bc80639 194/284: Merge branch 'master' into guile-meta, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 9d26fb3 201/284: Debugger support, and Guile using it, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile a000bd1 217/284: Guile nit, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile f6911b5 218/284: New geiser-add-to-load-path, just for Guile right now, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile f017454 221/284: Bug fix: don't override customized geiser-implementations-alist, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 8624afc 229/284: Finishing removal of the "foo ends here" footers, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 85bf381 244/284: guile: pretty printing evaluation results (#64),
Philip Kaludercic <=
- [nongnu] elpa/geiser-guile 452e096 235/284: White space, really, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 2f91e2e 245/284: Ensuring switch-to-geiser asks for an implementation, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile f5fee3b 255/284: Quoting binary on version checks (issue #117), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile dc8a792 257/284: Use (car (process-lines ...)) instead of (shell-command ...), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 20043b1 271/284: Make guile return line numbers more often, as suggested by Sergey, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 5eff1e4 279/284: preparing MELPA submission, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 4044010 060/284: Support for multiple Scheme implementations, Chapter 1., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile ed29f9f 103/284: Guile: bug in backtrace display fixed., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 567f3ba 129/284: Guile: dead elisp code elimination., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 23e1ec2 169/284: Documentation nits, Philip Kaludercic, 2021/08/01