MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.

lib-src/emacsclient.c (pty_conversation): Fix errno check for read from fileno(in).

src/config.in: Unconditionally define MULTI_KBOARD.

src/frame.c (make_terminal_frame): Initialize f->kboard.

src/keyboard.c (cmd_error_internal): Don't kill Emacs if a Quit was
pressed on the tty of a X+tty session.
(read_avail_input): Initialize nread to zero.  Abort if there is no
tty after a termcap read.
(interrupt_signal)[USG]: Always reset signal handler.
(init_keyboard): Always set signal handler for SIGINT/SIGQUIT if
noninteractive.

src/term.c (term_dummy_init): Initialize kboard to the initial_kboard.
(term_init): Free component structures of the initial tty. Clear xmalloced structures.
Moved rif initialization to syms_of_term.
(term_init)[MULTI_KBOARD]: Initialize tty->kboard.
(delete_tty)[MULTI_KBOARD]: Delete the keyboard.
(syms_of_term): Initialize tty_display_method_template.

src/termchar.h (tty_output)[MULTI_KBOARD]: Added kboard member.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-31
This commit is contained in:
Karoly Lorentey 2004-01-02 02:54:17 +00:00
parent daf0170133
commit 7b00d185eb
10 changed files with 212 additions and 119 deletions

View file

@ -794,7 +794,7 @@ pty_conversation (FILE *in)
{
do {
res = read (fileno (in), string, BUFSIZ-1);
} while (res == EINTR);
} while (res < 0 && errno == EINTR);
if (res < 0)
{
reset_tty ();