annotate lib-src/leditcfns.c @ 82995:039bd6989d29

Portability fixes (now it compiles & runs fine on Solaris). 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 delete-tty-after-functions. (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
author Karoly Lorentey <lorentey@elte.hu>
date Sat, 03 Jan 2004 08:31:14 +0000
parents 695cf19ef79e
children 375f2633d815
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 #include <sgtty.h>
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2 #include <signal.h>
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3 #define STRLEN 100
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4 static char str[STRLEN+1] = "%?emacs"; /* extra char for the null */
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 switch_to_proc(){
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 char *ptr = str;
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 while (*ptr) ioctl(0, TIOCSTI, ptr++);
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 ioctl(0, TIOCSTI, "\n");
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 kill(getpid(), SIGTSTP);
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 }
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 set_proc_str(ptr) char *ptr; {
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 if (strlen(ptr) <= STRLEN)
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 strcpy(str, ptr);
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 else
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 printf("string too long for set-proc-str: %s\n", ptr);
da530eb93c1a entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 }
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 0
diff changeset
19
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 0
diff changeset
20 /* arch-tag: eb7ae804-0d6e-4077-ab42-7173821410c3
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 0
diff changeset
21 (do not change this comment) */