From: Eli Zaretskii Date: Wed, 23 Nov 2022 14:18:55 +0000 (+0200) Subject: Fix error signaled by mouse-highlight on mode line X-Git-Tag: emacs-29.0.90~1574 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5568ac2db0fe2707676d9e4d1cfe027fba83767d;p=emacs.git Fix error signaled by mouse-highlight on mode line * src/xdisp.c (note_mode_line_or_margin_highlight): Avoid signaling args-out-of-range errors when mode-line format uses min-width 'display' property. (Bug#59452) --- diff --git a/src/xdisp.c b/src/xdisp.c index b5f013ea6a1..5dcf21dc4ce 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -34576,8 +34576,11 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y, } #endif /* HAVE_WINDOW_SYSTEM */ + /* CHARPOS can be beyond the last position of STRING due, e.g., to + min-width 'display' property. Fix that, to let all the calls to + get-text-property below do their thing. */ if (STRINGP (string)) - pos = make_fixnum (charpos); + pos = make_fixnum (min (charpos, SCHARS (string) - 1)); /* Set the help text and mouse pointer. If the mouse is on a part of the mode line without any text (e.g. past the right edge of