From ca20315501e780263d5544b347d064210daf6db2 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 29 Jun 2019 12:48:15 +0300 Subject: [PATCH] Fix display of fringe bitmaps for tooltips in echo area * src/xdisp.c (display_line): Force redrawing of fringe bitmaps when redisplaying a minibuffer window with truncate-lines set to a non-nil value. (Bug#36308) --- src/xdisp.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/xdisp.c b/src/xdisp.c index 9f63ef4b180..48b0edaa76b 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -22528,6 +22528,15 @@ display_line (struct it *it, int cursor_vpos) it->right_user_fringe_bitmap = 0; it->right_user_fringe_face_id = 0; + /* When they turn off tooltip-mode on a GUI frame, we call 'message' + with message-truncate-lines bound to non-nil, which produces + truncation bitmaps on the fringe. Force redrawing of the fringes + in that case, to make sure the fringe bitmaps are removed when a + shorter message is displayed. */ + if (MINI_WINDOW_P (it->w) && it->line_wrap == TRUNCATE + && FRAME_WINDOW_P (it->f) && !cursor_in_echo_area) + row->redraw_fringe_bitmaps_p = true; + /* Maybe set the cursor. */ cvpos = it->w->cursor.vpos; if ((cvpos < 0 -- 2.39.2