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

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

[nongnu] elpa/geiser 97dfdd1133 1/2: fix: start scheme just once if repl


From: ELPA Syncer
Subject: [nongnu] elpa/geiser 97dfdd1133 1/2: fix: start scheme just once if repl buffer doesn't exist
Date: Sat, 13 Aug 2022 18:58:23 -0400 (EDT)

branch: elpa/geiser
commit 97dfdd1133a14bc6bccab804cdf286b94ad43381
Author: jao <jao@gnu.org>
Commit: jao <jao@gnu.org>

    fix: start scheme just once if repl buffer doesn't exist
    
    Should fix issue #49.
---
 elisp/geiser-mode.el | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/elisp/geiser-mode.el b/elisp/geiser-mode.el
index e0e22c68c7..615bbdd8c0 100644
--- a/elisp/geiser-mode.el
+++ b/elisp/geiser-mode.el
@@ -279,12 +279,14 @@ With prefix, try to enter the current buffer's module."
 (defun geiser-restart-repl ()
   "Restarts the REPL associated with the current buffer."
   (interactive)
-  (let ((b (current-buffer)))
-    (geiser-mode-switch-to-repl nil)
-    (comint-kill-subjob)
-    (sit-for 0.1) ;; ugly hack; but i don't care enough to fix it
-    (call-interactively 'run-geiser)
-    (sit-for 0.2) ;; ditto
+  (let ((b (current-buffer))
+        (impl geiser-impl--implementation))
+    (when (buffer-live-p geiser-repl--repl)
+      (geiser-mode-switch-to-repl nil)
+      (comint-kill-subjob)
+      (sit-for 0.1)) ;; ugly hack; but i don't care enough to fix it
+    (run-geiser impl)
+    (sit-for 0.2)
     (goto-char (point-max))
     (pop-to-buffer b)))
 



reply via email to

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