Using inferior-thread-output! in wait-for-input's thread event signals
another thread event unnecessarily. The new inferior-thread-run-
light! just sets the flags.
(set! inferior-thread-changes? #t)
(signal-thread-event editor-thread #f))))
+(define (inferior-thread-run-light! flags)
+ (set-car! flags #t)
+ (if (not inferior-thread-changes?)
+ (set! inferior-thread-changes? #t)))
+
(define (accept-thread-output)
(with-interrupt-mask interrupt-mask/gc-ok
(lambda (interrupt-mask)
(string-append " [level: " (number->string level) "]")))
buffer)
(set-run-light! buffer #f)
- ;; This doesn't do any output, but prods the editor to notice
- ;; that the modeline has changed and a redisplay is needed.
- (inferior-thread-output! (port/output-registration port)))))
+ (inferior-thread-run-light! (port/output-registration port)))))
(do () ((ready? port))
(suspend-current-thread)))