From: Gerd Moellmann Date: Wed, 25 Apr 2001 14:51:11 +0000 (+0000) Subject: (mouse_face_overlay_overlaps): Fix the computation X-Git-Tag: emacs-pretest-21.0.103~119 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bfd8410fc2e9901716ce0a772f8a455afe8f8e21;p=emacs.git (mouse_face_overlay_overlaps): Fix the computation of the number of overlays to check. --- diff --git a/src/ChangeLog b/src/ChangeLog index eb2f0d07c07..3f399316200 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2001-04-25 Gerd Moellmann + * 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 diff --git a/src/buffer.c b/src/buffer.c index a8240bafcc9..0171f74e089 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -2529,15 +2529,14 @@ mouse_face_overlay_overlaps (overlay) { 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); }