bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#26742: Display bug with composed strings


From: YAMAMOTO Mitsuharu
Subject: bug#26742: Display bug with composed strings
Date: Thu, 04 May 2017 14:39:16 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Wed, 03 May 2017 18:53:32 +0200, Andreas Schwab 
>>>>> <schwab@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@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;
        }
     }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]