diff options
| author | Richard M. Stallman <rms@gnu.org> | 1994-05-06 06:39:48 +0000 |
|---|---|---|
| committer | Richard M. Stallman <rms@gnu.org> | 1994-05-06 06:39:48 +0000 |
| commit | 8b4d685f0107250963549f928e2c9dc3f9add4dc (patch) | |
| tree | f94385459331ba644c90ec2046e5c75b41b88b02 /src | |
| parent | 5da3133aae3027f85c69e8e5baf9c9054b6fcbea (diff) | |
| download | emacs-8b4d685f0107250963549f928e2c9dc3f9add4dc.tar.gz | |
(wait_reading_process_input): Don't call prepare_menu_bars
unless we are going to redisplay for a garbaged frame.
(read_process_output): Call prepare_menu_bars if waiting for input.
(exec_sentinel): Call prepare_menu_bars if waiting for input.
Diffstat (limited to 'src')
| -rw-r--r-- | src/process.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/process.c b/src/process.c index 9ef6eb1dede..eff69a13c28 100644 --- a/src/process.c +++ b/src/process.c @@ -1835,7 +1835,8 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display) /* It would not be safe to call this below, where we call redisplay_preserve_echo_area. */ - prepare_menu_bars (); + if (do_display && frame_garbaged) + prepare_menu_bars (); while (1) { @@ -2215,6 +2216,9 @@ read_process_output (proc, channel) if (! EQ (Fcurrent_buffer (), obuffer)) record_asynch_buffer_change (); + if (waiting_for_user_input_p) + prepare_menu_bars (); + #ifdef VMS start_vms_process_read (vs); #endif @@ -2289,11 +2293,11 @@ read_process_output (proc, channel) DEFUN ("waiting-for-user-input-p", Fwaiting_for_user_input_p, Swaiting_for_user_input_p, 0, 0, 0, - "Returns non-NIL if emacs is waiting for input from the user.\n\ + "Returns non-nil if emacs is waiting for input from the user.\n\ This is intended for use by asynchronous process output filters and sentinels.") () { - return ((waiting_for_user_input_p) ? Qt : Qnil); + return (waiting_for_user_input_p ? Qt : Qnil); } /* Sending data to subprocess */ @@ -3017,6 +3021,8 @@ exec_sentinel (proc, reason) /* Inhibit quit so that random quits don't screw up a running filter. */ specbind (Qinhibit_quit, Qt); call2 (sentinel, proc, reason); + if (waiting_for_user_input_p) + prepare_menu_bars (); unbind_to (count, Qnil); } |
