Subject: 28.0.50; define-fringe-bitmap and emacs --daemon

From: Gregory Heytings <[email-masked]>
Date: Fri, 16 Apr 2021 22:22:35 +0000

When the init file contains define-fringe-bitmap that override default 
fringe bitmaps, they are ignored by Emacs when it is started as a daemon. 
This has stopped working at commit 88efc736f5, when Cairo became the 
default backend.

How to reproduce:

1. create a ~/.emacs file with:

(define-fringe-bitmap 'empty-line [ #xff ] nil nil '(top t))
(setq-default indicate-empty-lines t)

2. emacs ~/.emacs => the empty lines fringe bitmaps are displayed 
correctly, with a solid black column.

3. emacs --daemon

4. emacsclient -c ~/.emacs => the empty line fringe bitmaps are the 
default ones, which are 4x1 pixel horizontal black lines.

When the init file contains define-fringe-bitmap that do _not_ override 
default fringe bitmaps however, they are not ignored.  For example with

(define-fringe-bitmap 'solid [ #xff ] nil nil '(top t))

the "solid" fringe bitmap can be used in frames created by emacsclient -c.