emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/xdisp.c


From: Kim F . Storm
Subject: [Emacs-diffs] Changes to emacs/src/xdisp.c
Date: Thu, 08 Sep 2005 18:29:50 -0400

Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.1048 emacs/src/xdisp.c:1.1049
*** emacs/src/xdisp.c:1.1048    Wed Sep  7 21:59:36 2005
--- emacs/src/xdisp.c   Thu Sep  8 22:29:49 2005
***************
*** 10615,10627 ****
    if (consider_all_windows_p)
      {
        Lisp_Object tail, frame;
-       int i, n = 0, size = 5;
-       struct frame **updated;
  
        FOR_EACH_FRAME (tail, frame)
!       size++;
! 
!       updated = (struct frame **) alloca (size * sizeof *updated);
  
        /* Recompute # windows showing selected buffer.  This will be
         incremented each time such a window is displayed.  */
--- 10615,10623 ----
    if (consider_all_windows_p)
      {
        Lisp_Object tail, frame;
  
        FOR_EACH_FRAME (tail, frame)
!       XFRAME (frame)->updated_p = 0;
  
        /* Recompute # windows showing selected buffer.  This will be
         incremented each time such a window is displayed.  */
***************
*** 10683,10697 ****
                    break;
  #endif
  
!                 if (n == size)
!                   {
!                     int nbytes = size * sizeof *updated;
!                     struct frame **p = (struct frame **) alloca (2 * nbytes);
!                     bcopy (updated, p, nbytes);
!                     size *= 2;
!                   }
! 
!                 updated[n++] = f;
                }
            }
        }
--- 10679,10685 ----
                    break;
  #endif
  
!                 f->updated_p = 1;
                }
            }
        }
***************
*** 10701,10712 ****
          /* Do the mark_window_display_accurate after all windows have
             been redisplayed because this call resets flags in buffers
             which are needed for proper redisplay.  */
!         for (i = 0; i < n; ++i)
            {
!             struct frame *f = updated[i];
!             mark_window_display_accurate (f->root_window, 1);
!             if (frame_up_to_date_hook)
!               frame_up_to_date_hook (f);
            }
        }
      }
--- 10689,10703 ----
          /* Do the mark_window_display_accurate after all windows have
             been redisplayed because this call resets flags in buffers
             which are needed for proper redisplay.  */
!         FOR_EACH_FRAME (tail, frame)
            {
!             struct frame *f = XFRAME (frame);
!             if (f->updated_p)
!               {
!                 mark_window_display_accurate (f->root_window, 1);
!                 if (frame_up_to_date_hook)
!                   frame_up_to_date_hook (f);
!               }
            }
        }
      }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]