diff options
| author | Richard M. Stallman | 1993-07-02 05:43:43 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1993-07-02 05:43:43 +0000 |
| commit | de6fd4b97c0e0a9a6db3faf4c4c66eac1dac2037 (patch) | |
| tree | a7292d6c923db09f5a60840a7800d042d4403221 /src/process.c | |
| parent | 53c8f9fa142160aeb89f6cb8a3acc2d2a53db617 (diff) | |
| download | emacs-de6fd4b97c0e0a9a6db3faf4c4c66eac1dac2037.tar.gz emacs-de6fd4b97c0e0a9a6db3faf4c4c66eac1dac2037.zip | |
(wait_reading_process_input): Do include the keyboard
in the select, if read_kbd was a cons cell.
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/process.c b/src/process.c index 95d6846f9a3..7b210b70c02 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -1658,29 +1658,31 @@ static int waiting_for_user_input_p; | |||
| 1658 | /* Read and dispose of subprocess output while waiting for timeout to | 1658 | /* Read and dispose of subprocess output while waiting for timeout to |
| 1659 | elapse and/or keyboard input to be available. | 1659 | elapse and/or keyboard input to be available. |
| 1660 | 1660 | ||
| 1661 | time_limit is: | 1661 | TIME_LIMIT is: |
| 1662 | timeout in seconds, or | 1662 | timeout in seconds, or |
| 1663 | zero for no limit, or | 1663 | zero for no limit, or |
| 1664 | -1 means gobble data immediately available but don't wait for any. | 1664 | -1 means gobble data immediately available but don't wait for any. |
| 1665 | 1665 | ||
| 1666 | microsecs is: | 1666 | MICROSECS is: |
| 1667 | an additional duration to wait (if time_limit is greater than | 1667 | an additional duration to wait, measured in microseconds. |
| 1668 | zero), specified in millisec. | 1668 | If this is nonzero and time_limit is 0, then the timeout |
| 1669 | consists of MICROSECS only. | ||
| 1669 | 1670 | ||
| 1670 | read_kbd is a lisp value: | 1671 | READ_KBD is a lisp value: |
| 1671 | 0 to ignore keyboard input, or | 1672 | 0 to ignore keyboard input, or |
| 1672 | 1 to return when input is available, or | 1673 | 1 to return when input is available, or |
| 1673 | -1 meaning caller will actually read the input, so don't throw to | 1674 | -1 meaning caller will actually read the input, so don't throw to |
| 1674 | the quit handler, or | 1675 | the quit handler, or |
| 1675 | a cons cell, meaning wait wait until its car is non-nil, or | 1676 | a cons cell, meaning wait wait until its car is non-nil |
| 1677 | (and gobble terminal input into the buffer if any arrives), or | ||
| 1676 | a process object, meaning wait until something arrives from that | 1678 | a process object, meaning wait until something arrives from that |
| 1677 | process. The return value is true iff we read some input from | 1679 | process. The return value is true iff we read some input from |
| 1678 | that process. | 1680 | that process. |
| 1679 | 1681 | ||
| 1680 | do_display != 0 means redisplay should be done to show subprocess | 1682 | DO_DISPLAY != 0 means redisplay should be done to show subprocess |
| 1681 | output that arrives. | 1683 | output that arrives. |
| 1682 | 1684 | ||
| 1683 | If read_kbd is a pointer to a struct Lisp_Process, then the | 1685 | If READ_KBD is a pointer to a struct Lisp_Process, then the |
| 1684 | function returns true iff we received input from that process | 1686 | function returns true iff we received input from that process |
| 1685 | before the timeout elapsed. | 1687 | before the timeout elapsed. |
| 1686 | Otherwise, return true iff we received input from any process. */ | 1688 | Otherwise, return true iff we received input from any process. */ |
| @@ -1799,7 +1801,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display) | |||
| 1799 | /* Wait till there is something to do */ | 1801 | /* Wait till there is something to do */ |
| 1800 | 1802 | ||
| 1801 | Available = input_wait_mask; | 1803 | Available = input_wait_mask; |
| 1802 | if (! XINT (read_kbd)) | 1804 | if (! XINT (read_kbd) && wait_for_cell == 0) |
| 1803 | FD_CLR (0, &Available); | 1805 | FD_CLR (0, &Available); |
| 1804 | 1806 | ||
| 1805 | /* If frame size has changed or the window is newly mapped, | 1807 | /* If frame size has changed or the window is newly mapped, |