On Sun, May 31, 2020 at 6:01 PM Eli Zaretskii wrote: > > Date: Sun, 31 May 2020 20:50:07 +0300 > > From: Eli Zaretskii > > Cc: 41454@debbugs.gnu.org > > > > The problem is that the entire sequence of characters that matches > > the regexp is passed to the shaper, and the result is stored as a > > single composition. And we have special code in the display engine > > not to break sequences of potentially-composed characters when > > handling faces (see compute_stop_pos). So I think there might be > > some bug there which shows when a composition comprises more than a > > single grapheme cluster, and some face is applied to them. > > On second thought, I'm not sure this is the right place to look at. > It could be fill_gstring_glyph_string and BUILD_GSTRING_GLYPH_STRING > instead (and the respective *term.c display functions). Thanks for the hint! You were absolutely correct.