summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elisp/geiser-connection.el9
1 files changed, 5 insertions, 4 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)