From 5568ac2db0fe2707676d9e4d1cfe027fba83767d Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Wed, 23 Nov 2022 16:18:55 +0200 Subject: [PATCH] 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) --- src/xdisp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 -- 2.39.5