comparison src/sysdep.c @ 155:43dd3413c7c7 r20-3b4

Import from CVS: tag r20-3b4
author cvs
date Mon, 13 Aug 2007 09:39:39 +0200
parents 25f70ba0133c
children 6b37e6ddd302
comparison
equal deleted inserted replaced
154:94141801dd7e 155:43dd3413c7c7
310 { 310 {
311 /* Because the SIGCHLD handler can potentially reap the 311 /* Because the SIGCHLD handler can potentially reap the
312 synchronous subprocess, we should take care of that. */ 312 synchronous subprocess, we should take care of that. */
313 313
314 int ret; 314 int ret;
315 WAITTYPE w; 315 int w;
316 /* Will stay in the do loop as long as: 316 /* Will stay in the do loop as long as:
317 1. Process is alive 317 1. Process is alive
318 2. Ctrl-G is not pressed */ 318 2. Ctrl-G is not pressed */
319 do 319 do
320 { 320 {
346 in sigchld_handler, and that code is duplicated. */ 346 in sigchld_handler, and that code is duplicated. */
347 if (ret == pid) 347 if (ret == pid)
348 { /* Update the global sigchld stats. */ 348 { /* Update the global sigchld stats. */
349 synch_process_alive = 0; 349 synch_process_alive = 0;
350 if (WIFEXITED (w)) 350 if (WIFEXITED (w))
351 synch_process_retcode = WRETCODE (w); 351 synch_process_retcode = WEXITSTATUS (w);
352 else if (WIFSIGNALED (w)) 352 else if (WIFSIGNALED (w))
353 synch_process_death = signal_name (WTERMSIG (w)); 353 synch_process_death = signal_name (WTERMSIG (w));
354 } 354 }
355 break; 355 break;
356 } 356 }
1503 output_fd = CONSOLE_TTY_DATA (con)->outfd; 1503 output_fd = CONSOLE_TTY_DATA (con)->outfd;
1504 1504
1505 EMACS_GET_TTY (input_fd, &CONSOLE_TTY_DATA (con)->old_tty); 1505 EMACS_GET_TTY (input_fd, &CONSOLE_TTY_DATA (con)->old_tty);
1506 tty = CONSOLE_TTY_DATA (con)->old_tty; 1506 tty = CONSOLE_TTY_DATA (con)->old_tty;
1507 1507
1508 con->tty_erase_char = Qnil;
1509
1508 #if defined (HAVE_TERMIO) || defined (HAVE_TERMIOS) 1510 #if defined (HAVE_TERMIO) || defined (HAVE_TERMIOS)
1511 /* after all those years... */
1512 con->tty_erase_char = make_char (tty.main.c_cc[VERASE]);
1509 #ifdef DGUX 1513 #ifdef DGUX
1510 /* This allows meta to be sent on 8th bit. */ 1514 /* This allows meta to be sent on 8th bit. */
1511 tty.main.c_iflag &= ~INPCK; /* don't check input for parity */ 1515 tty.main.c_iflag &= ~INPCK; /* don't check input for parity */
1512 #endif 1516 #endif
1513 tty.main.c_iflag |= (IGNBRK); /* Ignore break condition */ 1517 tty.main.c_iflag |= (IGNBRK); /* Ignore break condition */
1618 tty.main.c_iflag &= ~IGNBRK; 1622 tty.main.c_iflag &= ~IGNBRK;
1619 tty.main.c_iflag &= ~BRKINT; 1623 tty.main.c_iflag &= ~BRKINT;
1620 #endif /* AIX */ 1624 #endif /* AIX */
1621 #else /* if not HAVE_TERMIO */ 1625 #else /* if not HAVE_TERMIO */
1622 #ifndef MSDOS 1626 #ifndef MSDOS
1627 con->tty_erase_char = make_char (tty.main.sg_erase);
1623 tty.main.sg_flags &= ~(ECHO | CRMOD | XTABS); 1628 tty.main.sg_flags &= ~(ECHO | CRMOD | XTABS);
1624 if (TTY_FLAGS (con).meta_key) 1629 if (TTY_FLAGS (con).meta_key)
1625 tty.main.sg_flags |= ANYP; 1630 tty.main.sg_flags |= ANYP;
1626 /* #### should we be using RAW mode here? */ 1631 /* #### should we be using RAW mode here? */
1627 tty.main.sg_flags |= /* interrupt_input ? RAW : */ CBREAK; 1632 tty.main.sg_flags |= /* interrupt_input ? RAW : */ CBREAK;