• Karoly Lorentey's avatar
    Portability fixes (now it compiles & runs fine on Solaris). · 4d553a13
    Karoly Lorentey authored
    lib-src/emacsclient.c: Removed tty proxy kludge.  Emacs should just
    use the same terminal as emacsclient.
    (ec_get_tty, ec_set_tty, master, pty_name, old_tty, tty, old_tty_valid)
    (tty_erase_char, quit_char, flow_control, meta_key, _sobuf, init_tty)
    (window_change, reset_tty, init_pty, copy_from_to)
    (pty_conversation): Removed.
    (window_change_signal): Just forward the signal to Emacs, don't do
    anything else.
    (init_signals): Don't set handlers for SIGHUP & SIGINT.
    (strprefix): New function.
    (main): Don't touch the terminal, simply tell its name to Emacs.
    lisp/server.el (server-frames): Changed name and semantics to server-ttys.
    (server-tty-live-p): New function.
    (server-sentinel): Delete the whole tty, not just the frame.
    (server-handle-delete-frame): Removed.
    (server-handle-delete-tty): New function. Close the client connection if
    the tty is deleted.
    (server-start): Clean up server-ttys, not server-frames.  Set up
    (server-process-filter): Set up server-ttys, not server-frames.
    Updated protocol for sending our pid to emacsclient.
    (server-buffer-done): Don't delete the client process directly, delete
    the tty instead, and rely on the delete-tty hook to close the
    connection.  Otherwise the terminal could be left in a bad state.
    src/cm.c (cmputc): Don't abort on write errors.
    src/indent.c: #include <stdio.h>, for termchar.h.
    src/window.c: Ditto.
    src/xfaces.c: Ditto.
    src/sysdep.c (init_sigio, reset_sigio, request_sigio)[!SIGIO]
    (unrequest_sigio)[!SIGIO]: If SIGIO is not supported, don't do
    anything. (For Solaris.)
    (init_sys_modes): Moved tty_set_terminal_modes call back to here,
    disable window system check.
    (reset_sys_modes): Reset the terminal even if X is running.
    src/term.c (Vdelete_tty_after_functions): New variable.
    (syms_of_term): Initialize it.
    (Fdelete_tty): Updated docs.
    (delete_tty): Run delete-tty-after-functions.
    (term_init): Removed tty_set_terminal_modes call.
    git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-35
server.el 26.8 KB