[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/process.c,v
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] Changes to emacs/src/process.c,v |
Date: |
Thu, 03 Aug 2006 15:19:21 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Chong Yidong <cyd> 06/08/03 15:19:20
Index: process.c
===================================================================
RCS file: /sources/emacs/emacs/src/process.c,v
retrieving revision 1.485
retrieving revision 1.486
diff -u -b -r1.485 -r1.486
--- process.c 1 Aug 2006 00:13:08 -0000 1.485
+++ process.c 3 Aug 2006 15:19:20 -0000 1.486
@@ -4158,14 +4158,6 @@
when not inside wait_reading_process_output. */
static int waiting_for_user_input_p;
-static Lisp_Object
-wait_reading_process_output_unwind (data)
- Lisp_Object data;
-{
- waiting_for_user_input_p = XINT (data);
- return Qnil;
-}
-
/* This is here so breakpoints can be put on it. */
static void
wait_reading_process_output_1 ()
@@ -4248,7 +4240,11 @@
EMACS_TIME timeout, end_time;
int wait_channel = -1;
int got_some_input = 0;
- int count = SPECPDL_INDEX ();
+ /* We can't record_unwind_protect here because after the
+ set_waiting_for_input call, C-g (interrupt_signal) would run
+ throw_to_read_char instead of Fsignal, which means unbind_to
+ doesn't get called. */
+ int saved_waiting_for_user_input_p = waiting_for_user_input_p;
FD_ZERO (&Available);
#ifdef NON_BLOCKING_CONNECT
@@ -4259,8 +4255,6 @@
if (wait_proc != NULL)
wait_channel = XINT (wait_proc->infd);
- record_unwind_protect (wait_reading_process_output_unwind,
- make_number (waiting_for_user_input_p));
waiting_for_user_input_p = read_kbd;
/* Since we may need to wait several times,
@@ -4887,7 +4881,7 @@
} /* end for each file descriptor */
} /* end while exit conditions not met */
- unbind_to (count, Qnil);
+ waiting_for_user_input_p = saved_waiting_for_user_input_p;
/* If calling from keyboard input, do not quit
since we want to return C-g as an input character.
- [Emacs-diffs] Changes to emacs/src/process.c,v,
Chong Yidong <=