diff --git a/crossfire/agent.rkt b/crossfire/agent.rkt index 36349fc..c838571 100644 --- a/crossfire/agent.rkt +++ b/crossfire/agent.rkt @@ -243,7 +243,7 @@ (sync/timeout *subproc-kill-delay* proc) ;; exit without reporting status (kill-thread (current-thread)))]) - (define line-match (regexp-match-evt #px"^[^\n]*\n" out)) + (define line-match (read-bytes-line-evt out)) (define eof-e (eof-evt out)) (let loop ([reached-eof #f] [proc-done #f]) (match (sync/enable-break (if proc-done never-evt proc) @@ -255,7 +255,7 @@ [(? eof-object?) (unless proc-done (loop #t proc-done))] - [(list line) + [(? bytes? line) (define line-str (bytes->string/utf-8 line #\?)) (define line-parts (and line-str