Full support for multiple terminal I/O (with some rough edges).
authorKaroly Lorentey <lorentey@elte.hu>
Sat, 27 Dec 2003 01:12:57 +0000 (01:12 +0000)
committerKaroly Lorentey <lorentey@elte.hu>
Sat, 27 Dec 2003 01:12:57 +0000 (01:12 +0000)
commit6548cf002c635f6799e2e127393128842be35632
treefd4c575d43e456302e02f3bd042046730bd7ac8c
parentce9d5d591d781613a3e3a7c4f43ab53bb0fe6637
Full support for multiple terminal I/O (with some rough edges).

lib-src/emacsclient.c (emacs_pid): New variable.
(window_change): Forward the SIGWINCH signal to the Emacs process
after copying the size parameters to the proxy terminal.
(copy_from_to): New parameter (sigio), kill Emacs with SIGIO if it is
nonzero.
(main): Set emacs_pid.

lisp/server.el (server-process-filter): Send the pid of Emacs to emacsclient.

src/cm.c: Added tty parameters to all functions and all Wcm macro calls.

src/cm.h: Added tty parameters to all macros.   Updated function prototypes.
(Wcm): Moved to struct tty_output.

src/dispextern.h: Updated function prototypes.

src/dispnew.c: Added tty parameters to all Wcm macro calls.
(do_switch_frame): Make old frame obscured, not invisible, to solve
problems with other-frame.
(Wcm): Moved to struct tty_output.

src/keyboard.c (read_avail_input): Select the frame corresponding to
the tty that was read.  Slight rearrangement of tty loop.

src/lisp.h (tabs_safe_p): Removed duplicate prototype.

src/sysdep.c (hft_init, hft_reset): Added tty_output parameter.
(discard_tty_input): Discard input from all ttys on APOLLO, too.
Whatever it is.
(narrow_foreground_group, widen_foreground_group): Added tty parameter
(not really useful, the functions only work on the controlling tty.)
(tabs_safe_p): Added tty parameter.

src/term.c Added tty parameters to all Wcm macro calls.
Standardised updating_frame vs. selected frame and tty_output access.
(term_init): Allocate Wcm.
(syms_of_term): Provide the `multi-tty' feature.

src/termchar.h (struct tty_output): Added Wcm.

src/xdisp.c (try_window_id): Make sure we use the tty device
corresponding to the current frame.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-8
15 files changed:
README.multi-tty
lib-src/emacsclient.c
lisp/server.el
src/cm.c
src/cm.h
src/dispextern.h
src/dispnew.c
src/frame.c
src/frame.h
src/keyboard.c
src/lisp.h
src/sysdep.c
src/term.c
src/termchar.h
src/xdisp.c