changeset 23460:94f4ba741f22

(exec_sentinel, read_process_output): Restore waiting_for_user_input_p after running Lisp code.
author Richard M. Stallman <rms@gnu.org>
date Wed, 14 Oct 1998 14:36:33 +0000
parents bab640501294
children b84718f930f8
files src/process.c
diffstat 1 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/process.c	Wed Oct 14 12:59:30 1998 +0000
+++ b/src/process.c	Wed Oct 14 14:36:33 1998 +0000
@@ -2961,6 +2961,7 @@
       Lisp_Object obuffer, okeymap;
       Lisp_Object text;
       int outer_running_asynch_code = running_asynch_code;
+      int waiting = waiting_for_user_input_p;
 
       /* No need to gcpro these, because all we do with them later
 	 is test them for EQness, and none of them should be a string.  */
@@ -3002,6 +3003,10 @@
       /* Handling the process output should not deactivate the mark.  */
       Vdeactivate_mark = odeactivate;
 
+      /* Restore waiting_for_user_input_p as it was
+	 when we were called, in case the filter clobbered it.  */
+      waiting_for_user_input_p = waiting;
+
 #if 0 /* Call record_asynch_buffer_change unconditionally,
 	 because we might have changed minor modes or other things
 	 that affect key bindings.  */
@@ -4114,6 +4119,7 @@
   register struct Lisp_Process *p = XPROCESS (proc);
   int count = specpdl_ptr - specpdl;
   int outer_running_asynch_code = running_asynch_code;
+  int waiting = waiting_for_user_input_p;
 
   /* No need to gcpro these, because all we do with them later
      is test them for EQness, and none of them should be a string.  */
@@ -4160,6 +4166,11 @@
   running_asynch_code = outer_running_asynch_code;
 
   Vdeactivate_mark = odeactivate;
+
+  /* Restore waiting_for_user_input_p as it was
+     when we were called, in case the filter clobbered it.  */
+  waiting_for_user_input_p = waiting;
+
 #if 0
   if (! EQ (Fcurrent_buffer (), obuffer)
       || ! EQ (current_buffer->keymap, okeymap))