(wait_reading_process_input): Call
authorGerd Moellmann <gerd@gnu.org>
Wed, 25 Apr 2001 15:12:49 +0000 (15:12 +0000)
committerGerd Moellmann <gerd@gnu.org>
Wed, 25 Apr 2001 15:12:49 +0000 (15:12 +0000)
record_asynch_buffer_change only if a timer really changed
buffers.

src/ChangeLog
src/process.c

index 3f39931..343423b 100644 (file)
@@ -1,5 +1,9 @@
 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.
 
index 15fc26c..20edc9d 100644 (file)
@@ -2453,12 +2453,14 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
          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 ();
              
@@ -2678,6 +2680,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
       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))
@@ -2690,7 +2693,8 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, 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)