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

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

[nongnu] elpa/geiser-guile 4afe5ff 098/284: Guile: bug fix: evaluation w


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-guile 4afe5ff 098/284: Guile: bug fix: evaluation works again (1.9.3 or better required).
Date: Sun, 1 Aug 2021 18:29:24 -0400 (EDT)

branch: elpa/geiser-guile
commit 4afe5ff27c7cbf6210cd4890e25c8c4bdc475849
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>

    Guile: bug fix: evaluation works again (1.9.3 or better required).
---
 geiser/evaluation.scm | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/geiser/evaluation.scm b/geiser/evaluation.scm
index 642c185..3e44834 100644
--- a/geiser/evaluation.scm
+++ b/geiser/evaluation.scm
@@ -38,29 +38,21 @@
                      (current-module)))
          (result #f)
          (captured-stack #f)
-         (error #f)
+         (err #f)
          (ev (lambda ()
-               (save-module-excursion
-                (lambda ()
-                  (set-current-module module)
-                  (set! result (call-with-values
-                                   (lambda () (compile form))
-                                 (lambda vs
-                                   (map (lambda (v)
-                                          (with-output-to-string
-                                            (lambda () (write v))))
-                                        vs)))))))))
+               (set! result (call-with-values
+                                (lambda () (compile form #:env module))
+                              (lambda vs (map object->string vs)))))))
     (let ((output
            (with-output-to-string
              (lambda ()
                (catch #t
                  (lambda () (start-stack 'geiser-eval (ev)))
                  (lambda args
-                   (set! error #t)
-                   (apply handle-error captured-stack args))
+                   (set! err (apply handle-error captured-stack args)))
                  (lambda args
-                   (set! captured-stack (make-stack #t 2 15))))))))
-      (write `(,(if error result (cons 'result result))
+                   (set! captured-stack (make-stack #t 2 7))))))))
+      (write `(,(or err (cons 'result result))
                (output . ,output)))
       (newline))))
 



reply via email to

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