I configured a fresh emacs 28 installation to include the package geiser-guile.
I tried to evaluate this simple org block (after activating scheme with babel of course): #+begin_src scheme :session test (define x 42) x #+end_src I get: #+RESULTS: The *Geiser Messages* buffer shows this: ERROR: <5>: continuation failed ",geiser-eval #f (begin ;; -*- geiser-sch\ eme-implementation: guile -*- (define x 42) x ) ()" (error Selecting deleted buffer) I managed to track the bug to *ob-scheme.el*: in (defun org-babel-scheme-execute-with-geiser, on line 179, simply replace geiser-eval-region with geiser-eval-region/wait so that the temporary result buffer doesn't close too soon. It then works as expected. Pascal Grossé
From cdc2c10f48585fb6328486d9821526f2bd994400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pascal=20Gross=C3=A9?= <pascal.gro...@gmail.com> Date: Fri, 29 Apr 2022 10:33:05 +0200 Subject: [PATCH] Bug fix for scheme code block evaluation showing no result --- lisp/ob-scheme.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/ob-scheme.el b/lisp/ob-scheme.el index 72d2e029e..80a5b76ee 100644 --- a/lisp/ob-scheme.el +++ b/lisp/ob-scheme.el @@ -176,7 +176,7 @@ 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 (geiser-eval-region/wait (point-min) (point-max)))) (setq result (if output (or (geiser-eval--retort-output ret) "Geiser Interpreter produced no output") -- 2.36.0