Subject: bug#41454: 28.0.50; [".+" 0 font-shape-gstring] composition rule breaks paren highlighting

From: Eli Zaretskii <[email-masked]>
Date: Sun, 31 May 2020 21:01:44 +0300

> Date: Sun, 31 May 2020 20:50:07 +0300
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked]
> 
> 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).