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.