From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#71866: 30.0.50; [macOS] Cursor hiding char behind it with certain theme customization Date: Tue, 2 Jul 2024 04:07:11 +0300 Message-ID: <03b9a1c2-986d-40ea-bdd6-d13b419c9aa0@gutov.dev> References: <86frstfiop.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10332"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: 71866@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jul 02 03:08:18 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sOS0H-0002PL-6M for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 02 Jul 2024 03:08:17 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOS05-00051g-Vw; Mon, 01 Jul 2024 21:08:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sOS02-00051R-K1 for bug-gnu-emacs@gnu.org; Mon, 01 Jul 2024 21:08:02 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sOS01-0001kj-Oo for bug-gnu-emacs@gnu.org; Mon, 01 Jul 2024 21:08:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sOS02-0006LV-4I for bug-gnu-emacs@gnu.org; Mon, 01 Jul 2024 21:08:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 02 Jul 2024 01:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71866 X-GNU-PR-Package: emacs Original-Received: via spool by 71866-submit@debbugs.gnu.org id=B71866.171988244324342 (code B ref 71866); Tue, 02 Jul 2024 01:08:02 +0000 Original-Received: (at 71866) by debbugs.gnu.org; 2 Jul 2024 01:07:23 +0000 Original-Received: from localhost ([127.0.0.1]:35201 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sORzO-0006KY-P4 for submit@debbugs.gnu.org; Mon, 01 Jul 2024 21:07:23 -0400 Original-Received: from fout1-smtp.messagingengine.com ([103.168.172.144]:52723) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sORzL-0006KI-C4 for 71866@debbugs.gnu.org; Mon, 01 Jul 2024 21:07:21 -0400 Original-Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailfout.nyi.internal (Postfix) with ESMTP id 63DED13802B6; Mon, 1 Jul 2024 21:07:13 -0400 (EDT) Original-Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Mon, 01 Jul 2024 21:07:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1719882433; x=1719968833; bh=tO6rO5KbP6nm6KmIjC73CoFGQ3Z9TErBlL7BXX9iqrs=; b= PwDQHap29NIykD/p724pdlujj9XEQffUFBWqo4l+Tw2zLOYRfOUVeiWiqyxe6GP7 SehUrsdLJ2rgmPBlgFG9iyb28aWnpLAHmQtdDXSbzXG/UWZPkF39kwm/D2HGSC3i 5Zjt66C2Vc8ICmeNgvRF6EZ6agr6Rrf9f0P48MYOWedDd8H7xklNNKLL/USBOtrK psp0t5mv47kESoCTuijOBIaTmoCEt6dytgJDI1zEtTQbeCG4O+xFIOyecTrYhCgL 7ZWo0bDU1lIWQpH2eSsDLOjYswM1InxnBrCu5fLyJAeFoRxabXO8b9PEL8KD9UKy KA1rueqIPzzRU1n2fYygEQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1719882433; x= 1719968833; bh=tO6rO5KbP6nm6KmIjC73CoFGQ3Z9TErBlL7BXX9iqrs=; b=Q B5wWhIrMb+UzPzd6CYIl73NRAKG/ZLaMVnS06O8zxq8nIPTSucCZ1kBiV6T3xPah 0CMabq91exLCiUxs3RUUV5loQLclOpawgePxnhv18NWaThyfKS2brhmuoHKKhh1H 6zZBu3a8r+528k6Lot13k4v3JC93biE7aTH5St2tcBf02q0LqYg0v7TVWrPaVyPv gvEowerD5TzrUjsyBITXtyJFrZh8nqoW28D//WmAjKzGnCQLP4hVK65zHEPAvpBh h7R4MdKN0KQpEBCmfilRGImrgTJbql+X+2MwFGqgPxvgxoGAGtFlqLd3KFXofcK5 BiOvfOluqXSIK+CS1nZLA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudeggdegvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddvjeenucfhrhhomhepffhmihht rhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtth gvrhhnpeetudeljeegheetgfehgeejkeeuhedvveeikeeufedtvddtveefhfdvveegudej heenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumh hithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 1 Jul 2024 21:07:12 -0400 (EDT) Content-Language: en-US In-Reply-To: <86frstfiop.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:288275 Archived-At: On 01/07/2024 14:36, Eli Zaretskii wrote: >> Date: Mon, 1 Jul 2024 06:14:28 +0300 >> From: Dmitry Gutov >> >> 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. > > This is definitely macOS specific. I cannot reproduce on my system > (although by some miracle I do have the Cascadia Mono font installed). > Basically, what happens is that redisplay has some bug in how it draws > the cursor. Given all the tricks that redisplay plays on macOS, I'm > not surprised. Indeed, it never happens on my Linux system either. Thanks for checking anyway. > On other platforms, the code which draws the cursor is in draw_glyphs, > called from XXX_draw_window_cursor function (where XXX is the GUI > backend, in your case probably XXX = ns). If the same is true on > macOS, you could try stepping through that code. I can try following some more detailed instructions. I.e. I can set up a breakpoint, but would there be anything to look out for when stepping through the code? BTW, this happens only right after I switch frames. Things start looking right again if I simply move point. >> 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. > > So if inverse-video is not used, the problem goes away? If so, just > don't use it. Yeah, I plan on submitting a patch to that effect to the theme. But the bug looks odd enough and the same time very stable, that I think it's worth investigating.