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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 21 Jul 2024 19:01:41 +0300

> 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?