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: Visuwesh <visuweshm <at> gmail.com>
Cc: dev <at> real-or-random.org, xuan <at> xlk.me, 73752 <at> debbugs.gnu.org
Subject: bug#73752: 29.4; Ligatures are randomly rendered with extra spaces
Date: Sat, 02 Nov 2024 19:44:31 +0200
> From: Visuwesh <visuweshm <at> gmail.com>
> Cc: dev <at> real-or-random.org,  xuan <at> xlk.me,  73752 <at> debbugs.gnu.org
> Date: Sat, 02 Nov 2024 23:09:40 +0530
> 
> [சனி நவம்பர் 02, 2024] Eli Zaretskii wrote:
> 
> >> >> >  What does GDB show if you type
> >> >> >
> >> >> >   (gdb) p LGLYPH_ADJUSTMENT(lglyph)
> >> >> >   (gdb) p Qnil
> >> >> 
> >> >>     (gdb) p LGLYPH_ADJUSTMENT(lglyph)
> >> >>     $3 = XIL(0)
> >> >>     (gdb) p Qnil
> >> >>     $4 = XIL(0)
> >> >
> >> > OK, but then why did the breakpoint break, when the condition is
> >> > obviously false: LGLYPH_ADJUSTMENT(lglyph) == Qnil.
> >> >
> >> > What happens if you type this:
> >> >
> >> >   (gdb) p Qnil+0
> >> 
> >>     (gdb) p Qnil+0
> >>     Attempt to take address of value not located in memory.
> >
> > And this:
> >
> >   (gdb) ptype Qnil
> 
>     (gdb) ptype Qnil
>     type = struct Lisp_Object {
>         Lisp_Word i;
>     }

Ah, that explains the problem.  Then please change the breakpoint
condition to say this instead, and re-run the experiment:

 break hbfont.c:598 if xoff == 0 && yoff == 0 && wadjust == metrics.width && ((struct Lisp_Object)LGLYPH_ADJUSTMENT(lglyph)).i != 0




This bug report was last modified 251 days ago.

Previous Next


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