2001-04-25 Gerd Moellmann <gerd@gnu.org>
+ * buffer.c (mouse_face_overlay_overlaps): Fix the computation
+ of the number of overlays to check.
+
* keyboard.c (command_loop_1): Redo change of 2001-03-12.
* xdisp.c (try_window_id): Fix a case where window_end_pos
{
int start = OVERLAY_POSITION (OVERLAY_START (overlay));
int end = OVERLAY_POSITION (OVERLAY_END (overlay));
- int n, i;
+ int n, i, size;
Lisp_Object *v, tem;
- n = 10;
- v = (Lisp_Object *) alloca (n * sizeof *v);
- i = overlays_in (start, end, 0, &v, &n, NULL, NULL);
- if (i > n)
+ size = 10;
+ v = (Lisp_Object *) alloca (size * sizeof *v);
+ n = overlays_in (start, end, 0, &v, &size, NULL, NULL);
+ if (n > size)
{
- n = i;
v = (Lisp_Object *) alloca (n * sizeof *v);
overlays_in (start, end, 0, &v, &n, NULL, NULL);
}