+2001-05-30 Gerd Moellmann <gerd@gnu.org>
+
+ * xterm.c (note_mouse_highlight): If an overlapping overlay
+ exists, but we find that we highlight the same overlay as before,
+ don't do the highlighting again.
+
2001-05-29 Gerd Moellmann <gerd@gnu.org>
* xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
|| (OVERLAYP (dpyinfo->mouse_face_overlay)
&& mouse_face_overlay_overlaps (dpyinfo->mouse_face_overlay)))
{
- /* Clear the display of the old active region, if any. */
- if (clear_mouse_face (dpyinfo))
- cursor = None;
-
/* Find the highest priority overlay that has a mouse-face
property. */
overlay = Qnil;
if (!NILP (mouse_face))
overlay = overlay_vec[i];
}
- dpyinfo->mouse_face_overlay = overlay;
+
+ /* If we're actually highlighting the same overlay as
+ before, there's no need to do that again. */
+ if (!NILP (overlay)
+ && EQ (overlay, dpyinfo->mouse_face_overlay))
+ goto check_help_echo;
+ dpyinfo->mouse_face_overlay = overlay;
+
+ /* Clear the display of the old active region, if any. */
+ if (clear_mouse_face (dpyinfo))
+ cursor = None;
+
/* If no overlay applies, get a text property. */
if (NILP (overlay))
mouse_face = Fget_text_property (position, Qmouse_face, object);
}
}
+ check_help_echo:
+
/* Look for a `help-echo' property. */
{
Lisp_Object help, overlay;