Mercurial > emacs
diff src/cm.c @ 83065:a871be7b26a5
Implemented suspending of emacsclient frames.
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
| author | Karoly Lorentey <lorentey@elte.hu> |
|---|---|
| date | Sat, 28 Feb 2004 01:23:39 +0000 |
| parents | 5b06ac722eb1 |
| children | 6c13700d1c13 |
line wrap: on
line diff
--- a/src/cm.c Fri Feb 27 14:10:47 2004 +0000 +++ b/src/cm.c Sat Feb 28 01:23:39 2004 +0000 @@ -64,9 +64,9 @@ cmputc (c) char c; { - if (TTY_TERMSCRIPT (current_tty)) - putc (c & 0177, TTY_TERMSCRIPT (current_tty)); - putc (c & 0177, TTY_OUTPUT (current_tty)); + if (current_tty->termscript) + putc (c & 0177, current_tty->termscript); + putc (c & 0177, current_tty->output); return c; } @@ -136,12 +136,12 @@ { if (!MagicWrap (tty) || curY (tty) >= FrameRows (tty) - 1) abort (); - if (TTY_TERMSCRIPT (tty)) - putc ('\r', TTY_TERMSCRIPT (tty)); - putc ('\r', TTY_OUTPUT (tty)); - if (TTY_TERMSCRIPT (tty)) - putc ('\n', TTY_TERMSCRIPT (tty)); - putc ('\n', TTY_OUTPUT (tty)); + if (tty->termscript) + putc ('\r', tty->termscript); + putc ('\r', tty->output); + if (tty->termscript) + putc ('\n', tty->termscript); + putc ('\n', tty->output); curX (tty) = 0; curY (tty)++; }
