XEmacs 21.2.30 "Hygeia".
[chise/xemacs-chise.git.1] / src / console-tty.c
index 24fa971..9ebfbf3 100644 (file)
@@ -32,16 +32,18 @@ Boston, MA 02111-1307, USA.  */
 #include "faces.h"
 #include "frame.h"
 #include "lstream.h"
+#include "glyphs.h"
 #include "sysdep.h"
 #include "sysfile.h"
 #ifdef FILE_CODING
 #include "file-coding.h"
 #endif
-#ifdef HAVE_GPM
-#include "gpmevent.h"
-#endif
 
 DEFINE_CONSOLE_TYPE (tty);
+DECLARE_IMAGE_INSTANTIATOR_FORMAT (nothing);
+DECLARE_IMAGE_INSTANTIATOR_FORMAT (string);
+DECLARE_IMAGE_INSTANTIATOR_FORMAT (formatted_string);
+DECLARE_IMAGE_INSTANTIATOR_FORMAT (inherit);
 
 Lisp_Object Qterminal_type;
 Lisp_Object Qcontrolling_process;
@@ -113,7 +115,7 @@ tty_init_console (struct console *con, Lisp_Object props)
 
   tty_con->instream  = make_filedesc_input_stream  (tty_con->infd,  0, -1, 0);
   tty_con->outstream = make_filedesc_output_stream (tty_con->outfd, 0, -1, 0);
-#ifdef MULE
+#ifdef FILE_CODING
   tty_con->instream =
     make_decoding_input_stream (XLSTREAM (tty_con->instream),
                                Fget_coding_system (Vkeyboard_coding_system));
@@ -121,14 +123,10 @@ tty_init_console (struct console *con, Lisp_Object props)
   tty_con->outstream =
     make_encoding_output_stream (XLSTREAM (tty_con->outstream),
                                 Fget_coding_system (Vterminal_coding_system));
-#endif /* MULE */
+#endif /* FILE_CODING */
   tty_con->terminal_type = terminal_type;
   tty_con->controlling_process = controlling_process;
 
-#ifdef HAVE_GPM
-  connect_to_gpm (con);
-#endif
-
   if (NILP (CONSOLE_NAME (con)))
     CONSOLE_NAME (con) = Ffile_name_nondirectory (tty);
   {
@@ -161,12 +159,12 @@ tty_init_console (struct console *con, Lisp_Object props)
 }
 
 static void
-tty_mark_console (struct console *con, void (*markobj) (Lisp_Object))
+tty_mark_console (struct console *con)
 {
   struct tty_console *tty_con = CONSOLE_TTY_DATA (con);
-  markobj (tty_con->terminal_type);
-  markobj (tty_con->instream);
-  markobj (tty_con->outstream);
+  mark_object (tty_con->terminal_type);
+  mark_object (tty_con->instream);
+  mark_object (tty_con->outstream);
 }
 
 static int
@@ -233,7 +231,7 @@ Return the controlling process of tty console CONSOLE.
   return CONSOLE_TTY_DATA (decode_tty_console (console))->controlling_process;
 }
 
-#ifdef MULE
+#ifdef FILE_CODING
 \f
 DEFUN ("console-tty-input-coding-system", Fconsole_tty_input_coding_system,
        0, 1, 0, /*
@@ -280,10 +278,12 @@ CODESYS defaults to the value of `terminal-coding-system'.
   set_encoding_stream_coding_system
     (XLSTREAM (CONSOLE_TTY_DATA (decode_tty_console (console))->outstream),
      Fget_coding_system (NILP (codesys) ? Vterminal_coding_system : codesys));
+  /* Redraw tty */
+  face_property_was_changed (Vdefault_face, Qfont, Qtty);
   return Qnil;
 }
 
-/* ### Move this function to lisp */
+/* #### Move this function to lisp */
 DEFUN ("set-console-tty-coding-system", Fset_console_tty_coding_system,
        0, 2, 0, /*
 Set the input and output coding systems of tty console CONSOLE to CODESYS.
@@ -298,7 +298,7 @@ output coding systems of CONSOLE.
   Fset_console_tty_output_coding_system (console, codesys);
   return Qnil;
 }
-#endif /* MULE */
+#endif /* FILE_CODING */
 \f
 
 Lisp_Object
@@ -341,13 +341,13 @@ syms_of_console_tty (void)
   DEFSUBR (Fconsole_tty_controlling_process);
   defsymbol (&Qterminal_type, "terminal-type");
   defsymbol (&Qcontrolling_process, "controlling-process");
-#ifdef MULE
+#ifdef FILE_CODING
   DEFSUBR (Fconsole_tty_output_coding_system);
   DEFSUBR (Fset_console_tty_output_coding_system);
   DEFSUBR (Fconsole_tty_input_coding_system);
   DEFSUBR (Fset_console_tty_input_coding_system);
   DEFSUBR (Fset_console_tty_coding_system);
-#endif /* MULE */
+#endif /* FILE_CODING */
 }
 
 void
@@ -367,6 +367,21 @@ console_type_create_tty (void)
 }
 
 void
+reinit_console_type_create_tty (void)
+{
+  REINITIALIZE_CONSOLE_TYPE (tty);
+}
+
+void
+image_instantiator_format_create_glyphs_tty (void)
+{
+  IIFORMAT_VALID_CONSOLE (tty, nothing);
+  IIFORMAT_VALID_CONSOLE (tty, string);
+  IIFORMAT_VALID_CONSOLE (tty, formatted_string);
+  IIFORMAT_VALID_CONSOLE (tty, inherit);
+}
+
+void
 vars_of_console_tty (void)
 {
   Fprovide (Qtty);