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

From: Yixuan Chen <[email-masked]>
Date: Sun, 27 Oct 2024 15:36:06 -0400

On 10/27/24 15:14, Eli Zaretskii wrote:
>> Date: Sun, 27 Oct 2024 13:46:55 -0400
>> Cc: [email-masked], [email-masked], [email-masked]
>> From: Yixuan Chen <[email-masked]>
>>
>>> Sorry, I still don't understand.  Your code does
>>>
>>>     (highlight-lines-matching-regexp (cdr face) (car face))
>>>
>>> This potentially shows each line in a different face, and thus can
>>> affect the metrics of the SPC character glyph which is what the
>>> indentation is made of.  So why is this a problem, let alone a bug?
>>
>> The problem is executing that line at 10PM today may render the font one
>> way, while executing that line at 6AM tomorrow (with exactly the same
>> "face" variable) may render the font a different way, even if all the
>> other variables remains the same.
> 
> But you modify the faces in a random fashion, so why is this a
> surprise that it is not deterministic?

I said,

 > ... (with exactly the same "face" variable) ... even if all the
 > other variables remains the same.

Yes, this script is modifying the scripts in a random fashion, but let's 
imagine this:

1. the first time I open emacs, start the script and it randomizes the 
first line to a combination of face attributes (let's say (16, bold, 
regular)) in 5 seconds after going through 50 different combinations, it 
looks one way.

2. I restart emacs, start the script and it randomizes the first line to 
the same combination of face attributes (16, bold, regular) in 5 minutes 
after going through 3000 combinations, it looks differently from the 
first time,

Do you agree that in both cases that single line should look the same? 
And they should always look the same as long as the randomization hits 
(16, bold, regular) on that line regardless of time and previous history?