Subject: Re: bug#19496: 25.0.50; term.c, produce_composite_glyh, cmp->pixel_width uninitialized

From: Eli Zaretskii <[email-masked]>
Date: Sat, 03 Jan 2015 20:17:26 +0200

> From: "Stephen C. Gilardi" <[email-masked]>
> Date: Sat, 3 Jan 2015 09:20:52 -0500
> 
> emacs -Q
> open an emacs lisp file that contains (lambda ... )
> turn on prettify-symbols-mode
> the lambda form is converted to (λ ... ), and should be displayed that way, but instead it's displayed as
> (\
> λ
>  ...)
> 
> This commit is the first on master to show the problem: 20791069fa34b486c018ba7f27982bdc6ad2a4ea (found by git bisect)

I think that commit was mistaken, and should be reverted, because
before it this worked correctly.  CC'ing Paul, who made the change,
and Handa-san, who probably wrote it.

Paul, was there a use case where you saw a problem with the original
code?  If so, can you show it?

> I don't see an obvious fix.

Why do you think the previous code is not TRT?

> There seems to be some confusing use in the code between "width in columns" and "width in pixels". It's possible that the pixel_width field in "struct it" is not named precisely for how it’s used--in a terminal, the width may actually be used as a number of columns rather than a number of pixels.

On a text terminal, each glyph is 1 pixel wide.  So on a text terminal
these two are identical.