/[emacs]/emacs/src/xdisp.c
ViewVC logotype

Diff of /emacs/src/xdisp.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1048 by kfstorm, Wed Sep 7 21:59:36 2005 UTC revision 1.1049 by kfstorm, Thu Sep 8 22:29:49 2005 UTC
# Line 10615  redisplay_internal (preserve_echo_area) Line 10615  redisplay_internal (preserve_echo_area)
10615    if (consider_all_windows_p)    if (consider_all_windows_p)
10616      {      {
10617        Lisp_Object tail, frame;        Lisp_Object tail, frame;
       int i, n = 0, size = 5;  
       struct frame **updated;  
10618    
10619        FOR_EACH_FRAME (tail, frame)        FOR_EACH_FRAME (tail, frame)
10620          size++;          XFRAME (frame)->updated_p = 0;
   
       updated = (struct frame **) alloca (size * sizeof *updated);  
10621    
10622        /* Recompute # windows showing selected buffer.  This will be        /* Recompute # windows showing selected buffer.  This will be
10623           incremented each time such a window is displayed.  */           incremented each time such a window is displayed.  */
# Line 10683  redisplay_internal (preserve_echo_area) Line 10679  redisplay_internal (preserve_echo_area)
10679                      break;                      break;
10680  #endif  #endif
10681    
10682                    if (n == size)                    f->updated_p = 1;
                     {  
                       int nbytes = size * sizeof *updated;  
                       struct frame **p = (struct frame **) alloca (2 * nbytes);  
                       bcopy (updated, p, nbytes);  
                       size *= 2;  
                     }  
   
                   updated[n++] = f;  
10683                  }                  }
10684              }              }
10685          }          }
# Line 10701  redisplay_internal (preserve_echo_area) Line 10689  redisplay_internal (preserve_echo_area)
10689            /* Do the mark_window_display_accurate after all windows have            /* Do the mark_window_display_accurate after all windows have
10690               been redisplayed because this call resets flags in buffers               been redisplayed because this call resets flags in buffers
10691               which are needed for proper redisplay.  */               which are needed for proper redisplay.  */
10692            for (i = 0; i < n; ++i)            FOR_EACH_FRAME (tail, frame)
10693              {              {
10694                struct frame *f = updated[i];                struct frame *f = XFRAME (frame);
10695                mark_window_display_accurate (f->root_window, 1);                if (f->updated_p)
10696                if (frame_up_to_date_hook)                  {
10697                  frame_up_to_date_hook (f);                    mark_window_display_accurate (f->root_window, 1);
10698                      if (frame_up_to_date_hook)
10699                        frame_up_to_date_hook (f);
10700                    }
10701              }              }
10702          }          }
10703      }      }

Legend:
Removed from v.1.1048  
changed lines
  Added in v.1.1049

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26