Subject: bug#71866: 30.0.50; [macOS] Cursor hiding char behind it with certain theme customization

From: Stefan Kangas <[email-masked]>
Date: Tue, 2 Jul 2024 23:42:54 +0000

Dmitry Gutov <[email-masked]> writes:

> Repro script is attached. Disabling blink-cursor-mode is not a
> hard requirement, but it makes the bug easier to see. The font and face
> customizations are both necessary.
>
> 1. emacs -Q -l nocursor-repro.el
> 2. Type 'asdasd' (without quotes)
> 3. Move point to either of the 's' chars
> 4. Create a new frame with 'C-x 5 2'
>
> The character under cursor won't be visible - just a blank cell (the
> cursor is blank as well). Then I move point with e.g. C-f and it's
> visible again.
>
> Switching between the frames (C-x 5 o) will make the char again
> invisible, as long as the point is on an 's' (in this specific scenario,
> that is). And only in the second frame (or others created later) but not
> the first one.
>
> This only happens on my macOS machine.
>
> The face customization is a part of a 3rd party theme (tango-plus).  I'm
> pretty sure the :inverse-video customization should be a no-op but it
> isn't. Seems like a subtle bug somewhere. As a user of the theme it's
> taken me a while to narrow down the problem, so it'd be great if someone
> could look into it.

I can't reproduce that here, using the above recipe.

Maybe try upgrading to macOS 14.5 to see if the problem goes away?

In GNU Emacs 31.0.50 (build 1, aarch64-apple-darwin23.5.0, NS
 appkit-2487.60 Version 14.5 (Build 23F79)) of 2024-07-01 built on
 foo.local
Repository revision: 4008385b8d48b1a8e670ac497c3b8a12b9605a4e
Repository branch: master
Windowing system distributor 'Apple', version 10.3.2487
System Description:  macOS 14.5

> In GNU Emacs 30.0.50 (build 3, aarch64-apple-darwin23.3.0, NS
> appkit-2487.40 Version 14.3 (Build 23D56)) of 2024-06-04 built on
> dizzy.local
> Repository revision: 43c354a0004145c04bbc6adf0cfaa8c21403ad8c
> Repository branch: master
> Windowing system distributor 'Apple', version 10.3.2487
> System Description:  macOS 14.3