1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00

* gds-client.scm (handle-instruction-1): In `eval' protocol, catch

and report read errors nicely.

	* gds.el (gds-display-buffers): Don't select the GDS window.
This commit is contained in:
Neil Jerram 2004-02-25 19:10:07 +00:00
parent 72ea45ac4c
commit 7f05d32538
3 changed files with 45 additions and 25 deletions

View file

@ -1,3 +1,10 @@
2004-02-25 Neil Jerram <neil@ossau.uklinux.net>
* gds-client.scm (handle-instruction-1): In `eval' protocol, catch
and report read errors nicely.
* gds.el (gds-display-buffers): Don't select the GDS window.
2004-02-22 Neil Jerram <neil@ossau.uklinux.net>
* Makefile.am (EXTRA_DIST): Distribute new files.

View file

@ -411,26 +411,43 @@ decimal IP address where the UI server is running; default is
(set-port-line! (current-input-port) line)
(set-port-column! (current-input-port) column)
(let ((m (and module (resolve-module-from-root module))))
(let loop ((exprs '()) (x (read)))
(if (eof-object? x)
;; Expressions to be evaluated have all been
;; read. Now hand them off to an
;; eval-thread for the actual evaluation.
(with-mutex eval-work-mutex
(trc 'protocol-thread "evaluation work available")
(set! eval-work (cons* correlator m (reverse! exprs)))
(set! eval-work-available #t)
(broadcast-condition-variable eval-work-changed)
(wait-condition-variable eval-work-taken
eval-work-mutex)
(assert (not eval-work-available))
(trc 'protocol-thread "evaluation work underway"))
;; Another complete expression read. Set
;; breakpoints in the read code as specified
;; by bpinfo, and add it to the list.
(begin
(install-breakpoints x bpinfo)
(loop (cons x exprs) (read)))))))))
(catch 'read-error
(lambda ()
(let loop ((exprs '()) (x (read)))
(if (eof-object? x)
;; Expressions to be evaluated have all
;; been read. Now hand them off to an
;; eval-thread for the actual
;; evaluation.
(with-mutex eval-work-mutex
(trc 'protocol-thread
"evaluation work available")
(set! eval-work
(cons* correlator m (reverse! exprs)))
(set! eval-work-available #t)
(broadcast-condition-variable eval-work-changed)
(wait-condition-variable eval-work-taken
eval-work-mutex)
(assert (not eval-work-available))
(trc 'protocol-thread
"evaluation work underway"))
;; Another complete expression read.
;; Set breakpoints in the read code as
;; specified by bpinfo, and add it to
;; the list.
(begin
(install-breakpoints x bpinfo)
(loop (cons x exprs) (read))))))
(lambda (key . args)
(write-form `(eval-results
,correlator
,(with-output-to-string
(lambda ()
(display ";;; Reading expressions")
(display " to evaluate\n")
(apply display-error #f
(current-output-port) args)))
("error-in-read")))))))))
(cdr ins))
state)
((complete)

View file

@ -478,11 +478,7 @@ The function is called with one argument, the CLIENT in question."
;; If there's already a window showing the buffer, use it.
(let ((window (get-buffer-window buf t)))
(if window
(progn
(make-frame-visible (window-frame window))
(select-frame (window-frame window))
(select-window window))
;;(select-window (display-buffer buf))
(make-frame-visible (window-frame window))
(display-buffer buf)))
;; If there is an associated source buffer, display it as well.
(if (and (eq (car gds-views) 'stack)