/[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.754.2.19 by miles, Tue May 11 02:39:20 2004 UTC revision 1.754.2.20 by miles, Tue Jul 6 09:14:39 2004 UTC
# Line 2734  next_overlay_change (pos) Line 2734  next_overlay_change (pos)
2734    int noverlays;    int noverlays;
2735    int endpos;    int endpos;
2736    Lisp_Object *overlays;    Lisp_Object *overlays;
   int len;  
2737    int i;    int i;
2738    
2739    /* Get all overlays at the given position.  */    /* Get all overlays at the given position.  */
2740    len = 10;    GET_OVERLAYS_AT (pos, overlays, noverlays, &endpos, 1);
   overlays = (Lisp_Object *) alloca (len * sizeof *overlays);  
   noverlays = overlays_at (pos, 0, &overlays, &len, &endpos, NULL, 1);  
   if (noverlays > len)  
     {  
       len = noverlays;  
       overlays = (Lisp_Object *) alloca (len * sizeof *overlays);  
       noverlays = overlays_at (pos, 0, &overlays, &len, &endpos, NULL, 1);  
     }  
2741    
2742    /* If any of these overlays ends before endpos,    /* If any of these overlays ends before endpos,
2743       use its ending point instead.  */       use its ending point instead.  */
# Line 20834  note_mouse_highlight (f, x, y) Line 20825  note_mouse_highlight (f, x, y)
20825        Lisp_Object object;        Lisp_Object object;
20826        Lisp_Object mouse_face = Qnil, overlay = Qnil, position;        Lisp_Object mouse_face = Qnil, overlay = Qnil, position;
20827        Lisp_Object *overlay_vec = NULL;        Lisp_Object *overlay_vec = NULL;
20828        int len, noverlays;        int noverlays;
20829        struct buffer *obuf;        struct buffer *obuf;
20830        int obegv, ozv, same_region;        int obegv, ozv, same_region;
20831    
# Line 20921  note_mouse_highlight (f, x, y) Line 20912  note_mouse_highlight (f, x, y)
20912    
20913        if (BUFFERP (object))        if (BUFFERP (object))
20914          {          {
20915            /* Put all the overlays we want in a vector in overlay_vec.            /* Put all the overlays we want in a vector in overlay_vec.  */
20916               Store the length in len.  If there are more than 40, make            GET_OVERLAYS_AT (pos, overlay_vec, noverlays, NULL, 0);
              enough space for all, and try again.  */  
           len = 40;  
           overlay_vec = (Lisp_Object *) alloca (len * sizeof (Lisp_Object));  
           noverlays = overlays_at (pos, 0, &overlay_vec, &len, NULL, NULL, 0);  
           if (noverlays > len)  
             {  
               len = noverlays;  
               overlay_vec = (Lisp_Object *) alloca (len * sizeof (Lisp_Object));  
               noverlays = overlays_at (pos, 0, &overlay_vec, &len, NULL, NULL,0);  
             }  
   
20917            /* Sort overlays into increasing priority order.  */            /* Sort overlays into increasing priority order.  */
20918            noverlays = sort_overlays (overlay_vec, noverlays, w);            noverlays = sort_overlays (overlay_vec, noverlays, w);
20919          }          }

Legend:
Removed from v.1.754.2.19  
changed lines
  Added in v.1.754.2.20

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