From: Eli Zaretskii Date: Mon, 4 Dec 2023 13:10:06 +0000 (+0200) Subject: Avoid infloop with wide images X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7a7d41e07c4627c5de08a66368309b478c88edfc;p=emacs.git Avoid infloop with wide images * src/xdisp.c (produce_image_glyph): Avoid inflooping under visual-line-mode when wide images are displayed. (Bug#67533) --- diff --git a/src/xdisp.c b/src/xdisp.c index ca8583869df..75d769600c4 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -31364,7 +31364,10 @@ produce_image_glyph (struct it *it) the cursor on same display row. But don't do that under word-wrap, unless the image starts at column zero, because wrapping correctly needs the real pixel width of the image. */ - if ((it->line_wrap != WORD_WRAP || it->hpos == 0) + if ((it->line_wrap != WORD_WRAP + || it->hpos == 0 + /* Always crop images larger than the window-width, minus 1 space. */ + || it->pixel_width > it->last_visible_x - FRAME_COLUMN_WIDTH (it->f)) && (crop = it->pixel_width - (it->last_visible_x - it->current_x), crop > 0) && (it->hpos == 0 || it->pixel_width > it->last_visible_x / 4))