fixed gui for multiple values

svn: r1572
This commit is contained in:
Matthew Flatt 2005-12-09 20:43:16 +00:00
parent 682d43cb54
commit 0164317066

View File

@ -521,10 +521,11 @@
(case-lambda (case-lambda
[(top-mark ccm val) [(top-mark ccm val)
(let* ([debug-marks (continuation-mark-set->list ccm debug-key)]) (let* ([debug-marks (continuation-mark-set->list ccm debug-key)])
(send parent suspend oeh (cons top-mark debug-marks) (list 'exit-break val)))] (car (send parent suspend oeh (cons top-mark debug-marks) (list 'exit-break val))))]
[(top-mark ccm . vals) [(top-mark ccm . vals)
(let* ([debug-marks (continuation-mark-set->list ccm debug-key)]) (let* ([debug-marks (continuation-mark-set->list ccm debug-key)])
(send parent suspend oeh (cons top-mark debug-marks) (cons 'exit-break vals)))]))) (apply values
(send parent suspend oeh (cons top-mark debug-marks) (cons 'exit-break vals))))])))
(current-exception-handler (current-exception-handler
(lambda (exn) (lambda (exn)
(if (and (exn:break? exn) (send parent suspend-on-break?)) (if (and (exn:break? exn) (send parent suspend-on-break?))
@ -572,11 +573,11 @@
(set! break-status stat)) (set! break-status stat))
(define control-panel #f) (define control-panel #f)
(define/public (resume) (define/public (resume)
(let ([v (if (cons? break-status) (let ([v break-status])
(apply values (rest break-status))
#f)])
(resume-gui) (resume-gui)
(channel-put resume-ch v))) (channel-put resume-ch (if (pair? v)
(cdr v)
#f))))
(define/public (set-mouse-over-msg msg) (define/public (set-mouse-over-msg msg)
(when (not (string=? msg (send mouse-over-message get-label))) (when (not (string=? msg (send mouse-over-message get-label)))
(send mouse-over-message set-label msg))) (send mouse-over-message set-label msg)))
@ -670,7 +671,9 @@
(thunk) (thunk)
(loop))))) (loop)))))
(semaphore-post suspend-sema)))) (semaphore-post suspend-sema))))
#f))) (if (pair? status)
(cdr status)
#f))))
(define (my-execute debug?) (define (my-execute debug?)
(set! want-debug? debug?) (set! want-debug? debug?)