--- fhandler.h.org	Wed Nov  1 08:14:24 2000
+++ fhandler.h	Wed Nov  8 21:17:51 2000
@@ -720,6 +720,8 @@
 
   void set_close_on_exec (int val);
   BOOL hit_eof ();
+  select_record *select_read (select_record *s);
+  int ready_for_read (int fd, DWORD howlong, int ignra);
 };
 
 class fhandler_tty_master: public fhandler_pty_master
--- select.cc.org	Tue Oct 10 03:00:52 2000
+++ select.cc	Wed Nov  8 21:47:09 2000
@@ -726,6 +726,30 @@
 }
 
 select_record *
+fhandler_pty_master::select_read (select_record *s)
+{
+  if (need_nl) {
+      if (!s)
+	{
+	  s = new select_record;
+	  s->startup = no_startup;
+	  s->poll = set_bits;
+	  s->verify = no_verify;
+	}
+      s->h = get_handle ();
+      s->read_selected = TRUE;
+      return s;
+  } else
+    return fhandler_tty_common::select_read(s);
+}
+
+int
+fhandler_pty_master::ready_for_read (int fd, DWORD howlong, int ignra)
+{
+  return need_nl ? 1 : fhandler_tty_common::ready_for_read (fd, howlong, ignra);
+}
+
+select_record *
 fhandler_dev_null::select_read (select_record *s)
 {
   if (!s)

