summaryrefslogtreecommitdiff
path: root/src/msdos.c
diff options
context:
space:
mode:
authorKim F. Storm <storm@cua.dk>2004-05-17 22:47:23 +0000
committerKim F. Storm <storm@cua.dk>2004-05-17 22:47:23 +0000
commit1a8da670619a62c4991cd34441a80b93b82f61a1 (patch)
tree9f403932ad3835da4b2b478854cd789b0023d964 /src/msdos.c
parent002571ddc7980f54ec0cd5a8c42adff41f3b5f76 (diff)
downloademacs-1a8da670619a62c4991cd34441a80b93b82f61a1.tar.gz
(IT_note_mouse_highlight): Use GET_OVERLAYS_AT.
Diffstat (limited to 'src/msdos.c')
-rw-r--r--src/msdos.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/src/msdos.c b/src/msdos.c
index 6134c1beabe..46bf7f46c30 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -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);