import -ko -b 1.1.3 XEmacs XEmacs-21_2 r21-2-35
[chise/xemacs-chise.git.1] / src / console-stream.c
index 2dd05ac..7077b3c 100644 (file)
@@ -69,7 +69,9 @@ stream_init_console (struct console *con, Lisp_Object params)
     {
       CHECK_STRING (tty);
       stream_con->in = stream_con->out = stream_con->err =
-       fopen ((char *) XSTRING_DATA (tty), "r+");
+       /* #### We don't currently do coding-system translation on
+          this descriptor. */
+       fopen ((char *) XSTRING_DATA (tty), READ_PLUS_TEXT);
       if (!stream_con->in)
        error ("Unable to open tty %s", XSTRING_DATA (tty));
     }
@@ -201,16 +203,6 @@ stream_eol_cursor_width (void)
 }
 
 static void
-stream_output_begin (struct device *d)
-{
-}
-
-static void
-stream_output_end (struct device *d)
-{
-}
-
-static void
 stream_output_display_block (struct window *w, struct display_line *dl,
                             int block, int start, int end,
                             int start_pixpos, int cursor_start,
@@ -219,16 +211,6 @@ stream_output_display_block (struct window *w, struct display_line *dl,
 }
 
 static void
-stream_output_vertical_divider (struct window *w, int clear)
-{
-}
-
-static void
-stream_clear_to_window_end (struct window *w, int ypos1, int ypos2)
-{
-}
-
-static void
 stream_clear_region (Lisp_Object window, struct device* d, struct frame * f,
                  face_index findex, int x, int y,
                  int width, int height, Lisp_Object fcolor, Lisp_Object bcolor,
@@ -236,11 +218,6 @@ stream_clear_region (Lisp_Object window, struct device* d, struct frame * f,
 {
 }
 
-static void
-stream_clear_frame (struct frame *f)
-{
-}
-
 static int
 stream_flash (struct device *d)
 {
@@ -285,14 +262,9 @@ console_type_create_stream (void)
   CONSOLE_HAS_METHOD (stream, right_margin_width);
   CONSOLE_HAS_METHOD (stream, text_width);
   CONSOLE_HAS_METHOD (stream, output_display_block);
-  CONSOLE_HAS_METHOD (stream, output_vertical_divider);
   CONSOLE_HAS_METHOD (stream, divider_height);
   CONSOLE_HAS_METHOD (stream, eol_cursor_width);
-  CONSOLE_HAS_METHOD (stream, clear_to_window_end);
   CONSOLE_HAS_METHOD (stream, clear_region);
-  CONSOLE_HAS_METHOD (stream, clear_frame);
-  CONSOLE_HAS_METHOD (stream, output_begin);
-  CONSOLE_HAS_METHOD (stream, output_end);
   CONSOLE_HAS_METHOD (stream, flash);
   CONSOLE_HAS_METHOD (stream, ring_bell);
 }
@@ -328,7 +300,7 @@ The initial frame-object, which represents XEmacs' stdout.
 
 #ifndef PDUMP
 void
-init_console_stream (void)
+init_console_stream (int reinit)
 {
   /* This function can GC */
   if (!initialized)
@@ -350,13 +322,16 @@ init_console_stream (void)
 #else
 
 void
-init_console_stream (void)
+init_console_stream (int reinit)
 {
   /* This function can GC */
-  Vterminal_device = Fmake_device (Qstream, Qnil, Qnil);
-  Vterminal_console = Fdevice_console (Vterminal_device);
-  Vterminal_frame = Fmake_frame (Qnil, Vterminal_device);
-  minibuf_window = XFRAME (Vterminal_frame)->minibuffer_window;
+  if (!reinit)
+    {
+      Vterminal_device = Fmake_device (Qstream, Qnil, Qnil);
+      Vterminal_console = Fdevice_console (Vterminal_device);
+      Vterminal_frame = Fmake_frame (Qnil, Vterminal_device);
+      minibuf_window = XFRAME (Vterminal_frame)->minibuffer_window;
+    }
   if (initialized)
     {
       stream_init_console (XCONSOLE (Vterminal_console), Qnil);