• Karoly Lorentey's avatar
    Fully eliminated global tty state variables. · fca177d4
    Karoly Lorentey authored
    lib-src/emacsclient.c (main.c): Fix error message.
    
    lisp/frame.el (make-frame-on-tty): New function.
    
    lisp/server.el (server-process-filter): Notify emacsclient if there
    was on error during evaluation.
    
    src/cm.c: Fix remaining cases of direct Wcm references.
    
    src/dispextern.h: Updated prototypes.
    
    src/dispnew.c (Fredraw_frame): Fix set_terminal_modes call.
    (init_display): Remove reference to meta_key.
    
    src/frame.c (make_terminal_frame): Renamed first parameter to
    tty_name.  Call term_init before creating the frame.
    (Fmake_terminal_frame): Look up the `tty' and `tty-type' frame
    parameters from the currently selected terminal before the global
    default.
    (Fdelete_frame): Make sure that the new selected frame is live.
    
    src/keyboard.c (meta_key): Moved to struct tty_output.
    (read_avail_input): Fix C syntax.  Update references to meta_key.
    (Fsuspend_emacs): pass current tty to init_sys_modes via
    record_unwind_protect.
    (Fset_input_mode): Update references to meta_key.
    (Fcurrent_input_mode): Ditto.
    
    src/sysdep.c (init_sys_modes): Updated old_tty and meta_key
    references.  Don't call set_terminal_modes, it needs termcap strings.
    (reset_sys_modes): Call tty_reset_terminal_modes instead of
    reset_terminal_modes.  Updated old_tty references.
    
    src/term.c: Massive updates throuout the file.
    (TS_*, TN_*): Moved to struct tty_output.
    (RPov, delete_in_insert_mode se_is_so, costs_set, insert_mode): Ditto.
    (standout_mode, specified_window, tty_cursor_hidden): Ditto.
    (tty_set_terminal_modes, tty_reset_terminal_modes): New functions.
    (turn_on_insert, turn_off_insert): Added tty parameter.
    (turn_on_highlight, turn_off_highlight, toggle_highlight): Added tty parameter.
    (tty_hide_cursor, tty_show_cursor): Ditto.
    (background_highlight, highlight_if_desired): Ditto.
    (tty_capable_p): Changed first parameter to tty_output.
    (term_init): Make sure top_frame is initialized.  Don't exit on errors
    if this would have been a secondary terminal.  Call set_terminal_modes
    on the end.
    (delete_tty): New function.
    (delete_tty_1): New function.
    (print_all_frames): New function, marginally useful for debugging.
    
    src/termchar.h (struct tty_output): Changed old_tty to be a pointer.
    Removed old_tty_valid member.  Added tty-specific variables from term.c.
    
    src/xfaces.c (Ftty_supports_face_attributes_p): Update for new
    tty_capable_p.
    
    git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-9
    fca177d4
xfaces.c 220 KB