;fdes port)
				     (lambda (ioc status)
				       (let next ()
					 (let ((u8
						(catch 'system-error
						  (lambda ()
						    (get-u8 port))
						  (lambda args
						    (if (or (= EAGAIN (system-error-errno args))
							    (and (defined? 'EWOULDBLOCK) 
								 (= EWOULDBLOCK (system-error-errno args))))
							'more
							(apply throw args))))))
					   (cond
					    ((eq? u8 'more)
					     'more)
					    ((eof-object? u8)
					     (if (= text-len 0)
						 u8
						 (make-outstring)