diff options
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/process.c b/src/process.c index 930ff859e53..9bf9c73fb6f 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -2961,6 +2961,7 @@ read_process_output (proc, channel) | |||
| 2961 | Lisp_Object obuffer, okeymap; | 2961 | Lisp_Object obuffer, okeymap; |
| 2962 | Lisp_Object text; | 2962 | Lisp_Object text; |
| 2963 | int outer_running_asynch_code = running_asynch_code; | 2963 | int outer_running_asynch_code = running_asynch_code; |
| 2964 | int waiting = waiting_for_user_input_p; | ||
| 2964 | 2965 | ||
| 2965 | /* No need to gcpro these, because all we do with them later | 2966 | /* No need to gcpro these, because all we do with them later |
| 2966 | is test them for EQness, and none of them should be a string. */ | 2967 | is test them for EQness, and none of them should be a string. */ |
| @@ -3002,6 +3003,10 @@ read_process_output (proc, channel) | |||
| 3002 | /* Handling the process output should not deactivate the mark. */ | 3003 | /* Handling the process output should not deactivate the mark. */ |
| 3003 | Vdeactivate_mark = odeactivate; | 3004 | Vdeactivate_mark = odeactivate; |
| 3004 | 3005 | ||
| 3006 | /* Restore waiting_for_user_input_p as it was | ||
| 3007 | when we were called, in case the filter clobbered it. */ | ||
| 3008 | waiting_for_user_input_p = waiting; | ||
| 3009 | |||
| 3005 | #if 0 /* Call record_asynch_buffer_change unconditionally, | 3010 | #if 0 /* Call record_asynch_buffer_change unconditionally, |
| 3006 | because we might have changed minor modes or other things | 3011 | because we might have changed minor modes or other things |
| 3007 | that affect key bindings. */ | 3012 | that affect key bindings. */ |
| @@ -4114,6 +4119,7 @@ exec_sentinel (proc, reason) | |||
| 4114 | register struct Lisp_Process *p = XPROCESS (proc); | 4119 | register struct Lisp_Process *p = XPROCESS (proc); |
| 4115 | int count = specpdl_ptr - specpdl; | 4120 | int count = specpdl_ptr - specpdl; |
| 4116 | int outer_running_asynch_code = running_asynch_code; | 4121 | int outer_running_asynch_code = running_asynch_code; |
| 4122 | int waiting = waiting_for_user_input_p; | ||
| 4117 | 4123 | ||
| 4118 | /* No need to gcpro these, because all we do with them later | 4124 | /* No need to gcpro these, because all we do with them later |
| 4119 | is test them for EQness, and none of them should be a string. */ | 4125 | is test them for EQness, and none of them should be a string. */ |
| @@ -4160,6 +4166,11 @@ exec_sentinel (proc, reason) | |||
| 4160 | running_asynch_code = outer_running_asynch_code; | 4166 | running_asynch_code = outer_running_asynch_code; |
| 4161 | 4167 | ||
| 4162 | Vdeactivate_mark = odeactivate; | 4168 | Vdeactivate_mark = odeactivate; |
| 4169 | |||
| 4170 | /* Restore waiting_for_user_input_p as it was | ||
| 4171 | when we were called, in case the filter clobbered it. */ | ||
| 4172 | waiting_for_user_input_p = waiting; | ||
| 4173 | |||
| 4163 | #if 0 | 4174 | #if 0 |
| 4164 | if (! EQ (Fcurrent_buffer (), obuffer) | 4175 | if (! EQ (Fcurrent_buffer (), obuffer) |
| 4165 | || ! EQ (current_buffer->keymap, okeymap)) | 4176 | || ! EQ (current_buffer->keymap, okeymap)) |