]> git.eshelyaron.com Git - emacs.git/commitdiff
(IT_note_mouse_highlight): Use GET_OVERLAYS_AT.
authorKim F. Storm <storm@cua.dk>
Mon, 17 May 2004 22:47:23 +0000 (22:47 +0000)
committerKim F. Storm <storm@cua.dk>
Mon, 17 May 2004 22:47:23 +0000 (22:47 +0000)
src/msdos.c

index 6134c1beabe83156e4abbf651a6b3a89f5d9e870..46bf7f46c303b0cffa43eb48bac5c3c71ae737f6 100644 (file)
@@ -1572,7 +1572,7 @@ IT_note_mouse_highlight (struct frame *f, int x, int y)
       {
        extern Lisp_Object Qmouse_face;
        Lisp_Object mouse_face, overlay, position, *overlay_vec;
-       int len, noverlays, obegv, ozv;;
+       int noverlays, obegv, ozv;;
        struct buffer *obuf;
 
        /* If we get an out-of-range value, return now; avoid an error.  */
@@ -1591,20 +1591,8 @@ IT_note_mouse_highlight (struct frame *f, int x, int y)
        /* Is this char mouse-active or does it have help-echo?  */
        XSETINT (position, pos);
 
-       /* Put all the overlays we want in a vector in overlay_vec.
-          Store the length in len.  If there are more than 10, make
-          enough space for all, and try again.  */
-       len = 10;
-       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);
-         }
-
+       /* Put all the overlays we want in a vector in overlay_vec. */
+       GET_OVERLAYS_AT (pos, overlay_vec, noverlays, NULL, 0);
        /* Sort overlays into increasing priority order.  */
        noverlays = sort_overlays (overlay_vec, noverlays, w);