From unknown Tue Aug 19 21:03:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71763: [PATCH] Inconsistency in bitmap overlay drawing for macOS Resent-From: Daniel Pettersson Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 24 Jun 2024 22:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 71763 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 71763@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.171926680730050 (code B ref -1); Mon, 24 Jun 2024 22:07:01 +0000 Received: (at submit) by debbugs.gnu.org; 24 Jun 2024 22:06:47 +0000 Received: from localhost ([127.0.0.1]:35756 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sLrpn-0007ob-5V for submit@debbugs.gnu.org; Mon, 24 Jun 2024 18:06:47 -0400 Received: from lists.gnu.org ([209.51.188.17]:51076) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sLrpl-0007oT-CQ for submit@debbugs.gnu.org; Mon, 24 Jun 2024 18:06:46 -0400 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 1sLrnd-0002Rq-T4 for bug-gnu-emacs@gnu.org; Mon, 24 Jun 2024 18:04:33 -0400 Received: from mail-lj1-f173.google.com ([209.85.208.173]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sLrnb-0004rG-Un for bug-gnu-emacs@gnu.org; Mon, 24 Jun 2024 18:04:33 -0400 Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-2ec52fbb50aso32254551fa.3 for ; Mon, 24 Jun 2024 15:04:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719266669; x=1719871469; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=shmTltRiX9vTur5qHfh86NnrJZsVHATlcnZOMk662j0=; b=r9CQdGpiL+9ABjVe9QlOd8jLEpbG81PwQ9FqijsSYC9MafBuAb6gIIGKyZMvbH3A+H eJIb8eXYR2yv6pGlD8adG4+Xyw1i0b0jXB0EJNYDIvLv85NNgqNDAYrp5Z2z62sQlv8Q RoT7dfmyIdBdMNJ7TsV0RDhLFAYRUzyJaJx8y3mu72nl6Gica5/J/91j03U3SsB9E5Gr wQXyVroHuDsZV6VyYpZjwEKvgY2XQkahDmDGbnp5ra/jXaq+Sf4PXgozf7sGqinVE5Ca eyS0hv4Iq7y5DqkrJp6TJChMq78VNmyiqXilSAitLH9du988CGMyeqvqc970lb78jtx5 1/YA== X-Gm-Message-State: AOJu0YzGf1Wal+ZFjvwbeA8kS0XRy3mbkKCyJXRToCn9O5qL62bJrm7z 3rb5k/dLfL05BIANXex2eyIU0t/8G/RiM90CORuSYoVjXTKdUYULZKp5SA== X-Google-Smtp-Source: AGHT+IHu44aM9RsADtrTlpietjXmBjKCkpsK5ZJvpA4/t2xujh7RIGZkp0UCO1a6H8GGls7Q9Wt4tw== X-Received: by 2002:a05:651c:152:b0:2ec:5785:ee97 with SMTP id 38308e7fff4ca-2ec5b36c1afmr38879041fa.53.1719266668741; Mon, 24 Jun 2024 15:04:28 -0700 (PDT) Received: from Daniels-Air (c-72cde455.027-357-6d6c6d4.bbcust.telenor.se. [85.228.205.114]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-2ec64af4afdsm2139601fa.55.2024.06.24.15.04.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Jun 2024 15:04:28 -0700 (PDT) From: Daniel Pettersson Date: Tue, 25 Jun 2024 00:04:27 +0200 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=209.85.208.173; envelope-from=daniel.dpettersson.net@gmail.com; helo=mail-lj1-f173.google.com X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.1 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) --=-=-= Content-Type: text/plain On macOS overlay-arrow is not draw on top of bitmaps already present in the fringe, like its done on X Window System (src/xterm.c). This is to the detriment of gdb-mi.el where the overlay-arrow hides the breakpoint when they exist on the same row. It can be reproduced with the following: (require 'gdb-mi) (defvar overlay-arrow (make-marker)) (add-to-list 'overlay-arrow-variable-list 'overlay-arrow) (setq fringe-indicator-alist '((overlay-arrow . hollow-right-triangle))) (overlay-put (make-overlay (pos-bol) (1+ (pos-bol))) 'before-string (propertize " " 'display `(left-fringe breakpoint warning))) (move-marker overlay-arrow (pos-bol)) I expect that macOS is not using overlay_p param as intended as fixed by attached patch. But I was having an hard time finding any documentation proving my point other then the implementation of it's X Window System sibling in src/xterm.c. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Fix-inconsistency-in-bitmap-overlay-drawing-for-macO.patch >From 492a26a4296fc8a7558b488796840c22c977d75c Mon Sep 17 00:00:00 2001 From: Daniel Pettersson Date: Mon, 24 Jun 2024 23:16:59 +0200 Subject: [PATCH] Fix inconsistency in bitmap overlay drawing for macOS * src/nsterm.m (ns_draw_fringe_bitmap): Respect overlay_p by not clearing fringe if set, as its done in xterm. --- src/nsterm.m | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/nsterm.m b/src/nsterm.m index 794630de1c1..fc9133071ed 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -2961,24 +2961,28 @@ Hide the window (X11 semantics) NSTRACE_MSG ("which:%d cursor:%d overlay:%d width:%d height:%d period:%d", p->which, p->cursor_p, p->overlay_p, p->wd, p->h, p->dh); - /* Work out the rectangle we will need to clear. */ - clearRect = NSMakeRect (p->x, p->y, p->wd, p->h); + /* Clear screen unless overlay. */ + if ( !p->overlay_p ) + { + /* Work out the rectangle we will need to clear. */ + clearRect = NSMakeRect (p->x, p->y, p->wd, p->h); - if (p->bx >= 0 && !p->overlay_p) - clearRect = NSUnionRect (clearRect, NSMakeRect (p->bx, p->by, p->nx, p->ny)); + if ( p->bx >= 0 ) + clearRect = NSUnionRect (clearRect, NSMakeRect (p->bx, p->by, p->nx, p->ny)); - /* Handle partially visible rows. */ - clearRect = NSIntersectionRect (clearRect, rowRect); + /* Handle partially visible rows. */ + clearRect = NSIntersectionRect (clearRect, rowRect); - /* The visible portion of imageRect will always be contained within - clearRect. */ - ns_focus (f, &clearRect, 1); - if (! NSIsEmptyRect (clearRect)) - { - NSTRACE_RECT ("clearRect", clearRect); + /* The visible portion of imageRect will always be contained + within clearRect. */ + ns_focus (f, &clearRect, 1); + if ( !NSIsEmptyRect (clearRect) ) + { + NSTRACE_RECT ("clearRect", clearRect); - [[NSColor colorWithUnsignedLong:face->background] set]; - NSRectFill (clearRect); + [[NSColor colorWithUnsignedLong:face->background] set]; + NSRectFill (clearRect); + } } NSBezierPath *bmp = [fringe_bmp objectForKey:[NSNumber numberWithInt:p->which]]; -- 2.39.3 (Apple Git-145) --=-=-= Content-Type: text/plain In GNU Emacs 30.0.50 (build 1, aarch64-apple-darwin23.1.0, NS appkit-2487.20 Version 14.1.1 (Build 23B81)) of 2024-06-24 built on Daniels-Air Windowing system distributor 'Apple', version 10.3.2487 System Description: macOS 14.1.1 Configured using: 'configure --with-xwidgets' Configured features: ACL DBUS GLIB GNUTLS LCMS2 LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM XWIDGETS ZLIB --=-=-=-- From unknown Tue Aug 19 21:03:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71763: [PATCH] Inconsistency in bitmap overlay drawing for macOS Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 27 Jun 2024 09:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71763 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Daniel Pettersson Cc: 71763@debbugs.gnu.org Received: via spool by 71763-submit@debbugs.gnu.org id=B71763.17194809322537 (code B ref 71763); Thu, 27 Jun 2024 09:36:01 +0000 Received: (at 71763) by debbugs.gnu.org; 27 Jun 2024 09:35:32 +0000 Received: from localhost ([127.0.0.1]:41029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sMlXQ-0000eq-Gc for submit@debbugs.gnu.org; Thu, 27 Jun 2024 05:35:32 -0400 Received: from eggs.gnu.org ([209.51.188.92]:37176) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sMlXP-0000ec-4k for 71763@debbugs.gnu.org; Thu, 27 Jun 2024 05:35:31 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sMlXG-0007ZL-M2; Thu, 27 Jun 2024 05:35:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=TGbbYeGnANUQnjS5CBXgi/JuhTtuITeqe9+98/O00GM=; b=SzBEQgKNlWEk vwNiY1HooQqlADhvfnX3tNhsu1QmXCar7R/Zf1PeRSpOYUFowOHXy4RhIb4oCH77a64hhRArm22AD kTDU8wcr3oz2PHditmNIUCZBugCbfJgJuQeEBF8IRC9afBt+RmYj9U6JsaWojLyB3ZUOoY/mT0c+V 7wz38IZ8/N8RQz+PJXRfZj7dZ1SxLCuiWFz5XgUNEQdBDzE8kueqSsL8xRTuaoIsTBaSDby6hUJkP ySp1VX7xoiO5UxVQLOv0wmlM1Xw2cJCsh7DUw2gvmXqvPp0vjx7jxUQdtJbpUldiNzr5LEtDSxk3j hVVjc5w1YE5jG+QRtXveVw==; Date: Thu, 27 Jun 2024 12:35:19 +0300 Message-Id: <86frsy684o.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Daniel Pettersson on Tue, 25 Jun 2024 00:04:27 +0200) References: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Daniel Pettersson > Date: Tue, 25 Jun 2024 00:04:27 +0200 > > On macOS overlay-arrow is not draw on top of bitmaps already present > in the fringe, like its done on X Window System (src/xterm.c). This is > to the detriment of gdb-mi.el where the overlay-arrow hides the > breakpoint when they exist on the same row. > > It can be reproduced with the following: > (require 'gdb-mi) > (defvar overlay-arrow (make-marker)) > (add-to-list 'overlay-arrow-variable-list 'overlay-arrow) > (setq fringe-indicator-alist '((overlay-arrow . hollow-right-triangle))) > (overlay-put (make-overlay (pos-bol) (1+ (pos-bol))) 'before-string > (propertize " " 'display > `(left-fringe breakpoint warning))) > (move-marker overlay-arrow (pos-bol)) > > I expect that macOS is not using overlay_p param as intended as fixed by > attached patch. But I was having an hard time finding any documentation > proving my point other then the implementation of it's X Window System > sibling in src/xterm.c. Can some macOS expert please review the proposed patch? From unknown Tue Aug 19 21:03:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71763: [PATCH] Inconsistency in bitmap overlay drawing for macOS Resent-From: Daniel Pettersson Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 27 Oct 2024 10:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71763 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 71763@debbugs.gnu.org Received: via spool by 71763-submit@debbugs.gnu.org id=B71763.173002485123567 (code B ref 71763); Sun, 27 Oct 2024 10:28:01 +0000 Received: (at 71763) by debbugs.gnu.org; 27 Oct 2024 10:27:31 +0000 Received: from localhost ([127.0.0.1]:43926 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t50Uc-000682-Kn for submit@debbugs.gnu.org; Sun, 27 Oct 2024 06:27:30 -0400 Received: from mail-lj1-f169.google.com ([209.85.208.169]:49527) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t50Ua-00067u-Lm for 71763@debbugs.gnu.org; Sun, 27 Oct 2024 06:27:29 -0400 Received: by mail-lj1-f169.google.com with SMTP id 38308e7fff4ca-2fb59652cb9so32890391fa.3 for <71763@debbugs.gnu.org>; Sun, 27 Oct 2024 03:26:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730024813; x=1730629613; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=/f4iyfXd5pl6RG5LPd8d1CV1sm2ZGS3pT8sG9UFnHJQ=; b=lpEdfdpqG5M2T/QEMLr7dWXQ7tB36A4uwF3qyxXkUyZuJxUHb/9DKAZ20kbL6WlqkG e+YGmosbDJpKMOK1SoYHG38wGELalyLEEazDa6ZhX/tPpTNz4QSF7r5Zsa8fKFtSURGg Fcj1cYugiRR4LB/eJrZUF5SY2MEXflzlijRPxqZKVEugNsBhoiteOsS6oeJSbZeEkiH1 Hv3JSjgmFwGLMC11DeWF6J2nFUX+esSPnj0/HNOGvjhAsy6qYtu9DoNZ/VVmQ3Sd2MuC FEoT3qQOt1KUngUCpARnb9QI0qTOGUA1yVNMU41FnnUh30861b89Lim9XwwmUjysHMTc NBfg== X-Gm-Message-State: AOJu0Yxc0VeK/IXl5SmaYc2tG2O2CSOT5hQmEAJbA26/+msFku00UO6Z jubiQkVMv/Ln2UBWCJjwvyKAMSPwIQ+0RnO925LJ9c81bt4VOrwMTyMvgA== X-Google-Smtp-Source: AGHT+IGK3LApiZwR0qNZFkf4EO4YOOizkpFBKyeih0st3BEowQrBuQsFgA8lKqfxJKmwyE44jsNp6w== X-Received: by 2002:a05:651c:2204:b0:2fb:955e:5c17 with SMTP id 38308e7fff4ca-2fcbe089a94mr17605871fa.40.1730024812204; Sun, 27 Oct 2024 03:26:52 -0700 (PDT) Received: from Daniels-Air (c-85-228-201-151.bbcust.telenor.se. [85.228.201.151]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-2fcb4507eb4sm8312071fa.16.2024.10.27.03.26.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 03:26:51 -0700 (PDT) From: Daniel Pettersson In-Reply-To: <86frsy684o.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 27 Jun 2024 12:35:19 +0300") References: <86frsy684o.fsf@gnu.org> Date: Sun, 27 Oct 2024 11:26:50 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Eli Zaretskii writes: > Can some macOS expert please review the proposed patch? Seems like they are hard to come by. I have been using this patch since I reported the bug, how can I help move this along? From unknown Tue Aug 19 21:03:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71763: [PATCH] Inconsistency in bitmap overlay drawing for macOS Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 27 Oct 2024 12:06:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71763 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Daniel Pettersson , Gerd =?UTF-8?Q?M=C3=B6llmann?= Cc: 71763@debbugs.gnu.org Received: via spool by 71763-submit@debbugs.gnu.org id=B71763.17300307129278 (code B ref 71763); Sun, 27 Oct 2024 12:06:01 +0000 Received: (at 71763) by debbugs.gnu.org; 27 Oct 2024 12:05:12 +0000 Received: from localhost ([127.0.0.1]:44158 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5219-0002Pa-Ti for submit@debbugs.gnu.org; Sun, 27 Oct 2024 08:05:12 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43940) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5217-0002PK-S9 for 71763@debbugs.gnu.org; Sun, 27 Oct 2024 08:05:10 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t51yM-00072l-KI; Sun, 27 Oct 2024 08:02:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=UBiJbo9mBwWkeJ5Y3w7pnAv623jOV8X/F02Fy9+D2g8=; b=Cmo21EVZiUsxQGTGnYGx ChwabamOY117o/YQ7we9A89n3/+delqxrJGgVtEVPUwPlq98xvGf0OY6MMAAWCMHX/psCIENG2LBr x6Yc5xVb/7POCwXwXPDPoiyXmIRRx/MVvyD4ehNcQv5RjEUNgtrqkPcrMbROqD+NJ7kDwnpNPAyzR ce6BpbHjcknkjgBam1tH/Euvb8N+o/NU3foKdsBN6XHISms7sG8yv/LvIHJ45cNtVF+WVzeXdHFMb 24guLzbSTnypXqUepcxQCn7EactFPTAU/P1SIIF9W1TflAD+tucnFPsojT8BFO6lych2lBJ8jZhqB NxJ96OcqrxCydA==; Date: Sun, 27 Oct 2024 14:02:16 +0200 Message-Id: <86ttcx92k7.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Daniel Pettersson on Sun, 27 Oct 2024 11:26:50 +0100) References: <86frsy684o.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Daniel Pettersson > Cc: 71763@debbugs.gnu.org > Date: Sun, 27 Oct 2024 11:26:50 +0100 > > Eli Zaretskii writes: > > > Can some macOS expert please review the proposed patch? > Seems like they are hard to come by. > > I have been using this patch since I reported the bug, how can I help > move this along? Thanks, but maybe Gerd (CCed) will agree to look at this? From unknown Tue Aug 19 21:03:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71763: [PATCH] Inconsistency in bitmap overlay drawing for macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 27 Oct 2024 13:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71763 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 71763@debbugs.gnu.org, Daniel Pettersson Received: via spool by 71763-submit@debbugs.gnu.org id=B71763.173003553723917 (code B ref 71763); Sun, 27 Oct 2024 13:26:01 +0000 Received: (at 71763) by debbugs.gnu.org; 27 Oct 2024 13:25:37 +0000 Received: from localhost ([127.0.0.1]:44277 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t53Gy-0006Df-5Q for submit@debbugs.gnu.org; Sun, 27 Oct 2024 09:25:36 -0400 Received: from mail-wr1-f52.google.com ([209.85.221.52]:54780) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t53Gu-0006DG-SJ for 71763@debbugs.gnu.org; Sun, 27 Oct 2024 09:25:34 -0400 Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-37d6a2aa748so2279463f8f.1 for <71763@debbugs.gnu.org>; Sun, 27 Oct 2024 06:24:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730035432; x=1730640232; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=I1Kf2oR0N+0Ba2h9gAuiorRpINP0HnV5Vu3gZHDdfIQ=; b=KZ7KR9Mnyl1dU30oDK9R33h8hLAS0JA9SQR2M08ckCQLL7r7WZnq7kNgUJVUp7V0y6 5WUV2di3SZvdyzVgisY/xuCE2dhhlq1wzR3OEHD6UedfUCwsJBW1NQ/UPeoSC5euGVLa K1LY16Y9IKy/6xqnpzwFW+DWprf7T7ZAvWNHQEUiZ7YoRBV3+NMeRkuHTYfSY7+Ld1jO 4mOE0aUFwG4iL7kf8x378A4biNJlzjgvBWPPG8p2hQf3KZh1VjI2nJxjunaqMJr9TWOs /2qYYpEbKMQGJplHZtjGOk457R3XJoSXU0pUZpFYH4v8t6e1eJF5GzjNf//ZbCD4ubGO b3Xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730035432; x=1730640232; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=I1Kf2oR0N+0Ba2h9gAuiorRpINP0HnV5Vu3gZHDdfIQ=; b=iMOytdgw4Zogx3mSZDCvfPk/oWYdFGn4pGYeXXXbkS10vRi/O7YRC972nJPtlfQHV5 1BHphzjzaWbMoOGLu2dtNpfckTsthM28gOxT/ucVMEnXmyTwAqMCs54fRjWuCn8Kf4mn Aph7gJzVDL21bMD3RzNrV3QY8Shm198FHF8XTNRL/e+ef2yLhg2fFeJvk3/ItyAf2qgF 6+2qsUYG1m9wWSTXSve10IIBk7VuvNMUHn7Fb69y5VA8md+11RH6Rt1e6RCs0vEWxqL1 9Mk4+oYYKP8wwf31X0LRhWWitKZhRhDfsdUkwcpxkL4+A6ZqQk7vP+lHuT369VKT+K0x icMA== X-Forwarded-Encrypted: i=1; AJvYcCXU0041g9ASP6vs1XG86i/1GdDL9JIqMP4acJghvlj7WPiKUC+zAZPT3P8OBL+GXvhg+1PjYg==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwYR8hkP7hNCiH26KO2rVpQEnXBhhqfn/D96A2pyVeQhV1ZrOC2 U4b/apNl9R9n8ygsUO1V1DlC2ARPXD51gJLuH4jWNn77fZBNd5ifYY5M6g== X-Google-Smtp-Source: AGHT+IE7bbgbMMlnsN9uhb1evstDQFbtDQCraONhebwUMOFf0KqDmG+iudD5LVvdC0nLwwH7sRv3Tg== X-Received: by 2002:adf:fa07:0:b0:37d:5429:9004 with SMTP id ffacd0b85a97d-380610f46fcmr4095183f8f.3.1730035431582; Sun, 27 Oct 2024 06:23:51 -0700 (PDT) Received: from pro2 (p4fe3a5dd.dip0.t-ipconnect.de. [79.227.165.221]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-431935f8820sm75854965e9.30.2024.10.27.06.23.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 06:23:50 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: <86ttcx92k7.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 27 Oct 2024 14:02:16 +0200") References: <86frsy684o.fsf@gnu.org> <86ttcx92k7.fsf@gnu.org> Date: Sun, 27 Oct 2024 14:23:49 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> From: Daniel Pettersson >> Cc: 71763@debbugs.gnu.org >> Date: Sun, 27 Oct 2024 11:26:50 +0100 >> >> Eli Zaretskii writes: >> >> > Can some macOS expert please review the proposed patch? >> Seems like they are hard to come by. >> >> I have been using this patch since I reported the bug, how can I help >> move this along? > > Thanks, but maybe Gerd (CCed) will agree to look at this? The struct draw_fringe_bitmap_params is not documented very well, so I've looked at fringe.c for what its overlay_p member means. I landed in draw_fringe_bitmap_1, where draw_fringe_bitmap_params::overlay_p is set if that function is called with an overlay parameter that fits some criterion, which one can try to figure out in its caller draw_fringe_bitmap. It apparently has something to do with drawing a cursor in a fringe, and then also drawing an overlay arrow. Didn't even know until a few minutes ago that the cursor can land in the fringe. And I'm wondering if that ever happens in the left fringe, and/or if the overlay arrow appears only on the left. Questions upon questions, as usual. Anyway. Assuming that I read the code correctly, that we are drawing a cursor and overlay arrow on top of each other, then I think Daniel's patch makes sense, because drawing the overlay arrow should not clear under it and erase what was drawn for the cursor before. That's about what I could find out. NS should do something different if overlay_p is set or not, I think that's for sure. And if Daniel says it works, that's goog enough for me I guess. From unknown Tue Aug 19 21:03:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71763: [PATCH] Inconsistency in bitmap overlay drawing for macOS Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 27 Oct 2024 13:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71763 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Gerd =?UTF-8?Q?M=C3=B6llmann?= Cc: 71763@debbugs.gnu.org, daniel@dpettersson.net Received: via spool by 71763-submit@debbugs.gnu.org id=B71763.173003652327137 (code B ref 71763); Sun, 27 Oct 2024 13:43:02 +0000 Received: (at 71763) by debbugs.gnu.org; 27 Oct 2024 13:42:03 +0000 Received: from localhost ([127.0.0.1]:44310 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t53Ws-00073X-JS for submit@debbugs.gnu.org; Sun, 27 Oct 2024 09:42:03 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46000) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t53Wq-00072w-I6 for 71763@debbugs.gnu.org; Sun, 27 Oct 2024 09:42:01 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t53WB-0000TO-No; Sun, 27 Oct 2024 09:41:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=MlD7bk676ezm8Cd8ywCc5h0KPjEy+CTG9JxYJPoHBTY=; b=sQnMmfsTiy/eg0M2pJKF soTwNWwTIkeWl1PtxS5vIcyBvW3jSGmXAzSAwVOuuE+LConl3tWi4suzVpQfHFPbhYiSxjE0gkDUf 0K9zibQWQQveWdkYstb4PmLwJ8Z9/QwXBCuYn7VK7nr/vS9aQqzkjjwg0IGq0PjXO4ZwXsKam5rqn eQzA++1mIfaPolwcxtsPJZAV0+P3fomuRDwioo01hcBPS8m030dDBkBKOiP2sLGsMrHC/IQbDQ/Jm IKlO2tHut2m+WlXJknDYZjqse7UEvrKpz2BIiqRn9MGwGGTkCWSlX0C/NRHp1lvimjlK8fbENL9M0 iO2h6pC5RpexMQ==; Date: Sun, 27 Oct 2024 15:41:16 +0200 Message-Id: <86o7358xz7.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Gerd =?UTF-8?Q?M=C3=B6llmann?= on Sun, 27 Oct 2024 14:23:49 +0100) References: <86frsy684o.fsf@gnu.org> <86ttcx92k7.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Gerd Möllmann > Cc: Daniel Pettersson , 71763@debbugs.gnu.org > Date: Sun, 27 Oct 2024 14:23:49 +0100 > > > Thanks, but maybe Gerd (CCed) will agree to look at this? > > The struct draw_fringe_bitmap_params is not documented very well, so > I've looked at fringe.c for what its overlay_p member means. I landed in > draw_fringe_bitmap_1, where draw_fringe_bitmap_params::overlay_p is set > if that function is called with an overlay parameter that fits some > criterion, which one can try to figure out in its caller > draw_fringe_bitmap. It apparently has something to do with drawing a > cursor in a fringe, and then also drawing an overlay arrow. Thanks for taking a look. > Didn't even know until a few minutes ago that the cursor can land in > the fringe. See overflow-newline-into-fringe. It was added in Emacs 22 (and is ON by default, as you can see by typing enough characters on a line and ending the line with a newline, such that the last character before the newline fits completely on the screen line). > And I'm wondering if that ever happens in the left fringe, It can, if the window shows RTL text, which starts at the right edge of the window. > and/or if the overlay arrow appears only on the left. In an RTL buffer, the arrow should appear on the right. > Anyway. Assuming that I read the code correctly, that we are drawing a > cursor and overlay arrow on top of each other, then I think Daniel's > patch makes sense, because drawing the overlay arrow should not clear > under it and erase what was drawn for the cursor before. > > That's about what I could find out. NS should do something different if > overlay_p is set or not, I think that's for sure. And if Daniel says it > works, that's goog enough for me I guess. Thanks. If possible, can you also tell what the current code does wrong, that this patch fixes? From unknown Tue Aug 19 21:03:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71763: [PATCH] Inconsistency in bitmap overlay drawing for macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 27 Oct 2024 14:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71763 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 71763@debbugs.gnu.org, daniel@dpettersson.net Received: via spool by 71763-submit@debbugs.gnu.org id=B71763.173003791232652 (code B ref 71763); Sun, 27 Oct 2024 14:06:02 +0000 Received: (at 71763) by debbugs.gnu.org; 27 Oct 2024 14:05:12 +0000 Received: from localhost ([127.0.0.1]:45831 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t53tH-0008UZ-Ej for submit@debbugs.gnu.org; Sun, 27 Oct 2024 10:05:11 -0400 Received: from mail-wr1-f53.google.com ([209.85.221.53]:56468) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t53tF-0008UN-8z for 71763@debbugs.gnu.org; Sun, 27 Oct 2024 10:05:09 -0400 Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-37d4c482844so2305716f8f.0 for <71763@debbugs.gnu.org>; Sun, 27 Oct 2024 07:04:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730037814; x=1730642614; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=OweXQXkYs478fO3hTuF4pUugAWaraAdMkn8cJf2fbbY=; b=EgswUCIPKBrbrtmnd4ONyimT5FUt2AfVolQVbmPPDd8JsWilZ43BLTVGIkCbtrs9Pk qdUhtV6m5WZhEk6HGjKIIll0kRrol/0lnnxIZhb7QmHfNbr/o5ngjew9o3GjCsom0m9U b/jwDSGssls70UPPrKSnx5QPLD1u28Idn/Q4CWAZD3NsWrvPke/6Q/b+UIPS19cvLYKj S1VzhF35kCRVQ/B2ZgdKaFJ39eMqNBl/domAg96Feh2/yQ6LneCvwcYmLTD9h0JcYTwc E4M3bbUcGtzrBy0AU796CKqGUtij0e2XGMKun/vrKtomOv9bbX7DiwSfsRofxYeMwewe jjAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730037814; x=1730642614; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=OweXQXkYs478fO3hTuF4pUugAWaraAdMkn8cJf2fbbY=; b=VKzJ5C27cSQ2yrDnSEhoZeQOlg96k2N5XvpCRbY+wiHhYjjmKJaiXScHXAY7mpJGQl VC3yamfq+YwUsnfbgItUEvHp4BIbLi5BFSJbuO90HRMKqy0Tev0tZ/951Fc9LzgR5ZKL 67mNBV4WDmWzOyxSTFlaFsd4++YLyXgaVyeevm9Dtd+Yn6afXURuvNSPyC0mSGCQjHZn HtHXG6kWKE62xfC9ZPXQYdBSFsrjtZTsa0cjcIGGm17SUh4lGeX1xT4trJjFCI9ggvbU 8MZBwT1CbH1gHTLC405Jcz5r9i7+DBnTrpyJd6bBwcs+Z3FZyVJ+1bl1sex1Xaiae0MX kVUQ== X-Gm-Message-State: AOJu0YxYjRIQRDBdA7qovcP2Dos4c+w7fkIqVJMHx77KyzpGwwNA8hcO Pb++UuMzONW/L3Ywk0vyEPlkon2HJ7tuWw5+pQnNHrHG2aC5wDkzqldYtg== X-Google-Smtp-Source: AGHT+IEYLmIVyA/5+G/RoC8pKmLbQWq26ozlgO0tWAaUEbVOYE+yebAl3kylrU6l9WdCzAehuRF1ng== X-Received: by 2002:adf:a2d9:0:b0:37d:50f8:a801 with SMTP id ffacd0b85a97d-380611e1058mr3954389f8f.47.1730037813375; Sun, 27 Oct 2024 07:03:33 -0700 (PDT) Received: from pro2 (p4fe3a5dd.dip0.t-ipconnect.de. [79.227.165.221]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38058b92958sm6831341f8f.106.2024.10.27.07.03.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Oct 2024 07:03:32 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: <86o7358xz7.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 27 Oct 2024 15:41:16 +0200") References: <86frsy684o.fsf@gnu.org> <86ttcx92k7.fsf@gnu.org> <86o7358xz7.fsf@gnu.org> Date: Sun, 27 Oct 2024 15:03:32 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> Didn't even know until a few minutes ago that the cursor can land in >> the fringe. > > See overflow-newline-into-fringe. It was added in Emacs 22 (and is ON > by default, as you can see by typing enough characters on a line and > ending the line with a newline, such that the last character before > the newline fits completely on the screen line). Indeed, never noticed, thanks! > >> And I'm wondering if that ever happens in the left fringe, > > It can, if the window shows RTL text, which starts at the right edge > of the window. > >> and/or if the overlay arrow appears only on the left. > > In an RTL buffer, the arrow should appear on the right. Yeah, of course :-). > >> Anyway. Assuming that I read the code correctly, that we are drawing a >> cursor and overlay arrow on top of each other, then I think Daniel's >> patch makes sense, because drawing the overlay arrow should not clear >> under it and erase what was drawn for the cursor before. >> >> That's about what I could find out. NS should do something different if >> overlay_p is set or not, I think that's for sure. And if Daniel says it >> works, that's goog enough for me I guess. > > Thanks. If possible, can you also tell what the current code does > wrong, that this patch fixes? diff --git a/src/nsterm.m b/src/nsterm.m index 794630de1c1..fc9133071ed 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -2961,24 +2961,28 @@ Hide the window (X11 semantics) NSTRACE_MSG ("which:%d cursor:%d overlay:%d width:%d height:%d period:%d", p->which, p->cursor_p, p->overlay_p, p->wd, p->h, p->dh); - /* Work out the rectangle we will need to clear. */ - clearRect = NSMakeRect (p->x, p->y, p->wd, p->h); + /* Clear screen unless overlay. */ + if ( !p->overlay_p ) + { + /* Work out the rectangle we will need to clear. */ + clearRect = NSMakeRect (p->x, p->y, p->wd, p->h); If I read the diff correctly, this puts the clearing under the bitmap in an if-statement so that it is only done if we do not draw intentionally on top something drawn before. Right, Daniel? From unknown Tue Aug 19 21:03:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71763: [PATCH] Inconsistency in bitmap overlay drawing for macOS Resent-From: Daniel Pettersson Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 29 Oct 2024 20:00:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71763 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Gerd =?UTF-8?Q?M=C3=B6llmann?= Cc: 71763@debbugs.gnu.org, Eli Zaretskii Received: via spool by 71763-submit@debbugs.gnu.org id=B71763.173023197732631 (code B ref 71763); Tue, 29 Oct 2024 20:00:03 +0000 Received: (at 71763) by debbugs.gnu.org; 29 Oct 2024 19:59:37 +0000 Received: from localhost ([127.0.0.1]:58453 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5sNN-0008UF-25 for submit@debbugs.gnu.org; Tue, 29 Oct 2024 15:59:37 -0400 Received: from mail-lf1-f50.google.com ([209.85.167.50]:57666) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5sNK-0008U7-Rc for 71763@debbugs.gnu.org; Tue, 29 Oct 2024 15:59:35 -0400 Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-539e8607c2aso6038398e87.3 for <71763@debbugs.gnu.org>; Tue, 29 Oct 2024 12:59:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730231974; x=1730836774; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=TYjigiRvHMqYivMoauwSnggBPvi3pg1ptEKUrQbgDnw=; b=qOc6XoLA/9qgi3bLY2VyDggj/nFsY5orrgMwXuFFwXTqqELxNsYm0RMbhsSIkG/8Wr 2z/S5avKBlmlciJhcFWXzyejGUpb2Id8hpnOI/0ol8lsP2fnhXPs3+Sz6J9WCqas4lY4 vS3nkFL3Nwj75ZFaE/L3w/79NBMka0MoyKrHD0X4EY81AvWUlg77+e0WvvrfE4SNQOPh g0WaYVtvD8ZT+LOSFw78PMbAgKvSNJ2eJX3jmUhx+dZH3ptHiV56LTdQnxWuJHL9unfD d3FcrBqNesmBU3Ju58xIa206QZm1Y5UshPDxUsPv4o7skAMFVD1Z6aBGQTZj/If66puE E2cw== X-Forwarded-Encrypted: i=1; AJvYcCXvxFY7DIhikoM8KFV1NPWUGFoLKaFrFYuyN94fQd4W4BC/udIbsO9pvOkOWj1BNl26140aXA==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxUCq7j5AZC3EKzVEuM2eJEJqMVxe1HEDOSeQWAxgsbsjkYBYUu R980y17BxGx4sP7scDj+mXAq+GDhjs6k2K2ZAgPFh6dT+jGSIg2JGYxqhQ== X-Google-Smtp-Source: AGHT+IERAPIUWpC25J0U01yb9Pm9QCVddGkqupBBLnlgiqogf9+7VVQg4sqZQPDhFOm7sTVK6fV48Q== X-Received: by 2002:a05:6512:3c95:b0:539:ea66:597e with SMTP id 2adb3069b0e04-53b348b7e77mr5389629e87.2.1730231973521; Tue, 29 Oct 2024 12:59:33 -0700 (PDT) Received: from Daniels-Air (c-85-228-201-151.bbcust.telenor.se. [85.228.201.151]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-53bb81a5776sm40403e87.79.2024.10.29.12.59.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Oct 2024 12:59:32 -0700 (PDT) From: Daniel Pettersson In-Reply-To: ("Gerd =?UTF-8?Q?M=C3=B6llmann?="'s message of "Sun, 27 Oct 2024 15:03:32 +0100") References: <86frsy684o.fsf@gnu.org> <86ttcx92k7.fsf@gnu.org> <86o7358xz7.fsf@gnu.org> Date: Tue, 29 Oct 2024 20:59:32 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Gerd M=C3=B6llmann writes: > If I read the diff correctly, this puts the clearing under the bitmap in > an if-statement so that it is only done if we do not draw intentionally > on top something drawn before. > Right, Daniel? Yup, w/o this we clear fringe on draw when I we should keep it intact and draw over. The only example I found and the reason for this fix is that we clear fringe of overlays before drawing overlay-arrow. Such that breakpoint bitmap is removed when overlay-arrow is on the same line in gdb-mi.el. From unknown Tue Aug 19 21:03:09 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71763: [PATCH] Inconsistency in bitmap overlay drawing for macOS Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 30 Oct 2024 07:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71763 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Daniel Pettersson Cc: 71763@debbugs.gnu.org, Eli Zaretskii Received: via spool by 71763-submit@debbugs.gnu.org id=B71763.173027234522292 (code B ref 71763); Wed, 30 Oct 2024 07:13:02 +0000 Received: (at 71763) by debbugs.gnu.org; 30 Oct 2024 07:12:25 +0000 Received: from localhost ([127.0.0.1]:33583 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t62sS-0005nU-UU for submit@debbugs.gnu.org; Wed, 30 Oct 2024 03:12:25 -0400 Received: from mail-wm1-f43.google.com ([209.85.128.43]:48437) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t62sP-0005nO-Ty for 71763@debbugs.gnu.org; Wed, 30 Oct 2024 03:12:23 -0400 Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-43152b79d25so56608765e9.1 for <71763@debbugs.gnu.org>; Wed, 30 Oct 2024 00:12:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730272281; x=1730877081; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+hTVFMhDv4k61WyhITsAr8jHVXrDbS7r1d/b4Ri3QBw=; b=Y5mQoZtDkWXbTmKhZYohAKBUAv1AgeZ6BO3dR2BFAP/jYCir+8uhtqBj7F5wIHxeG1 vDJExX1k0gUvBgfp1Qin3BmtNV9hQyXEV3yWu+HM7+kPA3the870CznbkpoW2Nh2ro4/ lr40srU+FZlXkKSy4NR70KADtGn6u1ieDwSI0TmeppPRdXDqp4aQ9sDgrOBOub13SVvR HnEFMTS/KCrStAChTSPWFpVcMe900diSzBQKpt3Mvb3ajqsdywiAePkfbHckCHi/61TY gV8zm0keDjfHVedgmhzJZQjqCo1wN1FrAeyQuP5gJDQ8HGbLj7ryJkWynZw4Hzu6sNhO R6EQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730272281; x=1730877081; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=+hTVFMhDv4k61WyhITsAr8jHVXrDbS7r1d/b4Ri3QBw=; b=U9uXexKoHDvULO7cQrMEoFi01mSayFX4S4T+QvW83JGjJw2qa7RgCeK6GwlfKQnmnr r2mar86IlW117qYicMgBfG7CxBt7nhDyWE3ZrOkvLUYRyEzg06XojzHlDHHKC9tvAilV s6ADIKQcFn/UF8jjqsCD7wgIoNEP/1HaEe5GbxIlgcsB36BzeQGpbvFKqckI5CpVlU65 sP77HZyXfG1OR0frNpEQ/Eh7mFY/djfMNmvBHPRjFAxRcMojyX8Dg5oaJxQl1zBPbkjK p0CxHpJecuh7Bo3OjeBC54mXjYatR7l8ngxsxCq/Qk9wxVZk43W+Leb93pyuSZEBe388 pDFg== X-Forwarded-Encrypted: i=1; AJvYcCU6nsZIXJIPJ9f7P0ua6t0jQmAgYCgvLSbzMKwW7G5g0icHHSdP+bRaZpLpkjvAaF1RU6uQuA==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yx09lIloI+1tDn4kMAUEEkORqqlttElxIw9apqN0G01bZNDD56r rYlZi7LpOp4gIthFGeYet+Xk2uqTA3jwzWhUgD7a/BB570AcYA4eWUezMw== X-Google-Smtp-Source: AGHT+IEFOAZRyXsxzGeo68BOqRE3IpJCUs0yob/zGAr5+meBB8WaWZP7Qfoz2kezYJCAG4WVI3wptA== X-Received: by 2002:a05:600c:3b94:b0:431:4e3f:9dee with SMTP id 5b1f17b1804b1-4319ac7409amr109983235e9.4.1730272280604; Wed, 30 Oct 2024 00:11:20 -0700 (PDT) Received: from pro2 (p4fe3a430.dip0.t-ipconnect.de. [79.227.164.48]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-431bd94800csm11732355e9.15.2024.10.30.00.11.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Oct 2024 00:11:19 -0700 (PDT) From: Gerd =?UTF-8?Q?M=C3=B6llmann?= In-Reply-To: (Daniel Pettersson's message of "Tue, 29 Oct 2024 20:59:32 +0100") References: <86frsy684o.fsf@gnu.org> <86ttcx92k7.fsf@gnu.org> <86o7358xz7.fsf@gnu.org> Date: Wed, 30 Oct 2024 08:11:17 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Daniel Pettersson writes: > Gerd M=C3=B6llmann writes: > >> If I read the diff correctly, this puts the clearing under the bitmap in >> an if-statement so that it is only done if we do not draw intentionally >> on top something drawn before. > >> Right, Daniel? > > Yup, w/o this we clear fringe on draw when I we should keep it intact > and draw over. > > The only example I found and the reason for this fix is that we clear > fringe of overlays before drawing overlay-arrow. Such that breakpoint > bitmap is removed when overlay-arrow is on the same line in gdb-mi.el. >From my POV, it could be installed. Eli will decide that. From unknown Tue Aug 19 21:03:09 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Daniel Pettersson Subject: bug#71763: closed (Re: bug#71763: [PATCH] Inconsistency in bitmap overlay drawing for macOS) Message-ID: References: <86cyjdzxxi.fsf@gnu.org> X-Gnu-PR-Message: they-closed 71763 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 71763@debbugs.gnu.org Date: Sat, 02 Nov 2024 11:19:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1730546342-28638-1" This is a multi-part message in MIME format... ------------=_1730546342-28638-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #71763: [PATCH] Inconsistency in bitmap overlay drawing for macOS which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 71763@debbugs.gnu.org. --=20 71763: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D71763 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1730546342-28638-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 71763-done) by debbugs.gnu.org; 2 Nov 2024 11:18:30 +0000 Received: from localhost ([127.0.0.1]:53295 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t7C9G-0007Rc-1Q for submit@debbugs.gnu.org; Sat, 02 Nov 2024 07:18:30 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55248) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t7C9E-0007RS-7G for 71763-done@debbugs.gnu.org; Sat, 02 Nov 2024 07:18:29 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t7C98-0008DR-Dl; Sat, 02 Nov 2024 07:18:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=jHJQlS8vp1Jk6ynpqhWK4etxB0UidQgvsnlfcn4zn9k=; b=ofYwUghjvPMbA8wnY3Jt oy5OZy22AgTuHunNwUwqrhQipSVt463sDAKK9f3JmmrIRLFvig3l6K3tTCdFMTtC3cjjgljBrW/qG 16HWDLqX0KcDhKBcDBNz8peEMhudZuaxsZ+dqEuAKcpXcuWkBV9RGYQIqEc9jsDrP4Bl4BX/Bj+bk 2PQEEfmOELBkIH1qDc5qSt5b1IIgtrGg1bud3PH4mG3lYJJQws3iIiFqlP5pwVaAMe+vvX2O33LJR 3adOxaP6jcngrEHJATZPpnlYjtPrinpWHHW/djyNbsx3A0A/jZ5eEvHIAw0wUFxFCPf2Wmoy3f9JW RK7Zis8Z/NXzIw==; Date: Sat, 02 Nov 2024 13:18:17 +0200 Message-Id: <86cyjdzxxi.fsf@gnu.org> From: Eli Zaretskii To: Gerd =?utf-8?Q?M=C3=B6llmann?= In-Reply-To: (message from Gerd =?utf-8?Q?M?= =?utf-8?Q?=C3=B6llmann?= on Wed, 30 Oct 2024 08:11:17 +0100) Subject: Re: bug#71763: [PATCH] Inconsistency in bitmap overlay drawing for macOS References: <86frsy684o.fsf@gnu.org> <86ttcx92k7.fsf@gnu.org> <86o7358xz7.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71763-done Cc: 71763-done@debbugs.gnu.org, daniel@dpettersson.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Gerd Möllmann > Cc: Eli Zaretskii , 71763@debbugs.gnu.org > Date: Wed, 30 Oct 2024 08:11:17 +0100 > > Daniel Pettersson writes: > > > Gerd Möllmann writes: > > > >> If I read the diff correctly, this puts the clearing under the bitmap in > >> an if-statement so that it is only done if we do not draw intentionally > >> on top something drawn before. > > > >> Right, Daniel? > > > > Yup, w/o this we clear fringe on draw when I we should keep it intact > > and draw over. > > > > The only example I found and the reason for this fix is that we clear > > fringe of overlays before drawing overlay-arrow. Such that breakpoint > > bitmap is removed when overlay-arrow is on the same line in gdb-mi.el. > > >From my POV, it could be installed. Eli will decide that. OK, thanks. I installed this on the master branch, and I'm closing this bug. ------------=_1730546342-28638-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 24 Jun 2024 22:06:47 +0000 Received: from localhost ([127.0.0.1]:35756 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sLrpn-0007ob-5V for submit@debbugs.gnu.org; Mon, 24 Jun 2024 18:06:47 -0400 Received: from lists.gnu.org ([209.51.188.17]:51076) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sLrpl-0007oT-CQ for submit@debbugs.gnu.org; Mon, 24 Jun 2024 18:06:46 -0400 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 1sLrnd-0002Rq-T4 for bug-gnu-emacs@gnu.org; Mon, 24 Jun 2024 18:04:33 -0400 Received: from mail-lj1-f173.google.com ([209.85.208.173]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sLrnb-0004rG-Un for bug-gnu-emacs@gnu.org; Mon, 24 Jun 2024 18:04:33 -0400 Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-2ec52fbb50aso32254551fa.3 for ; Mon, 24 Jun 2024 15:04:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719266669; x=1719871469; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=shmTltRiX9vTur5qHfh86NnrJZsVHATlcnZOMk662j0=; b=r9CQdGpiL+9ABjVe9QlOd8jLEpbG81PwQ9FqijsSYC9MafBuAb6gIIGKyZMvbH3A+H eJIb8eXYR2yv6pGlD8adG4+Xyw1i0b0jXB0EJNYDIvLv85NNgqNDAYrp5Z2z62sQlv8Q RoT7dfmyIdBdMNJ7TsV0RDhLFAYRUzyJaJx8y3mu72nl6Gica5/J/91j03U3SsB9E5Gr wQXyVroHuDsZV6VyYpZjwEKvgY2XQkahDmDGbnp5ra/jXaq+Sf4PXgozf7sGqinVE5Ca eyS0hv4Iq7y5DqkrJp6TJChMq78VNmyiqXilSAitLH9du988CGMyeqvqc970lb78jtx5 1/YA== X-Gm-Message-State: AOJu0YzGf1Wal+ZFjvwbeA8kS0XRy3mbkKCyJXRToCn9O5qL62bJrm7z 3rb5k/dLfL05BIANXex2eyIU0t/8G/RiM90CORuSYoVjXTKdUYULZKp5SA== X-Google-Smtp-Source: AGHT+IHu44aM9RsADtrTlpietjXmBjKCkpsK5ZJvpA4/t2xujh7RIGZkp0UCO1a6H8GGls7Q9Wt4tw== X-Received: by 2002:a05:651c:152:b0:2ec:5785:ee97 with SMTP id 38308e7fff4ca-2ec5b36c1afmr38879041fa.53.1719266668741; Mon, 24 Jun 2024 15:04:28 -0700 (PDT) Received: from Daniels-Air (c-72cde455.027-357-6d6c6d4.bbcust.telenor.se. [85.228.205.114]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-2ec64af4afdsm2139601fa.55.2024.06.24.15.04.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Jun 2024 15:04:28 -0700 (PDT) From: Daniel Pettersson To: bug-gnu-emacs@gnu.org Subject: [PATCH] Inconsistency in bitmap overlay drawing for macOS X-Debbugs-Cc: Date: Tue, 25 Jun 2024 00:04:27 +0200 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=209.85.208.173; envelope-from=daniel.dpettersson.net@gmail.com; helo=mail-lj1-f173.google.com X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) --=-=-= Content-Type: text/plain On macOS overlay-arrow is not draw on top of bitmaps already present in the fringe, like its done on X Window System (src/xterm.c). This is to the detriment of gdb-mi.el where the overlay-arrow hides the breakpoint when they exist on the same row. It can be reproduced with the following: (require 'gdb-mi) (defvar overlay-arrow (make-marker)) (add-to-list 'overlay-arrow-variable-list 'overlay-arrow) (setq fringe-indicator-alist '((overlay-arrow . hollow-right-triangle))) (overlay-put (make-overlay (pos-bol) (1+ (pos-bol))) 'before-string (propertize " " 'display `(left-fringe breakpoint warning))) (move-marker overlay-arrow (pos-bol)) I expect that macOS is not using overlay_p param as intended as fixed by attached patch. But I was having an hard time finding any documentation proving my point other then the implementation of it's X Window System sibling in src/xterm.c. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Fix-inconsistency-in-bitmap-overlay-drawing-for-macO.patch >From 492a26a4296fc8a7558b488796840c22c977d75c Mon Sep 17 00:00:00 2001 From: Daniel Pettersson Date: Mon, 24 Jun 2024 23:16:59 +0200 Subject: [PATCH] Fix inconsistency in bitmap overlay drawing for macOS * src/nsterm.m (ns_draw_fringe_bitmap): Respect overlay_p by not clearing fringe if set, as its done in xterm. --- src/nsterm.m | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/nsterm.m b/src/nsterm.m index 794630de1c1..fc9133071ed 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -2961,24 +2961,28 @@ Hide the window (X11 semantics) NSTRACE_MSG ("which:%d cursor:%d overlay:%d width:%d height:%d period:%d", p->which, p->cursor_p, p->overlay_p, p->wd, p->h, p->dh); - /* Work out the rectangle we will need to clear. */ - clearRect = NSMakeRect (p->x, p->y, p->wd, p->h); + /* Clear screen unless overlay. */ + if ( !p->overlay_p ) + { + /* Work out the rectangle we will need to clear. */ + clearRect = NSMakeRect (p->x, p->y, p->wd, p->h); - if (p->bx >= 0 && !p->overlay_p) - clearRect = NSUnionRect (clearRect, NSMakeRect (p->bx, p->by, p->nx, p->ny)); + if ( p->bx >= 0 ) + clearRect = NSUnionRect (clearRect, NSMakeRect (p->bx, p->by, p->nx, p->ny)); - /* Handle partially visible rows. */ - clearRect = NSIntersectionRect (clearRect, rowRect); + /* Handle partially visible rows. */ + clearRect = NSIntersectionRect (clearRect, rowRect); - /* The visible portion of imageRect will always be contained within - clearRect. */ - ns_focus (f, &clearRect, 1); - if (! NSIsEmptyRect (clearRect)) - { - NSTRACE_RECT ("clearRect", clearRect); + /* The visible portion of imageRect will always be contained + within clearRect. */ + ns_focus (f, &clearRect, 1); + if ( !NSIsEmptyRect (clearRect) ) + { + NSTRACE_RECT ("clearRect", clearRect); - [[NSColor colorWithUnsignedLong:face->background] set]; - NSRectFill (clearRect); + [[NSColor colorWithUnsignedLong:face->background] set]; + NSRectFill (clearRect); + } } NSBezierPath *bmp = [fringe_bmp objectForKey:[NSNumber numberWithInt:p->which]]; -- 2.39.3 (Apple Git-145) --=-=-= Content-Type: text/plain In GNU Emacs 30.0.50 (build 1, aarch64-apple-darwin23.1.0, NS appkit-2487.20 Version 14.1.1 (Build 23B81)) of 2024-06-24 built on Daniels-Air Windowing system distributor 'Apple', version 10.3.2487 System Description: macOS 14.1.1 Configured using: 'configure --with-xwidgets' Configured features: ACL DBUS GLIB GNUTLS LCMS2 LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM XWIDGETS ZLIB --=-=-=-- ------------=_1730546342-28638-1--