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)++;
     }