/* 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)
{
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
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);
}
\f
/* Sending data to subprocess */
/* 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);
}