diff options
| author | Karoly Lorentey | 2006-10-14 16:56:21 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2006-10-14 16:56:21 +0000 |
| commit | 3f87f67ee215ffeecbd2f53bd7f342cdf03f47df (patch) | |
| tree | 16f2af9111af08a94d608d96a957f5c3ec5effcc /src/process.c | |
| parent | 350e4fb815d7413ef6d339dd664014706f742927 (diff) | |
| parent | 7a210b69c7f92650c524766d1b9d3f3eefdd67c7 (diff) | |
| download | emacs-3f87f67ee215ffeecbd2f53bd7f342cdf03f47df.tar.gz emacs-3f87f67ee215ffeecbd2f53bd7f342cdf03f47df.zip | |
Merged from emacs@sv.gnu.org
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-371
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-372
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-373
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-374
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-375
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-376
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-377
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-378
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-379
Merge from erc--emacs--21
* emacs@sv.gnu.org/emacs--devo--0--patch-380
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-381
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-382
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-383
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-384
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-385
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-386
Update from erc--emacs--22
* emacs@sv.gnu.org/emacs--devo--0--patch-387
Fix ERC bug introduced in last patch
* emacs@sv.gnu.org/emacs--devo--0--patch-388
Update from erc--emacs--22
* emacs@sv.gnu.org/emacs--devo--0--patch-389
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-390
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-391
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-392
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-393
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-394
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-395
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-396
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-397
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-398
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-399
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-400
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-401
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-402
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-403
Rcirc update from Ryan Yeske
* emacs@sv.gnu.org/emacs--devo--0--patch-404
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-405
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-406
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-407
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-408
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-409
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-410
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-411
Miscellaneous tq-related fixes.
* emacs@sv.gnu.org/emacs--devo--0--patch-412
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-121
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-122
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-123
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-124
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-125
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-126
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-127
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-581
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/process.c b/src/process.c index 9dadc1ab4ab..f8ae50e8652 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -4163,6 +4163,14 @@ server_accept_connection (server, channel) | |||
| 4163 | when not inside wait_reading_process_output. */ | 4163 | when not inside wait_reading_process_output. */ |
| 4164 | static int waiting_for_user_input_p; | 4164 | static int waiting_for_user_input_p; |
| 4165 | 4165 | ||
| 4166 | static Lisp_Object | ||
| 4167 | wait_reading_process_output_unwind (data) | ||
| 4168 | Lisp_Object data; | ||
| 4169 | { | ||
| 4170 | waiting_for_user_input_p = XINT (data); | ||
| 4171 | return Qnil; | ||
| 4172 | } | ||
| 4173 | |||
| 4166 | /* This is here so breakpoints can be put on it. */ | 4174 | /* This is here so breakpoints can be put on it. */ |
| 4167 | static void | 4175 | static void |
| 4168 | wait_reading_process_output_1 () | 4176 | wait_reading_process_output_1 () |
| @@ -4245,9 +4253,7 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display, | |||
| 4245 | EMACS_TIME timeout, end_time; | 4253 | EMACS_TIME timeout, end_time; |
| 4246 | int wait_channel = -1; | 4254 | int wait_channel = -1; |
| 4247 | int got_some_input = 0; | 4255 | int got_some_input = 0; |
| 4248 | /* Either nil or a cons cell, the car of which is of interest and | 4256 | int count = SPECPDL_INDEX (); |
| 4249 | may be changed outside of this routine. */ | ||
| 4250 | int saved_waiting_for_user_input_p = waiting_for_user_input_p; | ||
| 4251 | 4257 | ||
| 4252 | FD_ZERO (&Available); | 4258 | FD_ZERO (&Available); |
| 4253 | #ifdef NON_BLOCKING_CONNECT | 4259 | #ifdef NON_BLOCKING_CONNECT |
| @@ -4258,6 +4264,8 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display, | |||
| 4258 | if (wait_proc != NULL) | 4264 | if (wait_proc != NULL) |
| 4259 | wait_channel = XINT (wait_proc->infd); | 4265 | wait_channel = XINT (wait_proc->infd); |
| 4260 | 4266 | ||
| 4267 | record_unwind_protect (wait_reading_process_output_unwind, | ||
| 4268 | make_number (waiting_for_user_input_p)); | ||
| 4261 | waiting_for_user_input_p = read_kbd; | 4269 | waiting_for_user_input_p = read_kbd; |
| 4262 | 4270 | ||
| 4263 | /* Since we may need to wait several times, | 4271 | /* Since we may need to wait several times, |
| @@ -4884,7 +4892,7 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display, | |||
| 4884 | } /* end for each file descriptor */ | 4892 | } /* end for each file descriptor */ |
| 4885 | } /* end while exit conditions not met */ | 4893 | } /* end while exit conditions not met */ |
| 4886 | 4894 | ||
| 4887 | waiting_for_user_input_p = saved_waiting_for_user_input_p; | 4895 | unbind_to (count, Qnil); |
| 4888 | 4896 | ||
| 4889 | /* If calling from keyboard input, do not quit | 4897 | /* If calling from keyboard input, do not quit |
| 4890 | since we want to return C-g as an input character. | 4898 | since we want to return C-g as an input character. |