X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fconsole-tty.c;h=56cd3250124736fd15a65cfd4283c0c5ac51a07a;hb=f0e0a4c7571df85198f5dab18d97dcb71f2971a5;hp=24fa9710696cd1940ca659f8d761680bddadae88;hpb=77dcef404dc78635f6ffa8f71a803d2bc7cc8921;p=chise%2Fxemacs-chise.git.1 diff --git a/src/console-tty.c b/src/console-tty.c index 24fa971..56cd325 100644 --- a/src/console-tty.c +++ b/src/console-tty.c @@ -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,27 +115,23 @@ 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)); + Fget_coding_system (Qkeyboard)); Lstream_set_character_mode (XLSTREAM (tty_con->instream)); tty_con->outstream = make_encoding_output_stream (XLSTREAM (tty_con->outstream), - Fget_coding_system (Vterminal_coding_system)); -#endif /* MULE */ + Fget_coding_system (Qterminal)); +#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); { - int tty_pg; - int controlling_tty_pg; + pid_t tty_pg; + pid_t controlling_tty_pg; int cfd; /* OK, the only sure-fire way I can think of to determine @@ -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 DEFUN ("console-tty-input-coding-system", Fconsole_tty_input_coding_system, 0, 1, 0, /* @@ -255,7 +253,7 @@ CODESYS defaults to the value of `keyboard-coding-system'. { set_decoding_stream_coding_system (XLSTREAM (CONSOLE_TTY_DATA (decode_tty_console (console))->instream), - Fget_coding_system (NILP (codesys) ? Vkeyboard_coding_system : codesys)); + Fget_coding_system (NILP (codesys) ? Qkeyboard : codesys)); return Qnil; } @@ -279,11 +277,13 @@ 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)); + Fget_coding_system (NILP (codesys) ? Qterminal : 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 */ 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);