Mercurial > hg > xemacs-beta
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; |