summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elisp/geiser-connection.el9
-rw-r--r--scheme/racket/geiser/eval.rkt3
2 files changed, 7 insertions, 5 deletions
diff --git a/elisp/geiser-connection.el b/elisp/geiser-connection.el
index dfdb21d..2702f0f 100644
--- a/elisp/geiser-connection.el
+++ b/elisp/geiser-connection.el
@@ -274,8 +274,9 @@
(defun geiser-con--send-string/wait (buffer/proc str cont
&optional timeout sbuf)
(save-current-buffer
- (let ((con (geiser-con--get-connection buffer/proc)))
- (unless (geiser-con--connection-process con)
+ (let* ((con (geiser-con--get-connection buffer/proc))
+ (proc (and con (geiser-con--connection-process con))))
+ (unless proc
(error geiser-con--error-message))
(with-current-buffer (geiser-con--connection-buffer con)
(when (geiser-con--is-debugging)
@@ -290,8 +291,8 @@
(while (and (> time 0)
(geiser-con--connection-process con)
(not (geiser-con--connection-completed-p con id)))
- (accept-process-output nil waitsecs)
- (setq time (- time step)))
+ (unless (accept-process-output nil waitsecs)
+ (setq time (- time step))))
(error (setq time 0)))
(or (> time 0)
(geiser-con--request-deactivate req)
diff --git a/scheme/racket/geiser/eval.rkt b/scheme/racket/geiser/eval.rkt
index 66eccc6..f66f149 100644
--- a/scheme/racket/geiser/eval.rkt
+++ b/scheme/racket/geiser/eval.rkt
@@ -59,7 +59,8 @@
(lambda ()
(update-signature-cache spec form)
(eval form (module-spec->namespace spec lang)))))
- (newline))
+ (newline)
+ (flush-output))
(define compile-in eval-in)