From b1646914c407da93c4683cb0f73ee36c43fc5233 Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Wed, 8 Jan 1997 01:27:12 +0000 Subject: [PATCH] * lineio.scm (make-line-buffering-input-port): Properly test for the case of an empty buffer list. The old code assumed that '() was false. --- ice-9/lineio.scm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/ice-9/lineio.scm b/ice-9/lineio.scm index ffde88608..28e4a6515 100644 --- a/ice-9/lineio.scm +++ b/ice-9/lineio.scm @@ -95,15 +95,14 @@ (read-string (lambda () (cond - (buffers (let ((answer (car buffers))) - (set! buffers (cdr buffers)) - answer)) - - ((ungetc-char-ready? self) (read-line self 'include-newline)) - - (else (read-line underlying-port 'include-newline))))) - - ) + ((not (null? buffers)) + (let ((answer (car buffers))) + (set! buffers (cdr buffers)) + answer)) + ((ungetc-char-ready? self) + (read-line self 'include-newline)) + (else + (read-line underlying-port 'include-newline)))))) (set-object-property! self 'unread-string unread-string) (set-object-property! self 'read-string read-string)