Subject: Re: bug#72230: 29.4; Cursor Disappears with Hebrew Text

From: hermann sorgel <[email-masked]>
Date: Sun, 21 Jul 2024 20:31:54 +0300

Here is the same code
<https://bitbucket.org/mituharu/emacs-mac/src/master/src/nsterm.m#lines-3119>
 with s.size.width in the working fork. It does not look that anything has
changed in 29.4.

On Sun, Jul 21, 2024 at 7:01 PM Eli Zaretskii <[email-masked]> wrote:

> > Cc: [email-masked]
> > Date: Sun, 21 Jul 2024 18:46:58 +0300
> > From: Eli Zaretskii <[email-masked]>
> >
> > Thanks.  I cannot reproduce this on my system, but I'm not on macOS.
> > Maybe this is specific to macOS?  Can a macOS user please try
> > reproducing this?
>
> And I think I see the problem.  This fragment of nsterm.m:
>
>     case BAR_CURSOR:
>       s = r;
>       /* If the character under cursor is R2L, draw the bar cursor
>          on the right of its glyph, rather than on the left.  */
>       cursor_glyph = get_phys_cursor_glyph (w);
>       if ((cursor_glyph->resolved_level & 1) != 0)
>         s.origin.x += cursor_glyph->pixel_width - s.size.width;
>
> is incorrect: it should use the value of the cursor_width argument,
> not s.size.width.  Can someone who is capable of building Emacs on
> macOS please try copying more closely the code from xterm.c or
> w32term.c that draws the bar cursor, and see if that solves the
> problem?
>