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:
parent
72ea45ac4c
commit
7f05d32538
3 changed files with 45 additions and 25 deletions
|
@ -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.
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue