• Karoly Lorentey's avatar
    Implemented suspending of emacsclient frames. · 0b0d3e0b
    Karoly Lorentey authored
    lib-src/emacsclient.c (quote_file_name): Renamed to quote_argument.
    (unquote_argument, handle_sigcont, handle_sigtstp): New functions.
    (out, in): New global variables for communicating with the Emacs process.
    (init_signals): Set up handlers for SIGCONT, SIGTSTP and SIGTTOU.
    (main): Changed out and in to global variables.  Prepend `-eval' or
    '-file' to each argument.  Use fsync to force sending the strings to Emacs.
    Removed obsolete -bad-version code.  Support the -suspend command.
    Cleaned up newline handling.
    
    lisp/frame.el (suspend-frame): New function.
    Substitute key definition of suspend-emacs with suspend-frame.
    
    lisp/server.el (server-log): Cosmetic change in log format.
    (server-handle-delete-tty, server-handle-delete-frame): Added logging.
    (server-handle-suspend-tty, server-quote-arg): New functions.
    (server-start): Install server-handle-suspend-tty.
    (server-process-filter): Reorganized source code for clarity.
    Implemented -resume, -suspend and -ignore commands.
    
    lisp/term/x-win.el (x-initialize-window-system): Don't change the
    binding of C-z.
    
    src/cm.c: Replaced TTY_INPUT, TTY_OUTPUT, TTY_TERMSCRIPT calls with
    their macro expansion.
    src/dispnew.c: Ditto.
    src/frame.c: Ditto.
    src/keyboard.c: Ditto.
    src/sysdep.c: Ditto.
    
    src/keyboard.c (tty_read_avail_input): Don't read if the terminal is
    suspended.
    src/sysdep.c (discard_tty_input, init_sys_modes, reset_sys_modes): Ditto.
    src/term.c (tty_set_terminal_modes, tty_reset_terminal_modes): Ditto.
    
    src/term.c (Vsuspend_tty_functions, Vresume_tty_functions): New hooks.
    (syms_of_term): Defvar them.
    (term_init): Don't allow opening a new frame on a suspended tty device.
    (Fsuspend_tty, Fresume_tty): New functions.
    (syms_of_term): Defsubr them.
    
    src/termchar.c (struct tty_display_info): Update documentation of
    input and output.
    (TTY_INPUT, TTY_OUTPUT, TTY_TERMSCRIPT): Removed.
    
    
    git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-105
    0b0d3e0b
x-win.el 61.2 KB