GNU bug report logs - #71763
[PATCH] Inconsistency in bitmap overlay drawing for macOS

Previous Next

Package: emacs;

Reported by: Daniel Pettersson <daniel <at> dpettersson.net>

Date: Mon, 24 Jun 2024 22:07:01 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 71763 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#71763; Package emacs. (Mon, 24 Jun 2024 22:07:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Daniel Pettersson <daniel <at> dpettersson.net>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 24 Jun 2024 22:07:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Daniel Pettersson <daniel <at> dpettersson.net>
To: bug-gnu-emacs <at> gnu.org
Subject: [PATCH] Inconsistency in bitmap overlay drawing for macOS
Date: Tue, 25 Jun 2024 00:04:27 +0200
[Message part 1 (text/plain, inline)]
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.

[0001-Fix-inconsistency-in-bitmap-overlay-drawing-for-macO.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
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

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#71763; Package emacs. (Thu, 27 Jun 2024 09:36:01 GMT) Full text and rfc822 format available.

Message #8 received at 71763 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Daniel Pettersson <daniel <at> dpettersson.net>
Cc: 71763 <at> debbugs.gnu.org
Subject: Re: bug#71763: [PATCH] Inconsistency in bitmap overlay drawing for
 macOS
Date: Thu, 27 Jun 2024 12:35:19 +0300
> From: Daniel Pettersson <daniel <at> dpettersson.net>
> 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?




This bug report was last modified 112 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.