2001-04-25 Gerd Moellmann <gerd@gnu.org>
+ * process.c (wait_reading_process_input): Call
+ record_asynch_buffer_change only if a timer really changed
+ buffers.
+
* buffer.c (mouse_face_overlay_overlaps): Fix the computation
of the number of overlays to check.
do
{
int old_timers_run = timers_run;
+ struct buffer *old_buffer = current_buffer;
timer_delay = timer_check (1);
/* If a timer has run, this might have changed buffers
an alike. Make read_key_sequence aware of that. */
if (timers_run != old_timers_run
+ && old_buffer != current_buffer
&& waiting_for_user_input_p == -1)
record_asynch_buffer_change ();
if (XINT (read_kbd) != 0)
{
int old_timers_run = timers_run;
+ struct buffer *old_buffer = current_buffer;
int leave = 0;
if (detect_input_pending_run_timers (do_display))
/* If a timer has run, this might have changed buffers
an alike. Make read_key_sequence aware of that. */
if (timers_run != old_timers_run
- && waiting_for_user_input_p == -1)
+ && waiting_for_user_input_p == -1
+ && old_buffer != current_buffer)
record_asynch_buffer_change ();
if (leave)