Fix GDS utility client startup
[bpt/guile.git] / emacs / gds-scheme.el
index 798b107..bb605c3 100755 (executable)
@@ -206,8 +206,7 @@ Emacs to display an error or trap so that the user can debug it."
                               "-q"
                               "--debug"
                               "-c"
-                              code))
-         (client nil))
+                              code)))
     ;; Note that this process can be killed automatically on Emacs
     ;; exit.
     (process-kill-without-query proc)
@@ -217,17 +216,18 @@ Emacs to display an error or trap so that the user can debug it."
                           (if (process-buffer proc)
                               (with-current-buffer (process-buffer proc)
                                 (insert string)
-                               (or client
+                               (or gds-client
                                    (save-excursion
                                      (goto-char (point-min))
-                                     (setq client (condition-case nil
-                                                      (read (current-buffer))
-                                                    (error nil)))))))))
+                                     (setq gds-client
+                                           (condition-case nil
+                                               (read (current-buffer))
+                                             (error nil)))))))))
     ;; Accept output from the new process until we have its number.
-    (while (not client)
+    (while (not (with-current-buffer (process-buffer proc) gds-client))
       (accept-process-output proc))
     ;; Return the new process's client number.
-    client))
+    (with-current-buffer (process-buffer proc) gds-client)))
 
 ;;;; Evaluating code.