12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- From d06f6d5b7342693b4065c0c361e430c4bdb065e5 Mon Sep 17 00:00:00 2001
- From: Tim Van den Langenbergh <tmt_vdl@gmx.com>
- Date: Sat, 23 Apr 2022 14:57:27 +0200
- Subject: [PATCH] lisp/ob-scheme.el: Use synchronous eval.
- * ob-scheme.el (org-babel-scheme-execute-with-geiser): If available,
- use the synchronous `geiser-eval-region/wait' function to get the
- evaluation result.
- Works with geiser 0.18 (before introduction of async evaluation) and
- geiser 0.22 (which introduces `geiser-eval-region/wait').
- Modified from a patch proposal by Felipe Lema.
- TINYCHANGE
- ---
- lisp/ob-scheme.el | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
- diff --git a/lisp/ob-scheme.el b/lisp/ob-scheme.el
- index 72d2e029e..f28cadd87 100644
- --- a/lisp/ob-scheme.el
- +++ b/lisp/ob-scheme.el
- @@ -55,6 +55,8 @@
- (declare-function geiser-mode "ext:geiser-mode" ())
- (declare-function geiser-eval-region "ext:geiser-mode"
- (start end &optional and-go raw nomsg))
- +(declare-function geiser-eval-region/wait "ext:geiser-mode"
- + (start end &optional timeout))
- (declare-function geiser-repl-exit "ext:geiser-repl" (&optional arg))
- (declare-function geiser-eval--retort-output "ext:geiser-eval" (ret))
- (declare-function geiser-eval--retort-result-str "ext:geiser-eval" (ret prefix))
- @@ -176,7 +178,11 @@ is true; otherwise returns the last value."
- (setq geiser-impl--implementation nil)
- (let ((geiser-debug-jump-to-debug-p nil)
- (geiser-debug-show-debug-p nil))
- - (let ((ret (geiser-eval-region (point-min) (point-max))))
- + (let ((ret (funcall (if (fboundp 'geiser-eval-region/wait)
- + #'geiser-eval-region/wait
- + #'geiser-eval-region)
- + (point-min)
- + (point-max))))
- (setq result (if output
- (or (geiser-eval--retort-output ret)
- "Geiser Interpreter produced no output")
- --
- 2.35.3
|