Subject: bug#73752: 29.4; Ligatures are randomly rendered with extra spaces

From: Eli Zaretskii <[email-masked]>
Date: Thu, 07 Nov 2024 16:40:49 +0200

> From: Visuwesh <[email-masked]>
> Cc: Tim Ruffing <[email-masked]>,  [email-masked],
>   [email-masked],  [email-masked]
> Date: Thu, 07 Nov 2024 19:15:30 +0530
> 
> [வியாழன் நவம்பர் 07, 2024] Eli Zaretskii wrote:
> 
> >> From: Tim Ruffing <[email-masked]>
> >> Cc: [email-masked], [email-masked], [email-masked], 
> >> 	[email-masked]
> >> Date: Thu, 07 Nov 2024 03:12:19 +0100
> >> 
> >> On Wed, 2024-11-06 at 15:11 +0200, Eli Zaretskii wrote:
> >> > 
> >> > 
> >> > Thanks.  Can you try calling hb_font_destroy in
> >> > ftcrhbfont_end_hb_font
> >> > and setting ftcrfont_info->hb_font to NULL right after that?  If that
> >> > solves the problem, we could at least install this for now, until we
> >> > have a better solution (if one exists).
> >> 
> >> Yes, that appears to work. And I don't think there's an obvious better
> >> solution. See attached patch.
> >
> > Thanks.  Visuwesh, does this patch fix your problem as well?
> 
> I cannot reproduce the original issue but it leads to following
> backtrace when I visit dinamalar.com in eww, and click on any of the
> links coloured in blue: say the one under the heading named "வாராவாரம்".
> Directly visiting a link doesn't produce the backtrace though.  I need
> to visit a webpage with Tamil text on it twice to trigger it.  It might
> well be a false warning since I see the warning
> 
>     Warning: program compiled against libxml 212 using older 209
>     Warning: program compiled against libxml 212 using older 209
> 
> in stderr printed.  I updated my system (kernel updates included) but
> haven't restarted it yet.  Of course, I built Emacs _after_ the update.
> If you want me to restart and check if you believe it is a false
> warning, I am to do so.  Maybe a `make bootstrap' or somesuch is also in
> order?

This abort is unrelated: I also get it, with no changes at all, and
also in Emacs 30.  It looks like we fail to decode the text there, and
a buffer ends up with an invalid byte sequence, which triggers an
assertion violation.  Please open a separate bug report about that.

As for this bug, I will install the patch soon, thanks to all for the
efforts to investigate this tricky bug.