GNU bug report logs - #73752
29.4; Ligatures are randomly rendered with extra spaces

Previous Next

Package: emacs;

Reported by: xuan <at> xlk.me

Date: Fri, 11 Oct 2024 21:40:02 UTC

Severity: normal

Merged with 54646

Found in versions 29.0.50, 29.4

Fixed in version 30.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Yixuan Chen <xuan <at> xlk.me>
Cc: luangruo <at> yahoo.com, 73752 <at> debbugs.gnu.org, visuweshm <at> gmail.com
Subject: bug#73752: 29.4; Ligatures are randomly rendered with extra spaces
Date: Sun, 27 Oct 2024 21:44:49 +0200
> Date: Sun, 27 Oct 2024 15:36:06 -0400
> Cc: visuweshm <at> gmail.com, luangruo <at> yahoo.com, 73752 <at> debbugs.gnu.org
> From: Yixuan Chen <xuan <at> xlk.me>
> 
> On 10/27/24 15:14, Eli Zaretskii wrote:
> >> Date: Sun, 27 Oct 2024 13:46:55 -0400
> >> Cc: visuweshm <at> gmail.com, luangruo <at> yahoo.com, 73752 <at> debbugs.gnu.org
> >> From: Yixuan Chen <xuan <at> xlk.me>
> >>
> >>> 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?

That depends when redisplay kicks in, between your face
randomizations.  Among other factors.

And I still fail to understand why this largely artificial program is
important to investigate.  Are there any real-life cases where you see
the same face displayed differently when ligatures are involved?  If
not, what useful stuff will we learn by digging into this, especially
since reproducing the problem is so hard?




This bug report was last modified 252 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.