[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-chibi 8588086 11/38: Improve geiser:eval to return
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-chibi 8588086 11/38: Improve geiser:eval to return output Add docstring to geiser:output. |
Date: |
Sun, 1 Aug 2021 18:26:16 -0400 (EDT) |
branch: elpa/geiser-chibi
commit 8588086242bc5b8a3b6dbc05d986955cf414e96e
Author: Lockywolf <lockywolf@gmail.com>
Commit: Lockywolf <lockywolf@gmail.com>
Improve geiser:eval to return output Add docstring to geiser:output.
---
scheme/chibi/geiser/geiser.scm | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/scheme/chibi/geiser/geiser.scm b/scheme/chibi/geiser/geiser.scm
index 94f745a..5f9e25e 100644
--- a/scheme/chibi/geiser/geiser.scm
+++ b/scheme/chibi/geiser/geiser.scm
@@ -19,14 +19,22 @@
(write form out)
(get-output-string out)))
+;;> Evaluate a \var{form} in the namespace of the \var{module}.
+;;> The meaning of \var{rest} is unknown.
+;;> Return the alist with the first field, \scheme{result}, holds
+;;> the result of evaluation \scheme{(write)}'d and the second
+;;> field, \scheme{output}, contains everyting that the evaluation
+;;> would print to the standard output.
+
(define (geiser:eval module form . rest)
rest
(guard (err (else (write `((result ,(show #f err))))))
- (let ((output (open-output-string))
- (result (if module
+ (let* ((output (open-output-string))
+ (result (parameterize ((current-output-port output))
+ (if module
(let ((mod (module-env (find-module module))))
(eval form mod))
- (eval form))))
+ (eval form)))))
(write `((result ,(write-to-string result))
(output . ,(get-output-string output))))))
(values))
@@ -95,7 +103,7 @@
#f)
;;> A chibi implementation of the standard geiser's location-making
-;;> subrouting. \var{file} is a string representing file name with path,
+;;> subroutine. \var{file} is a string representing file name with path,
;;> \var{line} is the line number starting from 0 (scheme way).
(define (make-location file line)
- [nongnu] branch elpa/geiser-chibi created (now 6f59291), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi 243a860 01/38: Add preliminary support for Chibi Scheme, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi b943a99 02/38: Use faster module list, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi 2ca82e6 04/38: geiser-chibi: Implement autodoc for procedures in known modules, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi 6d73a7e 07/38: Catch eval and send back eval exception information, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi 8588086 11/38: Improve geiser:eval to return output Add docstring to geiser:output.,
Philip Kaludercic <=
- [nongnu] elpa/geiser-chibi a672720 06/38: Add string combinators module, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi 88a5b09 08/38: Add scheme subroutine to find files implementing modules to chibi., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi b260b6d 09/38: Remove debug printing. Align par-style with geiser., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi 397ba42 13/38: Temporarily fix the symbol-module by appending (current-directory)., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi f52a4ec 16/38: Fix indenting and parenthesis positioning., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi 2a4fb4f 10/38: Add a TODO tag about symbol-location to geiser.sld, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi c860e3a 12/38: Add error reporting about missing symbols to geiser-edit.el, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi 0272694 05/38: Use (car (process-lines ...)) instead of (shell-command ...), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi 41929c9 03/38: Clean-up elisp code, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chibi 5b016dd 18/38: geiser-chibi: allow passing custom argument list to chibi scheme process, Philip Kaludercic, 2021/08/01