diff options
author | Neil Jerram <neil@ossau.uklinux.net> | 2009-08-28 00:29:04 +0100 |
---|---|---|
committer | Neil Jerram <neil@ossau.uklinux.net> | 2009-08-28 00:29:04 +0100 |
commit | a27173cf78a03758317dfe5571380ed3347fa242 (patch) | |
tree | 689a9d6495bdd318814d1ba5e567fda8dc6db29d | |
parent | 1505848425bf149f864ea106bce71447f739012d (diff) | |
download | guile-a27173cf78a03758317dfe5571380ed3347fa242.tar.gz |
Fix GDS utility client startup
* emacs/gds-scheme.el (gds-start-utility-guile): Use buffer-local
variable gds-client instead of client, as client is actually unbound
when the process-filter lambda runs. (i.e. This isn't Scheme code!)
-rwxr-xr-x | emacs/gds-scheme.el | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/emacs/gds-scheme.el b/emacs/gds-scheme.el index 798b10702..bb605c364 100755 --- a/emacs/gds-scheme.el +++ b/emacs/gds-scheme.el @@ -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. |