GNU bug report logs -
#26742
Display bug with composed strings
Previous Next
Full log
Message #62 received at 26742 <at> debbugs.gnu.org (full text, mbox):
>>>>> On Wed, 03 May 2017 18:53:32 +0200, Andreas Schwab <schwab <at> linux-m68k.org> said:
>> On the Mac port, the filled box cursor disappears if I move it on
>> the composite characters. The patch below seems to work for this
>> bug. Could you try if it also solves the problems you observe?
> That fixes the disappearing box cursor, but doesn't fix the ghost
> character.
Then could you try the patch below, together with the previous one? I
downloaded some fonts (Ubuntu Mono, Latin Modern Math, and XITS Math)
and installed them, but I couldn't reproduce the problem on X11 for
macOS.
YAMAMOTO Mitsuharu
mituharu <at> math.s.chiba-u.ac.jp
diff --git a/src/xdisp.c b/src/xdisp.c
index e3315c4..ed88f4c 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -24711,7 +24725,8 @@ compute_overhangs_and_x (struct glyph_string *s, int x, int backward_p)
{
if (FRAME_RIF (s->f)->compute_glyph_string_overhangs)
FRAME_RIF (s->f)->compute_glyph_string_overhangs (s);
- x -= s->width;
+ if (!s->cmp || s->cmp_to == s->cmp->glyph_len)
+ x -= s->width;
s->x = x;
s = s->prev;
}
@@ -24723,7 +24738,8 @@ compute_overhangs_and_x (struct glyph_string *s, int x, int backward_p)
if (FRAME_RIF (s->f)->compute_glyph_string_overhangs)
FRAME_RIF (s->f)->compute_glyph_string_overhangs (s);
s->x = x;
- x += s->width;
+ if (!s->cmp || s->cmp_from == 0)
+ x += s->width;
s = s->next;
}
}
This bug report was last modified 8 years and 18 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.