aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
authorRichard M. Stallman1994-07-13 03:52:05 +0000
committerRichard M. Stallman1994-07-13 03:52:05 +0000
commit6545aadab74071c9dc71c7c54ab4c59e778dbc61 (patch)
tree299003700cb7f1ad2b3842b4503240155d33d929 /src/process.c
parent6ae1efb4190016d75dc099e905d650eafeded8b3 (diff)
downloademacs-6545aadab74071c9dc71c7c54ab4c59e778dbc61.tar.gz
emacs-6545aadab74071c9dc71c7c54ab4c59e778dbc61.zip
(Qlast_nonmenu_event): New variable.
(syms_of_process): Set it up. (read_process_output, exec_sentinel): Bind it to t around filter.
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/process.c b/src/process.c
index 9f740e4d026..3c62349a898 100644
--- a/src/process.c
+++ b/src/process.c
@@ -96,6 +96,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
96 96
97Lisp_Object Qprocessp; 97Lisp_Object Qprocessp;
98Lisp_Object Qrun, Qstop, Qsignal, Qopen, Qclosed; 98Lisp_Object Qrun, Qstop, Qsignal, Qopen, Qclosed;
99Lisp_Object Qlast_nonmenu_event;
99/* Qexit is declared and initialized in eval.c. */ 100/* Qexit is declared and initialized in eval.c. */
100 101
101/* a process object is a network connection when its childp field is neither 102/* a process object is a network connection when its childp field is neither
@@ -2231,6 +2232,7 @@ read_process_output (proc, channel)
2231 obuffer = Fcurrent_buffer (); 2232 obuffer = Fcurrent_buffer ();
2232 2233
2233 specbind (Qinhibit_quit, Qt); 2234 specbind (Qinhibit_quit, Qt);
2235 specbind (Qlast_nonmenu_event, Qt);
2234 call2 (outstream, proc, make_string (chars, nchars)); 2236 call2 (outstream, proc, make_string (chars, nchars));
2235 2237
2236 /* Handling the process output should not deactivate the mark. */ 2238 /* Handling the process output should not deactivate the mark. */
@@ -3092,6 +3094,7 @@ exec_sentinel (proc, reason)
3092 record_unwind_protect (exec_sentinel_unwind, Fcons (proc, sentinel)); 3094 record_unwind_protect (exec_sentinel_unwind, Fcons (proc, sentinel));
3093 /* Inhibit quit so that random quits don't screw up a running filter. */ 3095 /* Inhibit quit so that random quits don't screw up a running filter. */
3094 specbind (Qinhibit_quit, Qt); 3096 specbind (Qinhibit_quit, Qt);
3097 specbind (Qlast_nonmenu_event, Qt);
3095 call2 (sentinel, proc, reason); 3098 call2 (sentinel, proc, reason);
3096 3099
3097 Vdeactivate_mark = odeactivate; 3100 Vdeactivate_mark = odeactivate;
@@ -3272,6 +3275,9 @@ syms_of_process ()
3272 Qclosed = intern ("closed"); 3275 Qclosed = intern ("closed");
3273 staticpro (&Qclosed); 3276 staticpro (&Qclosed);
3274 3277
3278 Qlast_nonmenu_event = intern ("last-nonmenu-event");
3279 staticpro (&Qlast_nonmenu_event);
3280
3275 staticpro (&Vprocess_alist); 3281 staticpro (&Vprocess_alist);
3276 3282
3277 DEFVAR_BOOL ("delete-exited-processes", &delete_exited_processes, 3283 DEFVAR_BOOL ("delete-exited-processes", &delete_exited_processes,