From cfc0e616a202890725d878032b7b8b4ee6af36cb Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 20 Dec 2006 00:58:36 +0000 Subject: [PATCH] support mid-stream EOF svn: r5144 --- collects/readline/pread.ss | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/collects/readline/pread.ss b/collects/readline/pread.ss index 2259fc310e..04394d5ab1 100644 --- a/collects/readline/pread.ss +++ b/collects/readline/pread.ss @@ -66,15 +66,17 @@ (let ([buffer #f] [skip #f] [blen #f] + [closed? #f] [LF (bytes-ref #"\n" 0)]) - (define (close!) (set! buffer eof) (save-history)) + (define (close!) (set! closed? #t) (save-history)) (define (reader tgt) (let loop () - (cond [(eof-object? buffer) eof] + (cond [closed? eof] + [(eof-object? buffer) (set! buffer #f) eof] [(not buffer) (set! buffer (readline-bytes/hist (get-current-prompt))) (if (eof-object? buffer) - (begin (save-history) buffer) + (begin (save-history) (set! buffer #f) eof) (begin (set! skip 0) (set! blen (bytes-length buffer)) (reader tgt)))]