Index: /trunk/source/level-1/l1-readloop-lds.lisp
===================================================================
--- /trunk/source/level-1/l1-readloop-lds.lisp	(revision 8341)
+++ /trunk/source/level-1/l1-readloop-lds.lisp	(revision 8342)
@@ -253,4 +253,8 @@
 (defparameter *quit-on-eof* nil)
 
+(defmethod stream-eof-transient-p (stream)
+  (let ((fd (stream-device stream :input)))
+    (and fd (eof-transient-p fd))))
+
 ;;; This is the part common to toplevel loop and inner break loops.
 (defun read-loop (&key (input-stream *standard-input*)
@@ -281,5 +285,5 @@
                   (if (and (not *batch-flag*)
                            (not *quit-on-eof*)
-                           (eof-transient-p (stream-device input-stream :input)))
+                           (stream-eof-transient-p input-stream))
                     (progn
                       (stream-clear-input input-stream)
